【问题标题】:How to secure JSON call without using a captcha如何在不使用验证码的情况下保护 JSON 调用
【发布时间】:2012-09-08 19:18:29
【问题描述】:

所以我们正在建立一个网站并创建我们的基本信息以将登录信息发送到我们的数据库。我们在尝试禁止仅插入自己的数据的请求时遇到了麻烦。

例如

http://testing.site.com/php/interfaces/User.php?Action=1&Email=test@gmail.com&FirstName=herp%20derp

通过替换电子邮件和名字,他们能够将多个用户添加到数据库中,并且可能使用数千个脚本。有没有办法在不使用验证码的情况下防止这种情况发生?我们正在尝试将网站设计做到最小化和开放性,因此如果可能的话,我们希望能提供一些意见。

我们考虑过的一个选项是让我们的 PHP 离线并只允许我们的 API 访问它 - 但是它仍然存在用户添加授权数据的问题(并且我们的数据库因数以千计的多个请求而过载)

【问题讨论】:

  • 这不是您应该通过 GET 执行的操作,而是使用 POST。将一次性 CSRF 令牌添加到表单中,以防止快速重复提交。在极端情况下,您还可以按 IP 限制提交 - 来自单个 IP 的提交越多,处理它们的时间就越长。另请参阅this question
  • 为授权请求添加令牌或api密钥

标签: php sql json


【解决方案1】:

这是一个示例选项,创建一个包含 2 个字段的表,一个是自动增量 ID,一个是随机代码,我们将它们命名为 IDCODE

发送该请求时,在该表中创建1条记录并将IDCODE与请求一起传递,当接收到请求时,检查数据库中是否有IDCODE的记录处理请求并从数据库中删除该记录,如果没有该记录,则忽略请求...

【讨论】:

    猜你喜欢
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 2013-04-21
    • 2022-07-28
    • 2016-09-08
    • 2017-10-23
    相关资源
    最近更新 更多