大家怎么了? 所以我的问题很简单:我的应用程序从用户接收文件名作为 $_POST['fieldname'] ,然后在服务器上的文件夹中创建文件,或者在另一种情况下使用 $_POST['fieldname'] 返回文件的路径(如果文件存在)。那么,安全吗? 谢谢你们!
最佳答案
答案是,这取决于您如何设置文件系统访问的安全性以及如何提供文件。如果您只允许他们将信息发送到特定文件夹并且您正在清理输入,则可能没问题。这是more info on basic filesystem security from php.net 。但是您要确保它们不能在文件中编写 php 代码并直接执行它们。一个不错的选择是 not allow any execution from that folder using .htaccess .
但是,正如该 php.net 链接上的顶部评论所说,您确实应该考虑不要让您的用户命名文件,并且您应该考虑尝试在数据库中存储尽可能多的内容。
关于PHP、Linux、 Apache : naming file based on user input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19619887/