2014-02-06 24 views

回答

0

由於Cookie是客戶端的一項功能,因此總有一種方法可以篡改它。您必須將它們與服務器端的會話一起使用。這樣您就可以檢測到Cookie被篡改的時間。

這與extjs無關,但通常適用於cookie。

+0

感謝@LorenzMeyer的照顧。你說得對,如果話題是安全的話,那就沒有保證。當然,服務器端是cookie管理的真正場所;但正如我們所做的那樣,我們偶爾會在Cookie中存儲一些信息。至少我不希望它被像setCookie('x','y')'這樣的簡單命令改變。 – talha06

1

我相信,這將最終與ECMAScript中6的const功能,這是在Firefox和Chrome瀏覽器新版本支持解決(如果啓用實驗性JavaScript):

const cookie = "username=David;"; 
cookie = "username=Lincoln;"; 
console.log(cookie); // returns "username=David;" 

但除了等待那,如果你的Cookie是一個對象,你可以使用Object.freeze,這是非常漂亮:

var cookie = {cookie: 'username=David;'}; 
Object.freeze(cookie); 
cookie.cookie = 'username=Lincoln;'; // returns "username=Lincoln;" 
console.log(cookie.cookie); // returns "username=David;" 

不幸的是,cookie對象可以覆蓋,但它至少對簡單的攻擊保護。

+0

我所做的只是讓cookie被更改爲** 1次**。我通過它的價值實現了它;它應該是'null(undefined)'以設置新的值。 – talha06