vue怎么防止用户直接url跳转页面

新手上路,请多包涵

设置了导航守卫和拦截器,还是可以直接从地址栏访问页面,甚至还能调用接口。。。
image.png
image.png

阅读 9.3k
2 个回答

这种只能由后端识别并拒绝,而且识别是有相当难度的。
可以让后端只给一个入口页的 URL,其他的所有 URL 识别到 get 请求直接拒绝请求或者重定向到入口页,这样用户靠 URL 跳转只能到入口页面。
但用户如果使用抓包工具还是可以模仿你的页面发请求,识别这些模拟的请求这是一个世界级的难题,如果谁有独步天下的秘法,可以在反爬虫界横着走。

<template>
    <div>
        <component :is="isHaveToken"></component>
    </div>
</template>
<script>
    export default {
         data(){
             return {
                 isHaveToken:''
             }
         },
         mounted(){
           localStorage.getItem('token') ? '自己的组件' : 'goLogin'
         }
     }

</script>

先写一个去登陆组件,然后用动态组件先判断有没有 token ,有的话就正常显示,没有就指向去登陆组件,,,,,,不知道这样行不行,,我之前写react的时候 用 Redirect 就搞定了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题