通过url更改id来阻止用户获取数据

2w3kk1z5  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(281)

按查询显示页面上的用户数据: $query = "SELECT * FROM COLLECTIONS WHERE uid = $_GET['user_id']" ;
但问题是,用户可以通过更改uid来查看其他用户的数据。如何解决这个问题。

9gm1akwq

9gm1akwq1#

使您的网站脱机。现在。有人要么清除数据,要么窃取数据,要么注入提供给所有客户的恶意软件
呼吸。你已经为自己争取了一些时间,假设它还没有被破坏。

你需要采取的安全措施的一小部分

这些缓解,按“立竿见影”到“可能最重要”的顺序,各有一个问题(除3号之外,3号可以缓解4到32241个与1号问题同等或更大的问题。)
仔细检查每个数据库请求的每个示例,确保您从未使用双引号或 . 运算符来定义查询字符串。重新生成所有数据库处理代码以使用某种参数化sql查询系统。
使用身份验证库,或者至少是加密库。
使用无法追踪到您网站的帐户,询问您在security stack exchange上的设置。即使是你的公司,如果你的网站是与你的公司。

为什么?

是的,我知道,那个网站可能很重要,需要熬夜,这样人们才能使用它。但试试这个:

www.badwebsite.com/your/page/here?uid=1 OR 1

所有的数据都是可见的!您正在接受来自用户的代码并在数据库中运行它。如果我决定删除所有的数据库表呢?
这只是我说的第一点。请相信,如果你没有完成第二步,你的用户会遇到更大的问题,其中最小的问题是他们在其他网站(如gmail、example bank)上的数百个帐户被网络犯罪分子所知。
看看这个连环画:

在url请求库中还有一个unicode处理错误,我们将密码存储为非盐密码。。。所以,如果我们用表情符号给他们加盐,我们可以一次解决三个问题!
这是为了更有趣,但这个漫画中所描述的问题可能没有你所面临的问题那么糟糕。为了那些把数据托付给你的人的利益,请关闭它几天,同时让它看起来更安全。
你可能想请一位技术顾问;如果您的开发人员在创建防入侵软件方面没有经验,那么他们可能无法胜任使不安全的软件安全的任务(这要困难好几个数量级,特别是如果您对这类事情还不熟悉的话)。

相关问题