【问题标题】:Ajax to Filter Results Without ReloadingAjax 无需重新加载即可过滤结果
【发布时间】:2017-03-21 00:57:07
【问题描述】:

我创建了一个包含产品详细信息的网页(每页 15、30 或 45 个)。 用户可以通过评论、价格等重新订购,并且可以选择品牌、重量等。 我正在使用 Ajax 将查询发送到外部页面。这很危险吗? 还有什么方法可以确保我不会受到攻击?

【问题讨论】:

  • 你为什么认为这很危险?只要服务器脚本检查您是否已获得授权,您就应该没问题。您无法阻止攻击,您所能做的就是确保进行适当的检查,以免攻击成功。
  • 因为访问者可以通过 HTML 修改查询.. 可以接受 UPDATE 命令或类似的危险查询
  • 哦,我没有意识到您实际上是通过 AJAX 发送 SQL。正确的方法是发送搜索选项,并从它们中用 PHP 构建查询。例如,请参阅stackoverflow.com/a/28909923/1491895。

标签: javascript php jquery ajax mysqli


【解决方案1】:

通过您的 API,确保您正在审核来自客户端的请求。检查边界,确保它没有格式错误,确保它符合您的期望。如果无效,则向客户端发回正确的响应,说明如下(403/404/etc)...如果有效,则发回过滤后的结果。

【讨论】:

    【解决方案2】:

    您不应从客户端发送原始 SQL。只需发送表单字段的值,然后在服务器上的 PHP 脚本中使用它们来构造 SQL 查询。

    请参阅https://stackoverflow.com/a/28909923/1491895,了解从表单字段动态生成WHERE 子句的技术。类似的方法可以用于ORDER BY 子句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-28
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      • 2011-12-21
      • 2017-10-24
      • 1970-01-01
      • 2018-06-17
      相关资源
      最近更新 更多