簡體   English   中英

安全地覆蓋Google Chrome擴展程序中的document.cookie

[英]Safely overriding document.cookie in Google Chrome extension

我試圖在我的Chrome擴展程序中覆蓋document.cookie,並且我在同時使用原始document.cookie功能時遇到了很多麻煩。 目前我有這個:

var _cookie = document.cookie; 
document.__defineSetter__("cookie", function(the_cookie) {_cookie=the_cookie;} );
document.__defineGetter__("cookie", function() {return _cookie;} );

我正在使用此處的技術從內容腳本中注入JS。

我看到的行為是我的重新定義的setter和getter被調用,但原始函數不再有效。 例如,我可以使用開發人員工具檢查_cookie和document.cookie,看看它們是否具有相同的預期值,但Chrome的cookie商店中沒有任何Cookie。

任何人都可以告訴我我是如何打破原始document.cookie功能的? document.cookie是一個屬性的問題,所以我實際上並沒有獲得指向原始setter的指針?

var _cookie = document.cookie; 沒有保存cookie的原始getter和setter,它只是調用getter並保存結果。

這個頁面原始鏈接 ,現在已經破了)有一個如何保存cookie setter和getter的例子:

var cookie_setter = document.__lookupSetter__ ('cookie');
var cookie_getter = document.__lookupGetter__ ('cookie');

您已經重新定義了orignal cookie getter和setter函數,並且您可能有可能忘記了新函數中原始函數的重要部分或實現

暫無
暫無

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

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