Je fais une analyse de Javascript et je veux garder javascript activé, mais désactiver toutes les zones alert() et les redirections self.location.Ecraser des méthodes natives en Javascript
Actuellement, j'utilise un proxy regex, mais cela semble être excessif.
Je peux passer outre certaines méthodes natives mais pas d'autres dans Firefox par exemple
window.alert = function('') { return null; }
alert('test!') // works as expected
Cependant lorsque je tente de remplacer de la même window.location = (ce qui est un alias pour l'appel de méthode window.assign()) il ne fonctionne pas
window.location.assign = function('') { return null; }
window.location.assign('#') // redirects :(
J'ai essayé d'installer Window.prototype.location.assign mais je reçois une exception « Impossible de modifier les propriétés d'un WrappedNative ».
Toute alternative à NoScript pour un contrôle JS affiné, ou est-il possible d'écraser certaines méthodes JS natives?
Pourquoi voudriez-vous pouvoir faire ceci? J'ai vu l'alerte et confirmé écrasé pour créer des boîtes de dialogue personnalisées, mais pourquoi remplacer l'emplacement? – Prestaul
travailler avec un code malveillant –