【问题标题】:php form post content 403 errorphp表单发布内容403错误
【发布时间】:2012-07-09 01:23:48
【问题描述】:

我网站上的一位用户最近提醒我注意,如果他们在我网站上的任何表单上提交此内容,都会返回 403 错误。

make a <hr> add this css to it hr{border:none; border-top:1px solid #000; background:none; height:1px; width:yourwidth;}

这是表单处理的背景(不是网站上使用的实际代码)。

<?php


if (isset($_POST['test'])) {

echo htmlspecialchars($_POST['content']);

}

?>

<form action = "" method = "post">

<textarea name = "content"></textarea>
<input type = "submit" name = "test"/>

</form>

只要上面的文本没有提交到表单中,一切都可以正常工作。

我尝试将 htmlspecialchars 更改为 htmlentities,strip_tags 任何我能想到的东西,但它仍然返回 403 错误。如何防止这个 403 错误?

【问题讨论】:

  • 哪个网络服务器触发了该错误?您提供的代码可以重现此行为吗? 403 错误是“禁止”访问错误,我宁愿检查您的服务器配置并仔细检查错误日志是否有任何有趣的内容。

标签: php html forms http-status-code-403


【解决方案1】:

我试试你的代码。一切似乎都很好。您是否尝试删除 textarea 中的某些部分内容以查看哪个部分会导致此错误?请注意,403 是当用户请求服务器不允许他们访问的网页或媒体时,Web 服务器返回的 HTTP 状态代码。

您还可以询问您的托管服务提供商,他们是否有一个安全模块拒绝输入,因为它认为这是企图执行攻击。

另外:您是否尝试将文本区域的名称更改为“内容”以外的名称。

【讨论】:

  • 对我来说,这是要更改的输入的名称。
【解决方案2】:

我知道这是一个老问题,但我发现有时使用 POST 方法的 html 表单会返回 403 错误,而如果我将方法更改为 GET,则相同的表单提交工作。

【讨论】:

    【解决方案3】:

    如果可以访问服务器,请使用不超过 $_SERVER['CONTENT_LENGTH'] 或增加 php.ini post_max_size 的帖子

    【讨论】:

      猜你喜欢
      • 2012-12-24
      • 2016-07-25
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多