【问题标题】:How to stop url request to validate credit card number如何停止 url 请求以验证信用卡号
【发布时间】:2023-03-18 13:03:01
【问题描述】:

我有一个使用 Brainstree 处理信用卡付款的网站(PHP Laravel 网站)。今天,该网站收到了对 1 个传递信用卡信息的 url 的直接请求。黑客似乎知道了我们的参数,并正在使用我的网站来验证他们被盗的信用卡号码。

这是一个请求示例。

http://mysite/renew?card_nubmer=42693111111111&ccv=014&expiration_month=11&expiration_year=2019&first_name=beqnykit&last_name=fozwgfrpn&postal_code=44101&type=visa&price=12year=1&country_name=USA&currency=%24

它导致 CPU 使用率为 100%,从而降低了我的网站速度。

在我们的代码处理请求并显示错误页面之前。现在它验证请求并将无效的更新请求重定向到登录页面。 CPU 负载仍为 100%。

至少我能做些什么来阻止这个或停止 CPU 负载?

【问题讨论】:

  • 使用 POST 变量和 CSRF。将信用卡凭据作为 GET 传递只是自找麻烦。
  • 另外,我希望该页面托管在 HTTPS 上,而不是 HTTP 上,否则您需要做很多简单的事情。
  • 如果这些是真实的信用卡号码,您可能应该采取额外的步骤报警
  • 研究使用 CSRF 令牌。它应该有助于减少大量流量。
  • 请告诉我您没有通过 GET 请求发送信用卡信息

标签: php laravel security


【解决方案1】:

启用 CSRF 字段,这是必须的。您是说您开始将请求作为 POST 处理,所以这很好。

此路由还必须仅对经过身份验证的用户可用。如果您还没有添加适当的中间件。

至于额外的保护,我建议使用一些节流中间件。考虑使用这个包或类似的东西。它不允许使用该方法的次数超过您指定的每分钟次数。 https://github.com/GrahamCampbell/Laravel-Throttle

【讨论】:

    【解决方案2】:

    这里是更新。黑客真正分析了该网站。它创建免费用户。每个免费用户都使用信用卡提交付费会员订单。我们是目标,因为数量很少。使用 POST 并不能解决这个问题。因此,我们在帐户创建和订购页面中添加了帐户激活电子邮件和验证码。幸运的是,它很快就停止了。我只是把信息放在这里分享经验。感谢所有的帮助!

    【讨论】:

      猜你喜欢
      • 2014-08-14
      • 1970-01-01
      • 2021-08-16
      • 2011-11-16
      • 1970-01-01
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 2015-05-29
      相关资源
      最近更新 更多