Итак, вот в чем проблема.JavaScript полностью «несанкционированный» переменные
У меня есть что-то вроде:
// Dangerous __hostObject that makes requests bypassing
// the same-origin policy exposed from other code.
(function(){
var danger = __hostObject;
})();
delete __hostOBject;
Am Я совершенно безопасно, зная, ни один скрипт не может подделать или получить доступ __hostObject
?
(если они могут, у меня есть CSRF vulnerability или хуже.)
Примечание 1: Это для расширения браузера. У меня лучшие перехватчики, чем другие скрипты, запущенные на странице. Я выполняю перед ними, и я закончил, прежде чем они даже загрузились.
Примечание 2: Я знаю, что это было задано несколько раз для скриптов в целом. Мне интересно, если это возможно, если я знаю, что загружаю до любых других скриптов.
Я написал [пример кода] (http://jsfiddle.net/35G8e/2/), который переписывает 'Function.prototype .call'. (Не стесняйтесь отмечать этот пост, если вы действительно думаете, что я помогаю вредоносным разработчикам. По-моему, потенциальные злоумышленники все равно будут знать эти методы.) – ComFreek
@ComFreek Вы забыли «вернуть» результат «oldCall». Но на самом деле, это общий принцип, используемый для использования JavaScript-меток monkey-patch (встроенный). –