【问题标题】:PHP request blocked in serverPHP请求在服务器中被阻止
【发布时间】:2012-10-09 18:20:50
【问题描述】:

向 Apache 服务器发送 PHP POST 请求时,该请求被服务器阻止。我收到了禁止的错误。这对于某些请求非常具体。在请求中,我发送 html 数据并将 html 数据保存在 MYSQL 数据库中。我使用的是unix操作系统。

我正在尝试保存一些句子,例如, process = runtime.exec(""); 我发送上面的句子我得到了禁止的错误,否则我得到了成功的响应。

【问题讨论】:

  • 您是否检查了服务器的错误日志以了解请求被拒绝的确切原因?
  • 也许在您的问题中添加一些代码摘录?
  • 实际上我不必访问日志,我在想这个字符串“process = runtime.exec("");"有一些 unix 关键字,比如 exec,可能是因为这个..
  • 相同的代码适用于 windows 系统..
  • 可能是服务器阻止了没有用户代理标头的请求,或者您在 url 中发送 html 数据而不是作为 multipart/form-data

标签: php apache unix block


【解决方案1】:

我认为您的服务器设置禁止某些 URL 参数值。一个类似的例子(对于 Struts),解释了为什么可以在这里找到:https://www.sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt

你可以尝试用一些编码来欺骗它(我怀疑这会起作用)或用一些无害的东西替换单词“.exec(”。

【讨论】:

  • 我同意你的看法,但这不是一种情况。我正在经历多种情况。就像我发送 PreparedStatement pstmt = con.prepareStatement ("select * from Emp where id=5");这在发布请求中我也被阻止了......
  • 实际上我正在使用 WMD 编辑器,在 WMD 编辑器中 这个 rte1 我要保存在数据库中。如果我将上面的字符串放在 wmd 的编辑器中并单击保存按钮,我会收到错误
猜你喜欢
  • 1970-01-01
  • 2021-05-15
  • 2016-09-08
  • 2022-01-24
  • 2015-09-11
  • 1970-01-01
  • 2019-01-18
  • 2017-06-06
相关资源
最近更新 更多