[前端技术]使用referrer验证避免绕过登录通过url非法访问资源
当用户正常输入密码进入主页面后,如果把这个已经登录的页面分享出去,其他人没有登录态就变成了非法访问。
我们只想让知道密码的人从login页面输入密码进入主页面,可以采取的办法有很多种,比如判断session的登录状态,或者验证前一个页面的来源等。
本文采用referrer判断页面来源的方式禁止直接通过URL访问。referrer是前一个页面的来源信息,通过这个参数可以知道你是从什么地方访问的本页面,如果referrer为空或者非指定页面,禁止这种访问,跳转回登录页面。
referrer为空的几种情况:
- 使用
location.reload()
刷新(location.href
或者location.replace()
刷新有信息) - 通过分享访问
- 直接输入URL访问...
通过在被访问页面添加referrer验证的办法,禁止这些非法访问行为。
<script> window.onload= function(){ if (document.referrer === '') { // 没有来源页面信息的时候,改成首页URL地址 window.location.href="/"; } } </script>
此时,非法访问行为将会被重定向到登录页面。
版权声明:
作者:小鱼
链接:https://afish.org/index.php/2023/10/03/referrer_verify/
来源:小鱼的blog
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
共有 0 条评论