@xtgss007 你好,想跟你请教个问题:localhost/index.php/Game/gamelist/id/300 如果用户恶意修改参数,这个时候想弹出提醒框,或者怎么加权限判断一下?如果加权限判断的话,怎么知道url地址被改过?谢谢您
需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
你不用去checkURL,你要做的是再一次去查这个用户所能看到的列表数据,看用户传过来的这个id是否存在于这个用户所能看到的列表中(比较id),如果存在 ,则是正常的,否则弹出无权限即可
回复 我刚才试了一下,可以实现,谢谢你
我用的tp,我在后台数据都加上了权限,但是主管让做出一个提醒框。我在函数里复制了这段代码(网上搜的),在控制器里调用 就会弹出一个提醒框,这样可以吗?有什么弊端吗?谢谢你!
有两种解决方法:
1、 写一个可逆的加密解密方法,在生成localhost/index.php/Game/gamelist/id/加密id,然后在服务端取到id时,再根据密钥进行解密。如果解密不了或不符合,则抛出异常
2、在取到id=300的时候,取数据前再一次 获取 这个用户可访问的数据的所有的id,如果当前id存在于列表id中,则返回数据,否则抛出异常
这都防止?
id是300,是根据用户id查出来的,在后台数据都是根据用户id查出来的,都限制了,用户更改url参数的时候,会显示空数据,主管说这样不好,要弹出提醒,刚在网上有找到的方法,可以实现功能,不知道会有没有弊端呢!
谢谢你哦!
后端取到参数验证数据和权限即可。
后台有加的权限,但是主管让做出当修改url地址的时候,弹出一个提醒,没办法,主管要求啥,就得做啥,刚毕业,好多东西都不会,在慢慢学
谢谢你呢
你判断这个ID这个人能不能访问就可以拉
你好,将id值加密,你说的服务器验证是指后台接收值的时候验证是吗?我有一个疑问:后台接收值的时候再解密,用户更改了数据之后,加不加密不都一样了吗?我不大懂服务器验证是什么,您能再给我说一下吗?谢谢你!
回复 你的服务端有一个密钥,加密的时候用这个密钥,用户再一次给你把加密后id传过来的时候再用这个密钥去解密,这个密钥用户又不知道。所以篡改数据后正确性的几率很小
回复 嗯呢,明白了,谢谢你!
这个是无法避免的,你通过明文传递ID就是这样,你将id值做简单的加密,不那么容易破解,当用户修改过后通不过你服务器的验证,你就可以返回错误内容了!
这个人比较懒,什么都没有填写!
发布评论
需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。