发布表单元素值以http://开头

时间:2013-09-08 19:47:50

标签: php html forms

我创建了一个PHP脚本,并使用vertrigo在localhost上进行了测试。它工作正常。我把它上传到我的网络托管服务器上,它不在那里工作。它有一个使用PHP处理的HTML表单。当我提交表单时,浏览器会显示以下错误消息:

  

禁止

     

您无权访问此服务器上的/jobs2/abc.php。

     

此外,尝试时遇到404 Not Found错误   使用ErrorDocument来处理请求。

这是HTML表单代码,它不起作用:

<form name="jobslist" method="POST" action="abc.php">
   <input type="text" name="job[0]" value="http://example.com/1.html" />
   <input type="text" name="job[1]" value="http://example.com/2.html" />
   <input type="submit" value="Submit"  />
</form>

我已经通过在表单元素的值之前删除 http:// 来更正它,并且它运行正常。

<form name="jobslist" method="POST" action="abc.php">
   <input type="text" name="job[0]" value="example.com/1.html" />
   <input type="text" name="job[1]" value="example.com/2.html" />
   <input type="submit" value="Submit"  />
</form>
  • 我想知道,如何在没有的情况下使第一个代码正常运行 删除表单元素值中的 http://
  • 其次,我也想知道,为什么服务器不接受以 http:// 开头的值?

1 个答案:

答案 0 :(得分:0)

此类错误可能是由服务器端模块引起的,如mod_securitymod_rpaf或任何其他WAF(Web应用程序防火墙,例如在反向代理中)。 您可以使用apache2ctl -M列出已启用的模块。

如果您没有看到任何可疑模块,可以尝试php -m并在那里查看...

如果mod_security有罪,你应该在文件/var/log/apache2/modsec_audit.log

中看到信息