想問一下有沒有辦法用php 寫一個ddos防止?比如說一秒請求超過三次?
可以結合redis的pSetEx函數於session來做。用戶訪問的時候,根據頁面標識和uuid生成一個redis的key,並把uuid保存session,然後頁面第二次訪問從session中取出uuid,去redis裏面檢索,如果檢索到就自增1.檢索到的值超過時間段內最大請求次數就返回失敗。
PHP 防 DDOS ?你仿佛在逗我。
粗略来说,一个请求到达 PHP 脚本的顺序是这样的:
防火墙 > 网页服务器 > PHP程序
正常来说,防 DDOS 应该在防火墙这个层面实现,再不济也应该是在网页服务器实现。
到了 PHP 这一步,不用防了,防不了的。
PHP上防已经没有用了,因为你已经响应请求了。要防D,只能是连请求都丢,那就需要在http服务之前有个防护,例如各种云防护套餐。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
可以結合redis的pSetEx函數於session來做。用戶訪問的時候,根據頁面標識和uuid生成一個redis的key,並把uuid保存session,然後頁面第二次訪問從session中取出uuid,去redis裏面檢索,如果檢索到就自增1.檢索到的值超過時間段內最大請求次數就返回失敗。
PHP 防 DDOS ?你仿佛在逗我。
粗略来说,一个请求到达 PHP 脚本的顺序是这样的:
正常来说,防 DDOS 应该在防火墙这个层面实现,再不济也应该是在网页服务器实现。
到了 PHP 这一步,不用防了,防不了的。
PHP上防已经没有用了,因为你已经响应请求了。
要防D,只能是连请求都丢,那就需要在http服务之前有个防护,例如各种云防护套餐。