Php 在共享托管环境中关闭页面的mod_安全性
我的页面显示错误禁止访问错误,当我通过其他页面发布方法发布一些Php 在共享托管环境中关闭页面的mod_安全性,php,security,.htaccess,Php,Security,.htaccess,我的页面显示错误禁止访问错误,当我通过其他页面发布方法发布一些html和javascript混合数据时 但当我直接打开该页面时,它会正确显示,没有任何错误 当我发布数据时,我知道这是与服务器安全相关的问题 当我搜索时,我在。htaccess文件中找到了关闭mod_安全性的解决方案 但我想这样做只是为了这个页面,而不是为了我的整个网站 我的软管环境是共享的。但我可以编辑我的。htaccess文件 看看一些。有很多不同的方法可以启用或禁用mod_sceurity。最简单的方法是将MODSEC_ENA
html
和javascript
混合数据时
但当我直接打开该页面时,它会正确显示,没有任何错误
当我发布数据时,我知道这是与服务器安全相关的问题
当我搜索时,我在。htaccess
文件中找到了关闭mod_安全性的解决方案
但我想这样做只是为了这个页面,而不是为了我的整个网站
我的软管环境是共享的。但我可以编辑我的。htaccess
文件 看看一些。有很多不同的方法可以启用或禁用mod_sceurity。最简单的方法是将MODSEC_ENABLE
环境变量设置为On
或Off
。您可以使用来匹配许多内容,包括请求\u URI
:
SetEnvIf Request_URI your_page\.php$ MODSEC_ENABLE=Off
或多页:
SetEnvIf Request_URI ^/directory/file.*\.php$ MODSEC_ENABLE=Off
或者,如果需要执行更复杂的操作,例如匹配查询字符串,则:
是否已启用OWASP核心规则集?检查Apache错误日志以查看匹配的规则。您可能会发现,它也在阻止其他页面上的一些合法用户。与您的主机提供商讨论他们使用的规则集以及他们对误报的处理方法
为了解决眼前的问题,您可以通过添加新的
SecRule
(您可以在.htaccess
文件中执行此操作)来防止URI被阻止
SecRule REQUEST_URI "/your/uri" "phase:1,pass"
若要将此限制为POST请求,您可以使用请求行
:
SecRule REQUEST_LINE "POST /your/uri" "phase:1,pass"
根据当前匹配和阻止请求的规则,您可能必须将这些规则更改为阶段:2
,甚至添加第二个与阶段:2
相同的规则
SecRule REQUEST_LINE "POST /your/uri" "phase:1,pass"