【发布时间】:2018-12-15 16:27:39
【问题描述】:
P.S:我知道始终使用用户准备好的语句是一种最佳实践,使用准备好的语句应该是一种习惯。所以暂且不说,请让我知道技术上如果我不使用prepare 在下面的场景中写下会出现什么问题。
1.我没有从用户或任何其他类文件中获得任何输入,而且我以后也不会。
2. 我从同一个 PHP 文件中的变量(例如数组)中获取输入。
示例:($myID 将是同一个 PHP 文件中硬编码的变量)
$myID=12;
$wpdb->query("UPDATE `$table_name` SET `your_column_1` = 1 WHERE `myTable`.`your_column_id` = $myID");
【问题讨论】:
-
那你从哪里得到你的价值观?那么实际的数据源是什么?
-
“同一页面中的变量”是什么意思?这里的“页面”指的是什么?
-
@arkascha 按页面我的意思是相同的 php 文件,我编辑了问题。
-
如果那个 id 是一个常量值,那为什么它是一个变量呢?为什么不是常数?
-
@arkascha 亲爱的朋友,我只是在将其发布到 stackoverflow 之前简化了我的问题,以便于阅读,因此您无需关注细节。通常我有一个数组,我使用数组的元素使用 foreach 并创建查询。
标签: php security prepared-statement sql-injection