首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阻止用户通过URL更改id获取数据

阻止用户通过URL更改id获取数据
EN

Stack Overflow用户
提问于 2018-04-11 01:58:38
回答 1查看 164关注 0票数 0

按查询在页面上显示用户数据:

$query = "SELECT * FROM COLLECTIONS WHERE uid = $_GET['user_id']"

但问题是,用户可以通过更改该uid来查看其他用户的数据。如何解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2018-04-11 02:08:47

让你的网站离线。现在使用某人将擦除数据或窃取数据,或注入恶意软件,为所有客户提供服务

深呼吸。你已经为自己赢得了一些时间,假设它还没有被攻破。

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

这些缓解,按照“有最大的直接利益”到“可能是最重要的”的顺序,每个问题一个。(除了数字3,它可以减少4到32241个与数字1相等或更大的问题。)

  1. 检查每个数据库请求的每个实例,并确保在定义查询字符串时不使用双引号或.运算符。重新构建所有数据库处理代码以使用某种parametrised SQL query系统。
  2. 使用验证库,或者至少使用加密库。
  3. 使用无法追踪到您的网站的帐户询问您在Security Stack Exchange上的设置。如果您的网站与您的公司相关联,即使对您的公司也不会。

为什么?

是的,我知道,这个网站可能很重要,需要保持在线,这样人们才能使用它。但是试试这个:

代码语言:javascript
复制
www.badwebsite.com/your/page/here?uid=1 OR 1

所有数据都是可见的!您正在接受来自用户的代码,并在数据库中运行它。现在,如果我决定删除您的所有数据库表呢?

这只是涵盖了我提出的第一点。请相信,如果你没有完成第二步,你的用户会遇到更大的问题,其中最小的问题是他们在其他网站(例如Gmail,Example Bank)上的数百个账户被网络犯罪分子所知。

看看这幅连环画:

在URL请求库中也有一个unicode处理错误,我们将密码存储为未加盐的...因此,如果我们用表情符号来打发他们,我们可以一次解决三个问题!

这是为了更有趣,但这个连环画中描述的问题可能没有你面临的问题那么糟糕。为了那些把他们的数据托付给你的人,请关闭它几天,同时你试图使它变得安全。

您可能希望引入一位技术顾问;如果您的开发人员在创建防入侵软件方面没有经验,那么他们可能无法胜任使不安全的软件安全的任务(这是困难的数量级,特别是如果您是新手的话)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49760200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档