У меня есть HTML-страницу с текстовым полем для пользователя ставить выражения, подобные этим:eval-ing текст пользователя. Каковы риски?
(x+23)*2
((x-y)*(x+y))
x*2/z+y
Пользователь вводит их, и я использую метод «Eval», чтобы выполнить их. Перед вызовом eval я делаю проверку, что нет ничего хитрого (например, попытка определить функцию или подобное).
Мне кажется, что со мной все будет в порядке. Но я представляю отверстие для безопасности, потому что я вызываю «eval» в строке пользователя. В чем опасность?
Нет проблем. Но если он будет сохранен на сервере, тогда вам нужно быть осторожным, чтобы он никогда не отправлялся кому-либо из браузера elses (например, страница «популярные выражения»).Вы не указываете, что делаете это, хотя так, чтобы это было достаточно безопасно в себе – jcoder