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

PHP菜鸟关于本课程一点点思考心得,大牛轻喷!——关于登录验证时,一些小小的bug。

老师讲的很好,由浅及深,很容易理解。
但是仔细看了代码,发现了一点小小的问题,当然,视频我还没有全部看完,不知道后面的有没有讲解到该问题。如果有讲到,就忽略本帖。

首先我把下载到的源码部署在自己机器上,仔细看了看老师的代码,然后直接在浏览器中输入http://localhost/shopImooc/admin/listAdmin.php,在不登陆的情况之下,会直接出现管理员列表页面。然后点击添加或修改管理员,就会直接进入添加或者修改管理员页面。

在表单中输入相关信息提交之后,会显示请先登陆,并跳转到登陆界面,但是打开数据库后,发现数据库中的数据已经被修改或者添加数据。
再看代码,发现老师的的登陆验证工作大部分都是交给doAdminAction.php中checklogined()方法完成。所以我的做法(可能不正确,但是经过测试没有发现问题。)是将checklogined()方法改为:

if(empty($_SESSION['adminId'])&&empty($_COOKIE['adminId'])){
    alertMes("请先登陆","login.php");
    exit;
}

在没有登陆的情况下,跳回到登陆页面,并终止脚本执行,防止跳转页面之后执行后面的代码,导致数据被篡改。

这样做了之后发现仍然有一些操作,比如listAdmin.php等读操作,是没有经过doAdminAction.php中checklogined()方法的登录验证的。这样,在不登陆的情况下仍然可以查看给页面信息。

所以也想请教一下老师,有没有更好的方法对请求进来的url进行集中过滤或管理?或者有第二期视频的话,在第二期课程中给予讲解。

正在回答

1 回答

嗯 这应该是写exit退出即可

像listAdmin.php中也需要检测是否登陆,你加上checkLogined()即可

^-^...

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
手把手教你实现电商网站后台开发
  • 参与学习       117285    人
  • 解答问题       1999    个

手把手教你用PHP搭建电子商务平台,由浅入深教你搭建电商系统

进入课程

PHP菜鸟关于本课程一点点思考心得,大牛轻喷!——关于登录验证时,一些小小的bug。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信