【发布时间】:2013-11-04 07:31:55
【问题描述】:
这是一个相当简单的问题,但我无法用谷歌搜索答案。
在我之前的一个问题中,我问我如何在 $_GET 值是动态的时保护自己免受注射,例如在浏览帖子并且您有 index.php?post=11 并且您需要猜测帖子 ID 时。
现在我要问如果 $_GET 值是静态的并且总是相同的安全类型是什么
我有一个类似这样的索引页面 index.php?go=upcoming 和 go=upcoming 总是一样的。因此,与其猜测这里我有静态值,而且我有一个代码来检查它并查看是否即将发布的值来显示其余代码。
我在这里添加了一个完整的代码,用于查询其余代码的功能,例如我没有添加的 html 格式。太长了。
if(isset($_GET['go']) && $_GET['go'] == 'upcoming' ){
mysqli_query($conn, " SELECT * FROM deals WHERE upcoming=1");
}
else {
mysqli_query($conn, "SELECT * FROM deals WHERE active=1");
}
我是否需要担心这个 sql 注入和/或其他黑客和安全问题?
【问题讨论】:
-
是什么阻止了用户在地址栏中输入 URL,而不是从索引页面链接?
-
“注射” 什么? HTML、SQL、无效参数?
-
只有当您将客户端提供的值替换为 SQL 语句、HTML 页面或其他一些活动数据时,注入才是一个问题。如果您只是在 PHP
if语句中使用该值,则注入不是问题。 -
@Frits van Campen sql 注入,因为即将到来的交易()函数连接到数据库以提取即将发生的交易的数据。
-
标签: php security mysqli get sql-injection