Heim  >  Artikel  >  Backend-Entwicklung  >  同一台电脑,如何限制他在一分钟内只能访问5次某个域名的动态页面。超过五次的,就跳转到指定静态页。

同一台电脑,如何限制他在一分钟内只能访问5次某个域名的动态页面。超过五次的,就跳转到指定静态页。

WBOY
WBOYOriginal
2016-06-23 14:39:241441Durchsuche

同一台电脑,如何限制他在一分钟内只能访问5次某个域名的动态页面。超过五次的,就跳转到指定静态页。


回复讨论(解决方案)

这样做的意义是什么呢?减轻服务器压力?

这样做的意义是什么呢?减轻服务器压力?

一个IP就看作是一个电脑,在后台做一个访问次数池,定时每分钟清空一次,访问一次对应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);}


简单写了一下,你改改吧。。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn