我的网站上的用户最近引起了我的注意,如果他们在我的网站上的任何表单上提交了此内容,则会返回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错误?
答案 0 :(得分:3)
我尝试你的代码。一切似乎都运转正常。您是否尝试删除textarea中内容的某些部分以查看哪个部分创建了此错误?请注意,403是Web服务器在用户请求服务器不允许其访问的网页或媒体时返回的HTTP状态代码。
您也可以询问您的托管服务提供商是否有安全模块拒绝输入,因为它认为这是尝试执行攻击。
另外:您是否尝试将textarea的名称更改为“内容”以外的其他名称。
答案 1 :(得分:0)
我知道这是一个老问题,但我发现有时使用POST方法的html表单将返回403错误,而如果我将方法更改为GET,则相同的表单提交有效。
答案 2 :(得分:0)
如果您可以访问服务器,请使用不会超出$ _SERVER ['CONTENT_LENGTH']或增加php.ini post_max_size的帖子