【问题标题】:Is Injecting Controlled HTML via AJAX a Security Concern?通过 AJAX 注入受控 HTML 是否存在安全问题?
【发布时间】:2011-03-08 18:20:00
【问题描述】:

我这里有一个具体案例,我希望得到一些安全建议。基本上我的问题是“如果我控制数据库中的内容(没有用户提交数据),以 HTML(通过 AJAX)返回数据库查询结果是否存在安全问题”?

这是正在发生的过程:

  1. 每日构建生成一个 XML 文档
  2. 我的服务器检索此 XML 文档,对其进行解析(使用 PHP)并将其输入数据库。
  3. 用户访问站点,发送 AJAX 请求(参数包括要返回的结果数量、排序方式以及必要时的搜索词)
  4. PHP 脚本查询数据库,将结果返回给 AJAX 回调
  5. AJAX 回调将结果注入到页面中查看

相当标准的东西......

更多背景知识:我使用准备好的 SQL 语句,以限制用户提供的搜索查询和任何 URL 篡改以创建任意查询。 XML 文件只有字母数字,没有代码。我之所以要返回HTML,是为了尽可能地限制客户端的工作,有了HTML,就不用费劲JS来生成页面了(除了用jQuery注入html块)。

对我有什么建议吗?

提前谢谢你。

PS - 这仍处于规划阶段,因此没有真正的代码可显示。

【问题讨论】:

    标签: php xml database ajax security


    【解决方案1】:

    只要你 100% 控制输入,注入或 XSS 攻击的风险非常小。无论您采取何种安全措施,任何可能发生的攻击(例如替换部分响应或通过网络注入响应)都会发生。

    只需确保您的数据库安全。

    【讨论】:

      【解决方案2】:

      听起来你在做非常标准的事情。出于您提到的相同原因,很多人会使用 AJAH(HTML 而不是 XML 或 JSON)。

      【讨论】:

      • 感谢您的意见。我只是不想创建某种可能的 XSS 漏洞或其他东西。我知道我需要消毒,但它只需要一个遗漏......
      【解决方案3】:

      XSS 的可能位置是在 ajax 响应中显示搜索词。

      【讨论】:

        猜你喜欢
        • 2014-02-02
        • 1970-01-01
        • 2012-07-24
        • 2022-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多