为了账号安全,请及时绑定邮箱和手机立即绑定

​如何防止用户未登录,直接用url访问页面。

​如何防止用户未登录,直接用url访问页面。

lvshaohe 2018-11-29 12:28:37

例如,我有一个登录页面A,一个主页面B。我想让用户在A页面登录后,正常跳转到B页面。而不允许用户直接用B页面的url来访问该页面。整个开发的框架:html+js+php+apache+mysql

查看完整描述

17 回答

?
漂流風車

TA贡献77条经验 获得超22个赞

sessionstorage存一个标识字符串,

进入除了登录页面的时候的其他页面首先获取sessionstorage内存的标识是否存在,

因为要登录肯定有权限,哪些人能看到哪些东西,一般存的是token或者用户ID和权限等级,

如果这些存在就发送ajax请求获取数据,如果不存在就重定向到登录页面就行了

查看完整回答
反对 回复 2018-12-03
  • lvshaohe
    lvshaohe
    我现在通过使用session已经解决了这个问题,不过还是很感谢你提供的这个解决思路。我回头试一下。
  • 漂流風車
    漂流風車
    session和sessionstorage差不多可以试试看 ,后者在用户关闭浏览器的时候自动失效
?
qq_0_39

TA贡献1条经验 获得超0个赞

if( !( 请求控制器 == 权限模块 && ( 方法 == 登录 || 方法 == 注册 || 其他不需要验证的方法 ))){

   //验证session

    if( 木有session){

        header( 跳转url );    } 

}

查看完整回答
反对 回复 2018-11-29
?
Python工程师

TA贡献42条经验 获得超17个赞

session解决这个问题

查看完整回答
反对 回复 2018-11-29
?
Python工程师

TA贡献42条经验 获得超17个赞

主要是session

查看完整回答
反对 回复 2018-11-29
  • lvshaohe
    lvshaohe
    我在登录成功后,用一个a.php文件把值保存到session里面了,在b.php文件取出session对应的这个值来做判断,如果有值就不做处理,没有值的话就跳转到登录页面。我单独使用这个b.php文件是生效的,但是我在我的主页面(html页面)用script标签来引入这个b.php文件,就不起效果了。我又做了一个测试,在我的主页面,去引用一个c.php,结果可以正常的alert出c.php的值。所以,我现在就非常的纳闷,为什么在我的主页面中,引入的这个b.php会不起效果(肯定不是b.php文件有错)。
  • lvshaohe
    lvshaohe
    我在登录成功后,用一个a.php文件把值保存到session里面了,在b.php文件取出session对应的这个值来做判断,如果有值就不做处理,没有值的话就跳转到登录页面。我单独使用这个b.php文件是生效的,但是我在我的主页面(html页面)用script标签来引入这个b.php文件,就不起效果了。我又做了一个测试,在我的主页面,去引用一个c.php,结果可以正常的alert出c.php的值。所以,我现在就非常的纳闷,为什么在我的主页面中,引入的这个b.php会不起效果(肯定不是b.php文件有错)。
?
Python工程师

TA贡献42条经验 获得超17个赞

这个是基本的用户权限控制问题,建议去好好看看相关书籍文档

查看完整回答
1 反对 回复 2018-11-29
?
jacky0382

TA贡献5条经验 获得超0个赞

session

查看完整回答
反对 回复 2018-11-29
  • lvshaohe
    lvshaohe
    这个session要怎么用,是要在用户访问A页面的时候,把用户的id存入到session里面。然后在访问B页面的时候,去查询这个session里面的id是否有值?如果没有值就返回A页面,有值就访问B页面吗?

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信