我目前在将文件上传到文件名中带有撇号的服务器时遇到问题。例如 O'Connell.doc 当文件名中没有撇号时,该表单可以完美运行。使用撇号时出现 500 内部服务器错误。它得到了 form.php?p=apply 好像表单被提交然后立即失败。任何想法在哪里看?谢谢!
问问题
4195 次
2 回答
3
刚跳到这里,我遇到了类似的问题,原来我的主机/服务器激活了“mod_security”,默认情况下阻止了文件。我正在寻找一种在处理之前重写文件名的解决方案,似乎需要禁用该文件名或 mod_security 。
于 2013-10-25T17:31:11.587 回答
0
听起来您的表单很容易受到代码注入攻击。处理文件时正在解释撇号,然后您会从该失败中得到某种错误。
所有用户输入都需要经过所有口译员的过滤。理想的情况是用户输入永远不会被解释,只会被存储或调用。因此,不要在输入上调用 shell,而是在您想要的确切可执行文件和参数上使用 exec 或其他东西。
于 2013-08-26T19:30:09.133 回答