通过AJAX注入受控HTML是一个安全问题?

时间:2010-06-27 03:18:29

标签: php xml database ajax security

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

以下是正在发生的过程:

  1. 每日构建生成XML文档
  2. 我的服务器检索此XML文档,解析它(使用PHP)并将其输入数据库。
  3. 用户访问网站,发送AJAX请求(参数包括要返回的结果数,如何排序以及必要时的搜索词)
  4. PHP脚本查询数据库,将结果返回给AJAX回调
  5. AJAX回调将结果注入页面以供查看
  6. 相当标准的东西......

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

    对我有什么建议吗?

    提前谢谢。

    PS - 这仍然处于计划阶段,所以没有真正的代码可以显示。

3 个答案:

答案 0 :(得分:6)

只要您控制输入100%,注射或XSS攻击的风险就很小。无论您采取何种安全措施,都可能发生任何可能发生的攻击,例如更换部分或通过电线注入响应。

保持数据库的安全。

答案 1 :(得分:3)

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

答案 2 :(得分:1)

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