abort-on-property-read
The abort-on-property-read
snippet patches a property on the window object that aborts execution when the property is read. No error gets printed to the console.
You can use this snippet to abort the execution of inline scripts.
Only use this snippet for read properties. Place it just inside the script you want to abort, otherwise, an error will be thrown.
Parameters
property
The name of the property or path to the property. If the property is a direct child of window
, this parameter will be the property name. If you want to access a sub property, though, this parameter becomes a chain of properties separated by dots.
Yes
setConfigurable
Value of the configurable attribute of the descriptor of property. If this parameter is not used it defaults to true. Setting it to false will prevent the property set and get being overwritten or otherwise changed by anybody. If this snippet doesn't work as expected when passing only the property, it could mean that the website is circumventing and setting this parameter to false can come in handy.
No
Filter examples
The following table lists examples that use the abort-on-property-read
snippet:
abort-on-property-read atob
The code that reads/calls the atob
global function throws an exception.
abort-on-property-read adHandler.cmd.push
The code that reads/calls the push
function throws an exception.
This function is a property of cmd
, which is a property of the adHandler
global object.
abort-on-property-read Object.prototype.adfoxCode
The code that reads/calls the adfoxCode
property throws an exception.
This example shows that you can attach the filter to prototype
properties as well.
Debugging
The following table contains error messages you'll find useful during debugging:
no property to abort on read
At the beginning of snippet execution
No property
parameter was passed to the snippet.
<property> access aborted
Each time the property is read, right before throwing the error
The error is about to be thrown.
aborting on <property> access
Right before attaching to the property
This log is printed just before the snippet takes over the property getter OR setter.
Tradeoffs
Keep the following tradeoffs in mind when you use the abort-on-property-read
snippet:
The snippet is executed after all a page's inline scripts. As a result, you should only attach properties read inside of a callback, which can be executed after the script.
You can only attach this snippet to global properties, or properties of the
window
object.
Last updated