Heim > Fragen und Antworten > Hauptteil
有个问题:一般通过url参数 查询数据的时候,是通过id 来查询数据
比如要查询一个订单详情,那么这个id 就是订单详情表的id
"http://localhost/index/order/detail/id/3.html"
那么我是不是可以改变这个id 就能查询到别人的订单详情了呢?
我做订单详情的时候是不是还要判断是否这个客户的订单?每次都判断会不会很麻烦?
还是使用订单号查询?
给我你的怀抱2017-05-16 13:03:46
当有个id被传到后台后 数据库查询的时候并不是只查询id=id这一个条件
会带上很多条件的,比如用户登录的uid , 或者session中存的用户账号什么的
当然你最好做一些sql防注入的东西,人家如果用id=1";这样的形式访问,你的sql就很危险。
仅有的幸福2017-05-16 13:03:46
权限的问题应该是后端判断吧,按照道理应该是前端传给服务器一个订单id(你这里是url传参),然后后端会去查表,然后返回数据给前端。对于权限这个问题,后端可以在收到前端的接口调用信息之后,先判断用户是否有调用这个接口的权限,如果有(且逻辑数据合理等),返回数据,如果没有,就直接返回没有权限访问,这样去控制。
PHPz2017-05-16 13:03:46
查看订单详情至少需要两个参数,订单id及当前用户id。后端首先应该先判断是否正确接收到这两个参数,然后根据订单id查找到相应的订单信息,再将当前用户id与订单信息中的下单用户id匹配,不一致则提示无权访问。