[前端技术]使用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
分享
二维码
< <上一篇
下一篇>>