gpt4 book ai didi

php - 在 PHP 中检查请求是否在短时间内重复

转载 作者:可可西里 更新时间:2023-11-01 00:49:06 26 4
gpt4 key购买 nike

我有一些基于 php 程序的案例。我已经实现了一个搜索输入表单来处理搜索需求。有一个 Controller 处理搜索请求。一旦我意识到请求的操作无论是 POST 还是 GET 都可能导致一个漏洞,允许人们在短时间内重复请求。我在想的是检查最后一个请求并与当前请求进行比较。如果间隔符合禁止的时间范围(说是0-500ms左右),controller不会搜索,直到请求超过时间范围。

我想将请求保存在表上, key 在请求者真实 IP 上。然后将其与新请求(CMIIW)进行比较。

有什么好的方法可以正确地做到这一点吗?

最佳答案

使用IP限制搜索次数会导致任何机构(例如:学校)无法使用您的服务/网站/搜索。使用 session 限制对浏览器 session 的使用;关闭浏览器将删除 session 变量,从而允许新用户使用您的应用程序。

更好的方法是在 session 变量中设置上次搜索时间(如您建议的那样)并检查该变量是否不存在或晚于 500 毫秒前以完成搜索请求。

要设置 session 变量,您可以在加载 session session_start() 后使用 $_SESSION['lastsearchtime']。请注意,session_start 在被调用时可能会触发错误。

关于php - 在 PHP 中检查请求是否在短时间内重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11220925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com