b******1 发帖数: 466 | 1 有没有什么方式限制某个IP的点击网站次数? 我想用这个办法
防止用户下载网站, 或者有什么更好的办法? |
b******y 发帖数: 9224 | 2 这个是悖论啊,网站本身是公开的,很难限制全面。不过,你可以封杀某个ip, 就是说
,如果这个ip来的request, 直接给一个blank page。 |
b******1 发帖数: 466 | 3 谢谢回复。我想限制每个IP点击不得超过例如100次以避免用程序下载。
【在 b******y 的大作中提到】 : 这个是悖论啊,网站本身是公开的,很难限制全面。不过,你可以封杀某个ip, 就是说 : ,如果这个ip来的request, 直接给一个blank page。
|
s*****l 发帖数: 2041 | 4 不好弄吧
【在 b******1 的大作中提到】 : 有没有什么方式限制某个IP的点击网站次数? 我想用这个办法 : 防止用户下载网站, 或者有什么更好的办法?
|
g****z 发帖数: 1135 | 5 弄个table (schema见下)记录每个IP的点击数,超过100就返回个404什么的。
create table if not exists site_hits
(
ip varchar(15) not null,
count int not null,
last_hit_tstamp timestamp,
primary key (ip)
)
【在 b******1 的大作中提到】 : 谢谢回复。我想限制每个IP点击不得超过例如100次以避免用程序下载。
|
b******1 发帖数: 466 | 6 理论上是个好主意,但总觉得这个功能不至于用table.
找到一个,有空试试。
if (!isset($_SESSION)) {
session_start();
}
// anti flood protection
if($_SESSION['last_session_request'] > time() - 2){
// users will be redirected to this page if it makes requests faster
than 2 seconds
header("location: https://google.com");
exit;
}
$_SESSION['last_session_request'] = time();
?>
【在 g****z 的大作中提到】 : 弄个table (schema见下)记录每个IP的点击数,超过100就返回个404什么的。 : create table if not exists site_hits : ( : ip varchar(15) not null, : count int not null, : last_hit_tstamp timestamp, : primary key (ip) : )
|
s****y 发帖数: 983 | 7 session is not reliable, client could always clear cache.
if you don't have sql db, you could use text based db like json or xml
【在 b******1 的大作中提到】 : 理论上是个好主意,但总觉得这个功能不至于用table. : 找到一个,有空试试。 : : if (!isset($_SESSION)) { : session_start(); : } : // anti flood protection : if($_SESSION['last_session_request'] > time() - 2){ : // users will be redirected to this page if it makes requests faster : than 2 seconds
|