首页 > 如何阻止未登录用户进入页面

如何阻止未登录用户进入页面

做了一个页面A,想让只有登录了的用户才能访问,于是我在页面head部分加了一段ajax请求,确认用户是否登录,如果未登录则跳转到登录页面B。但在跳转到B页面之前,A页面已经被看见了,我在想怎么才能阻止未登录用户看见A页面呢?


你这种情况,我更建议你在后端的代码上加检测.

除非你的A页面是纯HTML的, 但如果是纯HTML的,那么不管你怎么加js,我都可以看到你页面中的内容.
比如:wget http://xxxx 就可以得到你的内容了.

所以,你的这种需求,还是建议你在后端的代码上加检测.
如果是PHP的话,类似于下面这样:

<?php
if(isset($_SESSION['login']) === false){
    header('Location: B页面的地址');
    exit();
}

建议服务器端进行用户登陆情况判断,在客户端做的判断碰到稍微懂行的人,直接浏览器开发工具搞定。


session或是cookie,token也行啊


如果你的A页面通过URL直接访问始终允许的话,那么需要将A页面请求做成动态页面的方式,直接发送请求给后台check用户是否登录

还有一种方式,A页面通过URL不能直接访问
先显示B页面给客户,显示一个loading画面,然后发送ajax请求到后端check是否已经登录,如果登录过了,
再发送ajax请求获取下一步(也需要检查是否登录过了)页面显示的HTML内容;如果没有那么显示登录HTML元素(可通过JS动态生成)


其实还是可以用AJAX的方法而不是服务器端进行判断的。
方法:AJAX设置为同步而不是异步,JavaScript代码放在head里就可以啦


可在后端对制定session进行判断,并对用户信息进行验证,验证通过即可访问webB。在webB控制上做session判断并添加URL重定向webA。


在服务器端存储用户登录成功的会话状态。在访问网页时判断。一下即可。未登录就直接跳转就行。还可以吧当前请求的url带上方便登录成功后跳转回来。


如果是java web的话,spring mvc框架可以设置过滤权限,如果没有登录,会将url跳转的登录页面


建议在后端做,一旦登陆了后端种cookie,进每一个页面后端都会判断有没有cookie登陆人信息,没有就重定向到登陆页面,你在登陆页面判断下url,如果是重定向过来的登陆那么登陆成功之后再跳回去,如果是正常的那么就正常跳转就可以.


对于这种处理的话,最好还是服务器来处理,因为客户端始终是不安全的
如果是纯HTML页面的话,也建议是先渲染未登陆的状态,判断登陆以后再动态修改页面状态

【热门文章】
【热门文章】