Php 点击限制
我有这个简单的点击限制,我的网站使用会话,我只想知道这是好的,还是一个可以接受的检查快速页面刷新的方式 此代码位于每个页面的顶部,然后再向数据库请求数据Php 点击限制,php,click,limit,Php,Click,Limit,我有这个简单的点击限制,我的网站使用会话,我只想知道这是好的,还是一个可以接受的检查快速页面刷新的方式 此代码位于每个页面的顶部,然后再向数据库请求数据 session_start(); $now = date('Y-m-d H:i:s', time()); if ($_SESSION['click'] > date("Y-m-d H:i:s", strtotime("$now - 1 second"))) { exit("You're clicking too fast")
session_start();
$now = date('Y-m-d H:i:s', time());
if ($_SESSION['click'] > date("Y-m-d H:i:s", strtotime("$now - 1 second"))) {
exit("You're clicking too fast") ;
}
$_SESSION['click'] = $now;
这基本上是相同的,但功能较少
session_start();
$now = time();
if ($_SESSION['click'] > ($now-1)) {
exit("You're clicking too fast") ;
}
$_SESSION['click'] = $now;
基本上,这一功能相同,但功能较少
session_start();
$now = time();
if ($_SESSION['click'] > ($now-1)) {
exit("You're clicking too fast") ;
}
$_SESSION['click'] = $now;
我想说,这是一种可以接受的从普通人那里获取快速页面刷新的方式。机器人将丢弃会话cookie,并使您的支票无效 检查IP不是备选方案,因为您的用户可以通过网络和/或多台计算机共享的公共IP使用站点。例如:大学、学校、工作场所(是的,对),AOL(AOL使用代理!) 尽管您的代码可以改进:
session_start();
$now = time();
if ($_SESSION['click'] > ($now - 1)) {
exit("You're clicking too fast") ; end();
}
$_SESSION['click'] = $now;
我认为这是一种可以接受的从普通人那里快速刷新页面的方式。机器人将丢弃会话cookie,并使您的支票无效 检查IP不是备选方案,因为您的用户可以通过网络和/或多台计算机共享的公共IP使用站点。例如:大学、学校、工作场所(是的,对),AOL(AOL使用代理!) 尽管您的代码可以改进:
session_start();
$now = time();
if ($_SESSION['click'] > ($now - 1)) {
exit("You're clicking too fast") ; end();
}
$_SESSION['click'] = $now;
不确定
end
的作用是什么……你不是已经打开了关于这个问题的另一个主题了吗?你可以把这个问题放到你原来的问题中,而不是开始一个全新的问题:通过使用date
函数,你通过比较字符串表示来比较日期time
返回一个整数(自Unix纪元以来的秒数),以便进行直接比较。如果你想说得更精确一些(因为你说的只是1秒的差异),你可以使用microtime
。不知道结尾是干什么用的……你不是已经打开了关于这个问题的另一个话题了吗?你可以把这个问题放到你原来的问题中,而不是开始一个全新的问题:通过使用date
函数,您正在通过比较字符串表示来比较日期time
返回一个整数(自Unix纪元以来的秒数),以便进行直接比较。如果你想更精确一些(因为你只说1秒的差异),你可以使用microtime
。如果是他正在创建的游戏(他有一个双主题),扔掉会话cookie将注销机器人,从而使其移动或动作无效。如果是他正在创建的游戏(他有一个双主题)丢弃会话cookie将注销bot,从而使其移动或操作无效。