簡體   English   中英

在mysql_query()函數中執行多重查詢

[英]executing multi query in mysql_query() function

假設我有這樣的查詢:

$std_id =   $_POST['std_id'];
$name   =   $_POST['name'];
$family =   $_POST['family'];

$sql    =   "insert into student set
 std_id =   $std_id,
 name   =   '$name',
 family =   '$family'"; 
$query  =   mysql_query($sql,$conn); 

我讀了一本php安全性書,說如果用戶輸入家庭字段的值,例如:

ahmad';drop database test#

可以刪除數據庫測試;

但是我們知道mysql_query()函數只允許執行一個查詢。
我想知道此輸入如何不安全

只擔心多個查詢不足以保護SQL安全性。SO上有如此多的問題/答案供您閱讀有關此主題的知識。

php.net上的資源也不錯

您的問題有很多錯覺。
讓我們整理一下。

  1. mysql_query() 支持多個查詢執行。
    (因此,刪除任何內容都沒有用)
  2. 在單獨的查詢中刪除表並不是 SQL注入的唯一方法。
    (因此,再次刪除任何內容都沒有用)
  3. 為了保護您的查詢,您必須遵循一些眾所周知的技術,而不要遵循一些效率令人懷疑的手工發明。

使用多個用分號分隔的查詢並不是利用查詢的唯一方法,它只是一個非常簡單的示例。 當您使用mysqli_multi_query()時,它將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM