同じコンピュータが特定のドメイン名の動的ページに 1 分間に 5 回のみアクセスするように制限する方法。 5回を超えると指定した固定ページにジャンプします。
これを行う意義は何ですか?サーバーの負荷を軽減しますか?
これをすることに何の意味があるのですか?サーバーの負荷を軽減しますか?
IP は、バックグラウンドで作成され、IP アドレスの増加に応じてクリアされます。 Cookie を使用します
IP が機能しない場合は、Cookie を使用できます
ケースコードを尋ねます。 。 。
Cookie制限を使おうと思ったのですが、合理的かつ効率的な書き方がわかりません。 。
JS を使って Cookie を操作するだけです
<?php$filePath = '';$uuid = isset($_COOKIE['UUID']) ? $_COOKIE['UUID'] : false;//第一次访问if ($uuid === false){ //生成唯一的cookieID $userCookieId = md5($_SERVER['REMOTE_ADDR'].time());//SERVER_ADDR setcookie('UUID', $userCookieId); logVisitCount('1',"{$filePath}{$userCookieId}.txt"); echo 'first visit!'; exit;}//得到访问次数$visitCount = @file_get_contents("{$filePath}{$uuid}.txt");if ($visitCount === false){ $visitCount = 1; logVisitCount('1', "{$filePath}{$uuid}.txt");}else{ if ($visitCount > 5) { echo "It's max"; exit; } $visitCount++; logVisitCount($visitCount, "{$filePath}{$uuid}.txt");}echo "visit count : {$visitCount}";function logVisitCount($str, $file){ $handle = fopen($file, 'w'); fwrite($handle, $str); fclose($handle);}
簡単に書いただけなので、変更しても大丈夫です。 。