2012-07-09 141 views
1

最近我的网站上的一位用户引起了我的注意,如果他们在我的网站上的任何表单上提交了这些内容,他们将返回403错误。php表单发布内容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

哪个网络服务器触发的错误?您提供的代码是否可以重现此行为? 403错误是“禁止的”访问错误,我宁愿检查你的服务器配置,并仔细检查错误日志中是否有任何有趣的内容。 – strnk 2012-07-09 16:09:12

回答

3

我试试你的代码。任何东西似乎都能正常工作。您是否尝试删除textarea中的某些内容以查看哪部分创建了此错误?请注意,403是用户请求网页或服务器不允许它们访问的媒体时由Web服务器返回的HTTP状态代码。

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

另外:您是否尝试将textarea的名称更改为“content”以外的名称。

+0

对我来说,这是改变输入的名字。 – 2014-02-13 07:28:57

0

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

0

使用不exced $ _ SERVER后[“CONTENT_LENGTH”]或增加的php.ini的post_max_size,如果你可以访问服务器