2017-03-17 108 views
0

我有兩個運行在IIS Express中的ASP.NET網站,其中包含不同端口的localhost。我正在使用FormsAuthentication來記住通過cookie登錄。但是,當我登錄或註銷一個網站時,它會影響其他網站,因此它們似乎共享相同的Cookie。ASP.NET Cookie在兩個站點之間錯誤地共享

這是一個常見問題,還是我可以調整一些東西來避免這種情況?

+2

cookie不會與給定端口隔離。參見[http cookie特定端口](http://stackoverflow.com/questions/1612177/are-http-cookies-port-specific) – cobolstinks

回答

0

http cookie不是與給定端口隔離的。 Are HTTP cookies port specific?

瀏覽器將基於域發送cookie,不考慮端口。

由於歷史原因,cookie包含一些安全性和 隱私不足之處。例如,服務器可以指示某個給定的Cookie用於「安全」連接,但安全屬性 不存在活動網絡 攻擊者的情況下提供的完整性。同樣,即使Web瀏覽器使用通常的「同源策略」 隔離通過不同端口檢索到的內容,該主機端口上的所有主機端口也會共享給定主機的Cookie。

如果您想將該cookie限制到同一個域中的應用程序,則需要將cookie設置爲特定於虛擬目錄。像cookie.domain ='yourdomain/appRootUrl /'。