通过查询在页面上显示用户数据:
$query = "SELECT * FROM COLLECTIONS WHERE uid = $_GET['user_id']"
;
但问题是用户可以通过更改该uid来查看其他用户数据。 如何解决这个问题。
答案 0 :(得分:0)
让您的网站离线。 NOW。 有人要么擦除数据,要么窃取数据或注入向所有客户提供的恶意软件
呼吸。假设它还没有被破坏,你已经为自己买了一些时间。
这些以“最大的直接利益”的顺序缓解“可能是最重要的”,每个都有一个问题。 (除了数字3之外,它可以减少4到32241个等于或大于1的问题。)
.
运算符。重建所有数据库处理代码以使用某种parametrised SQL query系统。是的,我知道,该网站可能很重要,需要熬夜以便人们可以使用它。但试试这个:
www.badwebsite.com/your/page/here?uid=1 OR 1
所有数据都可见!您正在接受用户的代码并在数据库中运行它。现在如果我决定删除所有数据库表怎么办?
这只是我提出的第一点。如果您还没有完成第2步,请相信您的用户会遇到更大的问题,其中最少的是其他网站上的数百个帐户(例如Gmail,示例银行)会被网络犯罪分子所知。
看一下这个漫画:
URL请求库中还有一个unicode处理错误,我们将密码存储为未加密的...所以如果我们用表情符号加密它们,我们可以一次关闭三个问题!
这是更有趣的,但这个漫画中描述的问题可能不那么糟糕比你面临的问题。请为了委托您提供数据的人,请将其关闭几天,同时尝试使其成为类似安全的东西。
您可能想引进技术顾问;如果您的开发人员在创建防入侵软件方面没有经验,那么他们可能无法完成使不安全软件安全的任务(这种情况要难得多,特别是如果您不熟悉这种情况)。