我需要处理不可信的输入,这些输入将被写入由服务器config.php
执行的文件中,如下所示:
$config['key'] = "Value";
我想这样做,以便用户可以提交一个写config.php
的表单。将此值存储在数据库中显然更有意义,但我不能这样做,因为这是一个遗留系统。
我找到了函数addslashes
和serialize
,但我不确定它们是否对此用例是安全的。我也可以使用hex2bin/bin2hex
。
我想到的另一个黑客是使用HEREDOCs:
$x = <<<PASSWORD
untrusted input here" echo "BOOM!";
PASSWORD;
如果无法更改配置变量的存储方式,在这种情况下,最好的方法是什么?
答案 0 :(得分:1)
Base64的内容。任何base64'ed都不可能是有效的PHP代码