我目前在将文件上传到文件名中包含撇号的服务器时遇到问题。例如O'Connell.doc当文件名中没有撇号时,表单可以正常工作。使用撇号时,我收到500内部服务器错误。它得到form.php?p = apply似乎提交表单然后立即失败。任何想法在哪里看? 谢谢!
答案 0 :(得分:1)
刚刚跳到这里,我遇到了类似的问题,原来我的托管/服务器激活了“mod_security”,默认阻止了该文件。我正在寻找一个在处理之前重写文件名的解决方案,似乎需要禁用或者mod_security。
答案 1 :(得分:0)
听起来你的表格容易受到Code Injection攻击。正在处理文件时解释撇号,然后您从该失败中获得某种错误。
所有用户输入都需要对所有将要通过的解释器进行清理。理想的是,用户输入永远不会被解释,只能被存储或调用。因此,不要在输入上调用shell,而是在所需的确切可执行文件和参数上使用exec或其他东西。