javascript - 如果用户删除浏览器历史记录,则重定向到登录页面
问题描述
我正在使用 php 开发一个网站。现在我的问题是,如果用户删除浏览器历史记录,有没有办法重定向到登录页面。我已经搜索过了。但是没有找到任何方法。
问候, 萨西
解决方案
您不能这样做,因为不可能/不允许访问浏览器历史记录……可能有一些方法,但访问用户浏览器历史记录绝对是对隐私的打击,并且在大多数国家/地区很可能是非法的。
无论您想要实现什么,都有比“窃取”您的用户历史记录更好、更强大的解决方案。例如 Cookie、本地/会话存储或 PHP 会话。
根据要求提供样本……这不完全是您想要的(这是不可能的,因为您无法访问历史记录),但也许是另一种选择:
session_start();
$check = time() - 300; // 5 Minutes
if( !isset( $_SESSION[ 'login' ] ) OR $_SESSION[ 'login' ] > $check ):
header( 'Location: ./login.php' );
exit;
endif;
$_SESSION[ 'login' ] = time();
这应该作为第一个代码放置在每个页面(登录除外)上。它在每次加载时设置/刷新会话变量中的时间戳。在此之前,它会检查变量是否存在或时间差是否很大(5 分钟)。如果不是,它会重定向。
未经测试......只是为了给你一个想法。
推荐阅读
- r - 如何重新排序 geom_bar 图表的条形?
- php - 在 Laravel 中为邮件添加自定义属性
- javascript - 空空如也
- django - Scrapy spider 在使用 Channels 实现 WebSockets 后无法在 Django 上工作(不能从异步上下文中调用它)
- merge - 如何创建具有某些特征的平均值和不同特征集合的位置/形状的特征集合?
- python-3.x - Python:对数性能对比
- php - Drupal7. 挂钩菜单(和其他)中的 url 不起作用
- javascript - 幻灯片中间没有出现猫头鹰轮播点
- excel - 带有 VLOOKUP 的 EXCEL 双 IF 语句 - 第二个 IF 语句出现处理错误
- mysql - 当我更新多对多关系中的实体时,如何阻止 Hibernate/JPA 删除连接表记录?