2010-01-24 147 views

回答

1

最好的方法是确保您的上传目录不在您的webroot中。只要网络服务器具有读/写访问权限,您就可以正常使用 - 不用担心可执行文件上传。这被讨论了here on stackoverflow

+0

+1对于一个很好的答案...最好的方式(好,至少和在webroot下无法上传一样好)可能会完全禁用该目录下的php。这种解释如何(足以去查看文档中的更多细节):http://www.faqts.com/knowledge_base/view.phtml/aid/128/fid/35 – Fredrik 2010-01-24 16:39:56

1

最好的办法是在上传时验证文件的扩展名。如果它不是jpg/png/gif/etc,请关闭它。只要你的网络服务器没有错误地将任何文件解释为一个PHP文件,那么采用这种方法你就不会受到伤害,只需很少的头痛和很简单的实现。

-3

我认为,如果你不检查上传的文件类型,这可能是危险的,例如, “黑客”上传一个php文件,删除所有的httpdocs文件,或者人们可以上传到许多或大文件。

0

只有让用户上传任何他们想要的东西时,它才是危险的。只允许决定是安全的,你不需要阻止任何东西。

1

检查正在上传的文件是否具有良性扩展名(.gif,.mp3等) - 并垃圾其他内容。对于额外的sekrit保护,将文件的原始名称捕获到数据库中(以备将来参考),然后对文件名进行加密(并将其保存)。这样,上传者就无法通过文件名找到上传的内容。

+0

这不会是那么好一种方法来做到这一点。正如我可以创建我想要的并将其另存为.mp3文件一样......然而,您的第二个建议非常聪明。 – Joe 2010-01-24 17:16:33

+0

如果使用mp3扩展名将其上传到服务器,则服务器在再次调用服务器时不会执行它 - 并且使用加密,这种方式无关紧要。 – 2010-01-25 21:13:43

相关问题