我用流動閱讀大量的論壇和答案對堆棧關於SQL注入如何Mysqli_escape_string或預處理語句可以從SQL注入
救我,我才知道這是SQL注入的非常基本的水平
$_POST['name'] = 'xyz;DROP Table users';
mysqli_query ('select * from abc where name='."$_POST['name']")
爲了防止對來自用戶可以把我從SQL注入任何輸入這個
- 使用mysqli_escape_stirng
- 使用PDO和準備語句也可以幫助我從SQL注入中解脫出來
Q1。我想了解的內容如何將數據傳遞到Mysqli_escape_string能救我從SQL注入
$safe_variable = mysqli_escape_String($connection ,$_POST['name'];
如何mysqli_escape_string只會從POST數據保存「XYZ」,離開了剩下的部分(如果是這樣的話) Q2302。如何PDO將
$stmt = $dbh->prepare("select * from ABC where name = :name");
$stmt->bindParam(':name',$name);
$name = $_POST['name'];
$stmt->execute();
任何幫助挽救我的SQL注入他在這方面的高度讚賞
謝謝DAN,完全覆蓋的第一部分與你說的綁定變量有關的第二個問題的問題在我的情況下分開發送,如果變量具有這個值「xyz; DROP Table ABC」,PDO將如何防止這種情況? – ahmad05
@ ahmad05我加了一段希望解釋的話。 – DanFromGermany
在非專業術語中,它只會填充:名稱與「XYZ」並保留其餘部分並執行查詢...或者根本不會執行查詢? – ahmad05