Безопасно ли получать пользовательские данные с кодом eval ("\ $ name = \" $ input \ ";"), где $ input получает от пользователя? - PullRequest
0 голосов
/ 28 сентября 2018
$input = $_GET['name'];
eval("\$name= \"$input\";");

Или это небезопасно?Благодарю.Без каких-либо php-функций, таких как preg_replace или каких-либо других, просто работайте с пользовательскими данными в виде строкового типа с \ "при переводе их в функцию eval.

1 Ответ

0 голосов
/ 28 сентября 2018

Это в основном позволит пользователю вводить произвольный код в ваше приложение.Подумайте что-нибудь в строке

$input=";mysql_query(\"DROP TABLE users\")"

Кроме того, eval делает невозможным кэширование чего-либо, но это незначительное последствие.

...