php - 如何防止用户操纵 URL 中的查询字符串?
问题描述
假设我有一个类似的网站foo.com
,并且让用户能够输入用户名,然后给你你的view
计数。因此,如果username
是bar
,则 url 看起来像foo.com/index.php?username="bar"
.
现在,如果我有另一个用户john
,有什么可以阻止bar
输入foo.com/index.php?username="bar"
和获取他们的view
计数?
解决方案
什么可以阻止 bar 进入 foo.com/index.php?username="bar" 并获得他们的观看次数?
简短的回答是什么。因为没有安全的(并且在不同的浏览器和系统上保持一致)方法来阻止用户编辑 url。但是...您可以检查当前登录的用户是否有权查看该数据。
如果您使用的是框架,则可能已经有 RBAC(基于角色的访问控制)的实现。所以你应该检查文档。
如果你不是并且你在一个纯 PHP 的项目中,你必须实现它。它会变得相当复杂。
这是 PHP 的缺点之一,用户可以随时更改请求(和表单内容),并且您应该始终检查数据是否正确。(这是大多数 PHP 程序员使用框架的原因之一)。
推荐阅读
- c# - 通过构造函数修改枚举
- javascript - 如何使用 if else 语句制作具有两个功能的按钮
- python - Dlib 库是免费的吗?
- php - PHP-FPM docker 容器根据引擎(docker-compose 和 swarm)有不同的行为
- php - 如何使用codeigniter和vue js上传多个文件
- spring-boot - 实时连接两个服务器端点
- php - PHP 单元终端 UI 未对齐/填充空白
- html - 默认情况下如何将滚动设置为下拉列表的顶部
- ios - 崩溃:IOS 12 和 13 中的 AVAudioSession 通知线程 EXC_BREAKPOINT
- c# - 过滤子列表记录以及父列表字段