2010-10-26 48 views
0

我正在做一个小文件编辑器和唯一的踢球者是我不希望有权访问它的人使用危险的功能,如unlink chdir我确信还有100多人他们无法使用。我可以限制PHP只是它的文件(停止滥用?)

我正在考虑制作一系列危险的功能,我不希望它们能够使用它们,并且只要将它们保存起来就可以将它们保存起来,但是如果我忽略了几个危险功能?

因此,我希望A)有人可以给我一个人们可以在PHP中滥用的函数列表,或者B)给我一个更好的解决方案来解决这个问题。

注意我不是服务器管理员所以我只能够使用htaccess的,如果你能与后者

戴夫

+0

我不明白文件编辑器与PHP函数调用的关系。你是否以某种方式执行用户输入的代码? – casablanca 2010-10-26 20:20:16

+0

@casablanca:如果用户编辑一个PHP文件,他可能会稍后执行它(通过访问它)。因此这个漏洞。 – You 2010-10-26 20:24:13

+0

所以..你正在做一个PHP文件编辑器..为什么?这个灾难已经写满了。如果你正在制作一个html编辑器,那么就不要评估它。 – NotMe 2010-10-26 21:46:09

回答

6

帮助,如果你问我,任何企图出来解析此源文件级别是无望的。

考虑

$eval_code = base64_decode("ZXZhbA=="); 
$eval_code(base64_decode("ZXhlYygicnggLXJmIC8iKTs=")); 
// Will execute "eval("exec('rm -rf /'")", contains typo to prevent accidents 

只是数百个变通办法欺骗解析器之一....

阻止功能,可靠地使用disable_functions php.ini指令的唯一方法。这是多少Web供应商禁用潜在的危险功能。可悲的是,如果你是服务器管理员,这只能称心如意。

如果您无法保护您的系统,请不要让您的用户编写PHP代码。这太危险了。

1

不要让您的用户编写可执行的PHP代码。如果他们必须能够编写脚本,给他们一些你解析的模板语言。

0

正如其他人所说,我强烈建议不要这样做。但是,如果您需要受限制的环境,则可以创建sandbox

相关问题