【问题标题】:Submitting form fails when the form data contains a <script> tag LAMP当表单数据包含 <script> 标记 LAMP 时提交表单失败
【发布时间】:2010-10-03 15:29:32
【问题描述】:

我们有一个托管站点,其中包含我们构建的在 LAMP 堆栈上运行的 CMS。我们注意到,当您保存在 HTML 中嵌入标签的 HTML 时,请求会立即终止。这不会发生在 CMS 的暂存或本地开发实例上,因此我假设它是服务器配置问题。有什么想法可能导致这种行为吗?

我查看了 PHP.INI 和 apache 配置文件,但没有发现可能是罪魁祸首。

更新 我已经向运行我们 VPS 的主机提交了一张票,到目前为止他们没有提供任何帮助。正如有人建议的那样,我检查了 apache 日志以查看是否有任何问题。我看到的唯一错误是“选项指令禁止目录索引”。该错误似乎与表单提交超时无关。

我们使用 CakePHP 构建了 CMS,CakePHP 日志也没有显示其他有用信息。当我们在根 index.php 页面中调用 die() 时,请求根本没有发送到 PHP,但它仍然超时。

更新2 感谢您的建议。我相信这将得到解决,但认为值得先把它带到这里。

更新3 MediaTemple 能够复制该问题,并表示这是导致该问题的顶级过滤规则,这肯定是我无法控制的。尽管如此,我很欣赏这些回复:)

【问题讨论】:

    标签: php apache forms scripting lamp


    【解决方案1】:

    我遇到过由 apaches mod_security 引起的类似问题。如果您在服务器上启用了 mod_security,您可以尝试这样的操作(在 .htaccess 文件中):

    <IfModule mod_security.c>
         SecFilterEngine Off
    </IfModule>
    

    【讨论】:

    • 好建议。我检查了是否安装了 mod_security 并且没有安装:/ 狩猎继续......
    【解决方案2】:

    由于您的系统没有出现此错误,因此是配置错误。 找出故障系统和其他系统之间的区别。

    如果要比较的文件太多。开始尽可能降低系统的复杂性。

    【讨论】:

    • 是的,我同意这是一个配置错误。不幸的是,我们的 VPS 主机无法回答我们为什么会发生这种情况或如何禁用此安全措施。它是一个非常标准的系统。 Mysql5、Apache2、PHP 5.2。我觉得这是他们默认添加的“安全”功能。
    【解决方案3】:

    您使用的是应用程序防火墙吗?听起来像是某种安全程序正在杀死请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      • 2014-09-12
      • 1970-01-01
      • 1970-01-01
      • 2020-08-17
      • 1970-01-01
      • 2013-11-12
      相关资源
      最近更新 更多