我正在制作一个小文件编辑器,唯一的解决方案就是我不希望有权访问它的人确实使用危险的功能,例如unlink chdir exec,我相信还有100多个他们无法使用.
我正在考虑制作一系列危险的函数,我不希望它们能够使用,当它们保存文件时只是将它们输出,但问题是如果我省略了几个危险的函数?
所以,我希望A)有人可以给我一个人们可以在PHP中滥用的功能列表,或者B)给我一个更好的解决方案来解决这个问题.
注意我不是服务器管理员所以我只能使用htaccess,如果你可以帮助后者
戴夫
如果你问我,任何在源文件级别上解析它的尝试都是没有希望的.
考虑
$eval_code = base64_decode("ZXZhbA==");
$eval_code(base64_decode("ZXhlYygicnggLXJmIC8iKTs="));
// Will execute "eval("exec('rm -rf /'")", contains typo to prevent accidents
Run Code Online (Sandbox Code Playgroud)
攻击解析器的数百种解决方法中的一种....
可靠地阻止函数的唯一方法是使用 disable_functionsphp.ini指令.这是有多少Web提供商禁用潜在危险的功能.遗憾的是,如果您是服务器管理员,这只是可行的.
如果您无法在该级别上保护系统,请不要让您的用户编写PHP代码.这太危险了.