簡體   English   中英

從服務器收到的Cookie是安全的,但是發送到服務器的Cookie是不安全的ASP.NET

[英]Cookies received from Server is Secure But Cookies sent to Server is not secure ASP.NET

在我的ASP.NET Web應用程序中,通過將以下條目添加到web.config中,我進行了以下更改以使ASP.NET_SessionID和.ASPXAUTH Cookies安全。

<httpCookies httpOnlyCookies="true" requireSSL="true" />

並添加以下標簽

<forms requireSSL ="true" /> 

但是我的問題是,從服務器接收的Cookies(網絡-> Cookies->方向列的值為接收)將Secure和HttpOonly標志設置為true。 我在使用IE 11 Developer工具進行調試時找到了信息,但是發送到Server(網絡-> Cookies->方向列的值為“已發送”)的cookie數據沒有將任何Secure或HttpOnly標志設置為true。

這是默認行為嗎? 如果是這樣,為什么發送到服務器的數據沒有設置Secure和HttpOnly標志? 除了以上對配置文件所做的更改外,如何設置它。

Cookie標志(例如Secure和HttpOnly)僅從服務器發送到客戶端。 您將再也看不到他們的流量了。 如果要確保cookie是安全的,請讓瀏覽器通過HTTP(而不是HTTPS)發出請求,並查看cookie是否仍然存在(不應存在)。 如果要確保cookie是HttpOnly,請在瀏覽器中打開您的站點,然后使用開發工具中的JS控制台檢查document.cookie的值。 您應該會看到所有非httponly cookie,但沒有httponly cookie。

Cookies本質上是客戶端。 它們是服務器告訴客戶端“每次您向我發送請求時,都包括此信息”的一種方式。 Secure標志修改為說“每次您通過安全連接向我發送請求時,都包含此信息(但永遠不要在不安全的連接上泄露它)”。 合格的用戶代理(即Web瀏覽器)應該遵守這些指令。 但是,沒有其他等效的指令。 服務器不必對客戶端發送的Cookie進行任何處理,也沒有“客戶端在服務器上設置Cookie”的等效方法,即服務器可以在客戶端上設置Cookie的方式。 指令(包括Secure,HttpOnly,Domain,Expires等)僅在設置 Cookie時使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM