ホームページ  >  記事  >  バックエンド開発  >  同じコンピュータが特定のドメイン名の動的ページに 1 分間に 5 回アクセスすることを制限するにはどうすればよいでしょうか? 5回を超えると指定した固定ページにジャンプします。

同じコンピュータが特定のドメイン名の動的ページに 1 分間に 5 回アクセスすることを制限するにはどうすればよいでしょうか? 5回を超えると指定した固定ページにジャンプします。

WBOY
WBOYオリジナル
2016-06-23 14:39:241441ブラウズ

同じコンピュータが特定のドメイン名の動的ページに 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);}

簡単に書いただけなので、変更しても大丈夫です。 。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。