![](/img/trans.png)
[英]How to prevent SQL Injection for URL Parameter changing (DELETE Statement) PHP
[英]How to delete a table with SQL injection
我只是想在这里找出一些东西。 我正在研究SQL注入,无论尝试多少,我似乎都无法删除该表,而且我想知道是否无法完成该操作-请问我有一些有关此表如何执行的示例被删除?
<?php
$username = trim($_POST['username']);
$cxn = mysqli_connect($a,$b,$c,$d);
if ($cxn) {
$sql = "SELECT * FROM members WHERE logins = '{$username}';";
// tried sending: '; DROP TABLE members".' doesn't work...
$result = mysqli_query($cxn,$sql)
if (!$result) { echo 'Couldn\'t be done!'; } else { echo 'Query completed!'; }
}
?>
那么,如何使用SQL注入删除表成员-还是Web安全的? 谢谢。
除非您使用mysqli_multi_query
,否则MySQLi不允许多堆栈查询,因此将无法执行DELETE
-ing或DROP
mysqli_multi_query
。
但是,此代码仍然非常不安全。
假设$ username取得值
$username = "' or id > '1"
它会转移成
SELECT * FROM members WHERE logins = '' or id > '1'
有致命的误会。
SQL注入不等于删除表。 后一个动作只是一个例子,非常生动,但在阅读环境中却不太可行。 但是注入不仅限于删除表!
因此,即使在您的特定情况下无法进行这种特定类型的注入,也不会使您的代码“网络安全”!
您不必关心使用注射的众多特定方法,而必须立即减少所有注射。 通过使用准备好的语句
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.