使用代码eval(“ \ $ name = \” $ input \“;”)获取用户数据是否安全,其中$ input从用户那里获取?

时间:2018-09-28 17:41:16

标签: php eval user-input code-injection

$input = $_GET['name'];
eval("\$name= \"$input\";");

还是不安全?谢谢。如果没有任何PHP函数(例如preg_replace或其他函数),则将用户数据作为字符串类型使用\“放在eval函数中时就可以使用。

1 个答案:

答案 0 :(得分:2)

这基本上将允许用户向您的应用程序中注入任意代码。考虑

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

而且eval使得基本上不可能缓存任何东西,但这是次要的结果。