零基础学编程

0083 实现图书管理系统的个人信息查询功能

2019-08-07  本文已影响0人  学哥量化交易学习

上节课完成了公共图书库存查询功能。

这节课来完成用户个人信息查询功能。

编写用户个人信息查询功能

首先需要编写一个用户通过IC卡号和密码登录的功能,登录成功之后页面显示用户的信息,包括借阅历史清单以及目前待支付的总借阅费。

用户登录显示文件,user_login.php代码如下:

image image image

用户登录页面处理文件,user_login_do.php代码如下:

image image

用户个人信息显示文件,user_index.php代码如下:

image image

用户个人信息页面处理文件,user_index_do.php代码如下:

image

数据库操作文件,entity.php代码修改如下:

image image image

测试用户个人信息查询功能

浏览器访问公共端图书库存查询页面:

image

点击右上角的登录按钮:

image

然后输入用户的IC卡号和密码和验证码,然后点击“登录”按钮:

image

可以看到用户的个人信息,待支付借阅费信息,用户的借阅历史记录。

全部功能测试并修正代码

到这里为止,图书馆管理系统的全部的功能已经都完成了,可以开始按照之前的系统测试案例设计进行全面的功能测试。

学哥经过测试,发现以下问题:

1.check_auth权限检查有漏洞

在员工登录到后台之后,不同的员工根据权限设置可以访问不同的菜单和页面,但是在check_auth.php里面只是检查了是否有权限,并没有检查具体的页面权限,这就存在漏洞,某个员工登录之后,可以通过直接访问页面url,从而绕过权限限制。

例如,使用zhangsan账号登录,本来张三只有2个菜单的权限,就是“图书管理”和“库存管理”,然是如果zhangsan登录之后,直接在浏览器地址输入return_list.php,直接访问就可以访问这个页面,这就是有漏洞了。需要补充检查代码。

修改方案:

首先修改check_auth.php如下,检查每个页面相应的权限限制:

image

然后修改employee_list.php,将$top_menu_index=1;代码从下面移动到第一行代码,如下:

image

然后按照上面的方法,修改其它所有的一览和详细页面,文件清单如下:

employee_detail.php

books_list.php

books_detail.php

stock_list.php

stock_detail.php

user_list.php

user_detail.php

borrow_list.php

return_list.php

fillcard_list.php

order_list.php

2.新建用户的收押金订单,删除时排除此订单删除用户并删除此订单

修改entity.php文件如下:

image image

3.损毁丢失的书本的状态要修改为已损毁,这样就可以防止再次将这本书上架并被借出,从而产生逻辑错误。

修改entity.php文件如下:

image

4.库存和用户管理的页面初始化的时候,要设置状态检索条件的初始值为“全部”。

修改stock_list_do.php文件如下:

image

修改user_list_do.php文件如下:

image
上一篇下一篇

猜你喜欢

热点阅读