关于校验email逻辑

来源:6-7 更新用户个人信息功能开发

白平衡

2017-12-17

老师的校验sql语句是

select count(1) from mmall_user where id = ? and email = ?

这里的id是当前线程用户的id,email是用户要更新信息输入的email,通过这两项查询,即使输入的这个email和其用户的email重复了,但是id肯定不相同,所以依然查不出,也就是说这里有个漏洞可以修改用户的email和别的用户相同?

写回答

5回答

悟空工作室

2018-02-07

这一节里的sql不是这么写的吧,是id !=   不是等于 是不等于啊  

0
0

Geely

2017-12-18

你好同学,解决了就好,辛苦啦~~

0
0

白平衡

提问者

2017-12-17

我感觉更新成功后返回的应该是传过来的user,而不是updateUser   0.0

0
0

白平衡

提问者

2017-12-17

抱歉老师是我太粗心了把  !=    看成了   =   汗颜-。-给老师填麻烦了

0
0

白平衡

提问者

2017-12-17

老师的意思是检查这个用户填写的email是不是和原来的一样,如果一样就不再修改了,可是检查也得一条查询语句,何不就算填写的一样也给他update一下

0
1
Geely
嗯也是可以的,但是email修改咱们是有个流程,验证码等,虽然一期没有加~这样做还是相对草率一些哈~
2017-12-18
共1条回复

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9476 学习 · 8804 问题

查看课程