您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> PHP >> 防止其他人通过用户的url访问用户私人数据

防止其他人通过用户的url访问用户私人数据

来源:网络整理     时间:2018/1/27 1:04:59     关键词:

关于网友提出的“ 防止其他人通过用户的url访问用户私人数据”问题疑问,本网通过在网上对“ 防止其他人通过用户的url访问用户私人数据”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 防止其他人通过用户的url访问用户私人数据
描述:

1,数据是用户私人的,只能被用户自己查看,如果防止其他人通过url访问数据?

2,访问都需要登陆操作,session中放入userId, 记录中放入userId,每次访问的时候根据url中记录id 得到数据,根据数据中的userId 和session中的userId 是否匹配判断是否是用户本人访问??
但是这样就会导致需要查询数据库之后才可以得知结果

3,url中放入userId,根据url中的usrId和session中保存的userId 进行匹配判断是否是本人访问,
这样会将userId暴漏在url中

各位都是怎么做的


解决方案1:

方法1.使用session,如果seesion直接throw
方法2.生成token,存在redis或者其它缓存机制,同是你也可以存放一些,比如uid,权限,请求限制

解决方案2:

1、userid不要放到url中

2、采用token,jwt加时间戳,放到每次请求的header中

解决方案3:

一个url就能访问到别人的私人数据,只能说明你做的东西太那个啥了。你看看别人都是咋开发的,同样的URL只可以访问已登录用户自己的数据。对于保密的数据不仅不能让其他人随意的通过URL访问,还得防止爬虫抓取。河南农业大学的系统就存在类似的漏洞,所以既然是隐私数据,那么保密工作不仅仅是一个URL的事儿,服务器配置各方面都有。就像上述河南农业大学的学生私人信息其实就是服务器配置不当,那么后台系统层面该做的就是授权与鉴权。所以虽然URL一样,但只有授权过的用户才能让他看

解决方案4:

私人数据的ID如果不和用户ID做关联,其他用户在被授权了的情况下,就有可能通过枚举数据ID的方式,访问到别的用户的私人数据,个人感觉只要查询的时候多拿出用户ID,然后在程序中比对下,也还好吧

解决方案5:

url做成通用的,数据请求需要用户自己主动触发

解决方案6:

用户登录成功后保存相关数据到session,从session里取出用户的ID,每次查询条件都加上该id。

解决方案7:

目前,多数的解决方案是token session设置时间限制!

解决方案8:

我明白你的意思,我的想法是这样的。
每次用户用自己的 url 访问服务器去拿数据,服务器会用一种算法算出一个种子,然后发送给用户登陆时所用的浏览器的缓存中,当然有时间限制。只是这个种子必须要存在数据库中

解决方案9:

每个页面肯定会有请求,请求时候会带上用户信息,用户登录后才会有用户信息。所以只要判断是否可以拿得到用户信息就知道既可以了,拿不到用户信息就让用户去登陆就好了!

解决方案10:

订单变中肯定要存用户 id,查询的时候根据订单id和用户id来查询,订单id可暴露,用户id通过session过去,不要直接暴露给用户。

解决方案11:

既然是私人数据,那就不需要在路由中体现 userId,登录之后,一切数据依据SESSION中的userId去查询,怎么可能会出现访问到其它用户的数据呢


以上介绍了“ 防止其他人通过用户的url访问用户私人数据”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4536101.html

相关图片

相关文章