Gav*_*Gav 12
也许您应该专注于减少页面使用的带宽.探索图像压缩,页面优化和缓存的领域.
session_start();
if($_SESSION['hasbeenhere'] == 1)
{
// Page refreshed
}
else
{
$_SESSION['hasbeenhere'] = 1;
}
Run Code Online (Sandbox Code Playgroud)
如果此人未启用Cookie,则会失败.如果有人转到另一个页面并返回,它将显示为刷新.
总的来说,你不能以肯定的方式做到这一点,但这是阻止某人两次看到同一页面的一种方法.
由于你的评论,如果你想阻止人们按F5 200次,试试这个.
$page = $_SERVER['REQUEST_URI'];
// Defaults
if(!isset($_SESSION[$page]['count']))
{
$_SESSION[$page]['count'] = 1;
$_SESSION[$page]['first_hit'] = time();
$_SESSION[$page]['banned'] = false;
}
else
{
$_SESSION[$page]['count']++; // Increase the counter
}
// If person is banned, end script
if($_SESSION[$page]['banned'] == true)
{
die();
}
if($_SESSION[$page]['first_hit'] < time() - 30)
{
$_SESSION[$page]['count'] = 1; // Reset every 30 seconds
}
if($_SESSION[$page]['count'] > 100)
{
$_SESSION[$page]['banned'] = true;
// Ban if they hit over 100 times in 30 seconds.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10772 次 |
| 最近记录: |