2012-02-20 74 views
2

一個cookie如果我使用的代碼刪除使用Javascript

var a = 'jn=900; expires=Fri, 27 Jul 2013 02:47:11 UTC; path=/'; 

document.cookie = a; 

設置cookie那麼可以肯定的是document.cookie = 'jn=900; expires=Fri, 27 Jul 1999 02:47:11 UTC; path=/';將刪除cookie。

是否需要設置用於設置Cookie的所有屬性以刪除Cookie?

即,不管document.cookie = 'jn=900; expires=Fri, 27 Jul 1999 02:47:11 UTC;'是否足以刪除上面顯示的cookie,還是應該指定用於設置cookie的路徑?

假設可以在我刪除cookie的頁面中訪問cookie。

也有可能使用Javascript刪除PHP設置的cookie嗎?

回答

3

這是一個很好的做法,可以設置路徑以避免像在不同域(www.domain.com而不是domain.com)上由錯誤設置的Cookie問題。

關於第二個問題,答案是肯定的,如果沒有標記爲HttpOnly,則可以使用Javascript訪問並刪除由PHP創建的Cookie。

The HttpOnly attribute directs browsers to use cookies via the HTTP protocol only. An HttpOnly cookie is not accessible via non-HTTP methods, such as calls via JavaScript (e.g., referencing "document.cookie"), and therefore cannot be stolen easily via cross-site scripting (a pervasive attack technique[27]). As shown in previous examples, both Facebook and Google use the HttpOnly attribute extensively.

http://en.wikipedia.org/wiki/HTTP_cookie#HttpOnly_cookie