我正面临着一个问题,当试图从html表单发布数据到我的PHP。问题如下:
- 当我提交更少的数据,如1段Lorem Ipsum,它工作得很好。
- 提交更多段落,立即失败,错误403禁止。
- 尝试解决使用SecFilterScanPOST关闭。htaccess,但无济于事。
错误信息图像
要解决此错误,@qtwrk的注释是正确的,您必须在.htaccess中使用以下代码。
<IfModule mod_security.c>
SecRuleEngine Off
SecRequestBodyAccess Off
</IfModule>
在Litespeed服务器上运行的WordPress在创建新页面和帖子时,当您尝试发布任何内容时,通常会出现403错误。下面的代码解决了这个问题。
关于禁用的解决方案应该有所帮助,但它会降低安全性-停止这样做。
花更多的时间来理解主要原因,例如为Wordpress配置mod_security:
根据本文,您可以直接禁用wp-admin
目录的一些规则:
<LocationMatch "/wp-admin/">
SecRuleRemoveById 300013
SecRuleRemoveById 300014
SecRuleRemoveById 300015
SecRuleRemoveById 300016
SecRuleRemoveById 300017
</LocationMatch>
根据本文,您可以直接为子目录禁用一些规则:
<LocationMatch "/wp-admin/admin-ajax.php">
SecRuleRemoveById 300013
SecRuleRemoveById 300015
SecRuleRemoveById 300016
SecRuleRemoveById 300017
SecRuleRemoveById 949110
SecRuleRemoveById 980130
</LocationMatch>
<LocationMatch "/wp-admin/page.php">
SecRuleRemoveById 300013
SecRuleRemoveById 300015
SecRuleRemoveById 300016
SecRuleRemoveById 300017
SecRuleRemoveById 949110
SecRuleRemoveById 980130
</LocationMatch>
<LocationMatch "/wp-admin/post.php">
SecRuleRemoveById 300013
SecRuleRemoveById 300015
SecRuleRemoveById 300016
SecRuleRemoveById 300017
SecRuleRemoveById 949110
SecRuleRemoveById 980130
</LocationMatch>
如果您想确保使用mod_security
,您可以将上面的设置包装在下面:
<IfModule mod_security.c>
# ...
# <LocationMatch ...>
# ...
</IfModule>