तो, यह मुद्दा है।जावास्क्रिप्ट पूरी तरह से "सुरक्षित छेड़छाड़" चर
// Dangerous __hostObject that makes requests bypassing
// the same-origin policy exposed from other code.
(function(){
var danger = __hostObject;
})();
delete __hostOBject;
जानते हुए भी कोई स्क्रिप्ट छेड़छाड़ कर सकते हैं या उस तक पहुंच __hostObject
मैं पूरी तरह से सुरक्षित हूं:
मैं की तरह कुछ है?
(वे कर सकते हैं, तो मैं एक CSRF vulnerability या बुरा है।)
नोट 1: यह एक ब्राउज़र एक्सटेंशन के लिए है। मेरे पास पेज पर चल रही अन्य स्क्रिप्ट की तुलना में बेहतर हुक है। मैं उनके सामने निष्पादित करता हूं और मुझे लोड होने से पहले भी किया जाता है।
नोट 2: मुझे पता है कि सामान्य रूप से स्क्रिप्ट के लिए यह कई बार पूछा गया है। मैं सोच रहा हूं कि यह संभव है अगर मुझे पता है कि से पहले किसी अन्य स्क्रिप्ट को लोड करता है।
मैं एक [नमूना कोड] लिखा है (http://jsfiddle.net/35G8e/2/) जो अधिलेखित कर देता है 'Function.prototype पुन: लोड .call'। (अगर आप वास्तव में सोचते हैं कि मैं दुर्भावनापूर्ण देवताओं की मदद कर रहा हूं तो इस पोस्ट को ध्वजांकित करने के लिए स्वतंत्र महसूस करें। मेरी राय में, अंतिम हमलावर इन तकनीकों को वैसे भी जानते होंगे।) – ComFreek
@ कॉमफ्रीक आप 'पुरानी कॉल' के परिणाम को वापस लौटाना भूल गए हैं। लेकिन वास्तव में, यह सामान्य सिद्धांत है जो बंदर-पैच (अंतर्निहित) जावास्क्रिप्ट विधियों के लिए उपयोग किया जाता है। –