我面临一个奇怪的问题,我很感激任何帮助。
我希望有一个页面提交一个谷歌的Adsense代码,然后将其保存到数据库(我有一个输入字段来接受GA代码和一个提交按钮,非常简单的形式)
问题是,如果输入字段包含"<script>"
作为值,我在提交表单时总是会被禁止403。
如果我尝试提交任何其他内容,它可以正常工作,但我无法弄清楚为什么文本不能包含"<script>"
。
注意:这不是mysql转义或类似的问题,即使我注释掉完整的PHP代码也会发生这种情况。看起来POST似乎不接受这个。
另外要提一下,这个问题不会发生在localhost(xampp)中,但只有在上传到Namecheap主机时才会发生。
为什么会发生这种情况以及如何制定解决方法?
答案 0 :(得分:2)
Namecheap可能已在其服务器上配置了mod_security规则,以阻止包含标记的帖子,因为允许将这些标记发布回网页,如果Web应用程序无法处理此问题,则会打开非常严重的客户端脚本漏洞的大门正确。如果帖子甚至可以使它成为php(在你的情况下它不能)你应该能够调用htmlspecialchars或htmlentities来过滤这些。如果Namecheap正在为您执行此操作,这是一个问题,那么除了更改主机之外,您可以做的事情并不多,因为共享主机不允许您对服务器配置有任何发言权。
答案 1 :(得分:0)
我遇到了这个问题,我需要使用我在管理系统中提交的表单中的标签(嵌入谷歌的AdSense广告)。
要修复,我编辑了.htaccess文件并添加了该行 SecFilterEngine Off
我只需要暂时这样做以完成工作&amp;我完成后再打开它。