按查询在页面上显示用户数据:
$query = "SELECT * FROM COLLECTIONS WHERE uid = $_GET['user_id']";
但问题是,用户可以通过更改该uid来查看其他用户的数据。如何解决这个问题。
发布于 2018-04-11 02:08:47
让你的网站离线。现在使用。某人将擦除数据或窃取数据,或注入恶意软件,为所有客户提供服务
深呼吸。你已经为自己赢得了一些时间,假设它还没有被攻破。
您需要采取的安全措施的一小部分
这些缓解,按照“有最大的直接利益”到“可能是最重要的”的顺序,每个问题一个。(除了数字3,它可以减少4到32241个与数字1相等或更大的问题。)
.运算符。重新构建所有数据库处理代码以使用某种parametrised SQL query系统。为什么?
是的,我知道,这个网站可能很重要,需要保持在线,这样人们才能使用它。但是试试这个:
www.badwebsite.com/your/page/here?uid=1 OR 1所有数据都是可见的!您正在接受来自用户的代码,并在数据库中运行它。现在,如果我决定删除您的所有数据库表呢?
这只是涵盖了我提出的第一点。请相信,如果你没有完成第二步,你的用户会遇到更大的问题,其中最小的问题是他们在其他网站(例如Gmail,Example Bank)上的数百个账户被网络犯罪分子所知。
看看这幅连环画:

在URL请求库中也有一个unicode处理错误,我们将密码存储为未加盐的...因此,如果我们用表情符号来打发他们,我们可以一次解决三个问题!
这是为了更有趣,但这个连环画中描述的问题可能没有你面临的问题那么糟糕。为了那些把他们的数据托付给你的人,请关闭它几天,同时你试图使它变得安全。
您可能希望引入一位技术顾问;如果您的开发人员在创建防入侵软件方面没有经验,那么他们可能无法胜任使不安全的软件安全的任务(这是困难的数量级,特别是如果您是新手的话)。
https://stackoverflow.com/questions/49760200
复制相似问题