您的位置:首页 > 科技 > 能源 > 快速排序优化_科技部 咖啡_国际新闻大事_百度广告推广电话

快速排序优化_科技部 咖啡_国际新闻大事_百度广告推广电话

2024/12/25 20:40:35 来源:https://blog.csdn.net/2301_79996063/article/details/143985565  浏览:    关键词:快速排序优化_科技部 咖啡_国际新闻大事_百度广告推广电话
快速排序优化_科技部 咖啡_国际新闻大事_百度广告推广电话

php 限制访问次数

  • 限制访问次数的php 文件
  • 提示 : 会生成一个 visits.json 文件 用来记录访问日志 并不是恶意文件
  • 需要指定正确的访问路径
<?php# 限制访问次数的php 文件
# 提示 : 会生成一个 visits.json 文件 用来记录访问日志 并不是恶意文件session_start();// 获取客户端 IP 地址
$ip = $_SERVER['REMOTE_ADDR'];// 内容文件路径
$content_path = "./index.html";// 设置访问限制
$maxVisits = 5;
$visitTimeFrame = 10; // 1小时// 日志路径
$filePath = './visits.json';// 初始化访问记录
if (!file_exists($filePath)) {file_put_contents($filePath, json_encode([]));
}$visits = json_decode(file_get_contents($filePath), true);// 清理过期的访问记录
foreach ($visits as $ipKey => $visitData) {if (time() - $visitData['lastVisit'] > $visitTimeFrame) {unset($visits[$ipKey]);}
}$null404 = '<html><head><title>404 Not Found</title></head><body><center><h1>404 Not Found</h1></center><hr><center>nginx</center></body></html>';
$content = file_get_contents($content_path); // 检查当前 IP 的访问次数, 检查当前用户设备是否为移动端
if (isset($visits[$ip])) {if ($visits[$ip]['count'] >= $maxVisits && strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false) {echo $null404;        } else {$visits[$ip]['count']++;$visits[$ip]['lastVisit'] = time();# 放行正常请求echo $content;}
} else {$visits[$ip] = ['count' => 1, 'lastVisit' => time()];# 清理缓存之后放行的正常请求echo $content;
}// 保存访问记录
file_put_contents($filePath, json_encode($visits));?>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com