I am currently working on a stripped down sandbox for people to write JavaScript in. I do not want users to have features like Reflect.defineProperty, eval or WebAssembly.Module.
Currently the way I go about this is by going over this, and disabling the objects manually. i.e.
globalThis = {};
eval = () => {};
etc..
I want to disable all default JavaScript features and manually re-enable/add them back when I need them. How do I go about this?
I didn't know you can override default functions like this. Nice.
var original = alert;
alert = function (str) {
console.log(str)
}
alert(13)
// afterwards
alert = original;
alert(12)