PHP,Linux,Apache:基于用户输入命名文件

时间:2013-10-27 15:38:59

标签: php linux apache security operating-system

人们怎么了? 所以我的问题很简单:我的应用程序从用户那里收到文件的名称为$ _POST ['fieldname'],然后在服务器上的文件夹中创建文件,或者在另一种情况下使用$ _POST ['fieldname']返回文件的路径,如果文件存在。所以,这样安全吗?! 谢谢你们!

1 个答案:

答案 0 :(得分:0)

答案是,这取决于您围绕文件系统访问设置安全性的程度以及如何提供文件。如果您只允许他们将信息发送到特定文件夹并且您正在清理输入,那么您可以没问题。这是more info on basic filesystem security from php.net。但是,您要确保它们不能在文件中使用php代码并直接执行它们。一个很好的选择是not allow any execution from that folder using .htaccess

然而,正如对php.net链接的最高评论所说,你应该考虑不要让你的用户命名文件,你应该考虑尽可能多地存储在数据库中。