I'm aware similar questions have been asked before, but my use-case is a little different.
I'd like to create an educational app similar to LeetCode, CodeWars, etc. where users can type in their own functions to solve algorithms.
Right now, I'm focusing on JavaScript, so the code could be evaluated on client-side.
I want to know, what considerations should I take into account to use eval()
and new Function()
safely?
Or is there a better alternative?
Luckily you're not alone, and someone invented the wheel before you. You can check out NeilFraser/JS-Interpreter or sandbox.
There may be even better documented/implemented solutions that I'm not aware of, but it's a good start.