Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在这种情况下,我可以使用eval函数吗?_Php_Eval - Fatal编程技术网

Php 在这种情况下,我可以使用eval函数吗?

Php 在这种情况下,我可以使用eval函数吗?,php,eval,Php,Eval,如何获得以下代码以打印出aaa.bbb.ccc?? 目前,我得到的只是每个eval()行的一个解析错误。 这是一个抽象代码版本。最后,我希望用户能够选择要搜索的数据库表的字段。类似于 如果(strpos(“$field1.$field2.$field3”,$search)!==false) 要修复当前代码,请更改以下内容: $filter = "\$x=\$a.\$b.\$c"; 到 但是在用户输入上使用eval()是代码中的一个大安全漏洞。尝试一些不同的方法,例如使用正则表达式和preg\u

如何获得以下代码以打印出aaa.bbb.ccc?? 目前,我得到的只是每个eval()行的一个解析错误。 这是一个抽象代码版本。最后,我希望用户能够选择要搜索的数据库表的字段。类似于 如果(strpos(“$field1.$field2.$field3”,$search)!==false)


要修复当前代码,请更改以下内容:

$filter = "\$x=\$a.\$b.\$c";


但是在用户输入上使用
eval()
是代码中的一个大安全漏洞。尝试一些不同的方法,例如使用正则表达式和
preg\u match\u all()
函数检查
\$search
中是否存在输入。

为什么要使用
\$x
?第二个-
eval
是邪恶的。我发现了我的简单错误:我忘记了“;”$筛选器必须为“\$x=\$a.\$b.\$c;”;我必须转义$x,否则将使用$x的内容,它将不是eval()的表达式,为什么串联需要
eval
<代码>$x=$a$b$c
$filter = "\$x=\$a.\$b.\$c";
$filter = '$x=$a.$b.$c;';