簡體   English   中英

PHP-db2 / odbc中的SQL Prepared語句(防止注入)

[英]PHP - SQL Prepared statement in db2/odbc (prevent injection)

根據我在MySQL方面的經驗,我從未使用過准備好的語句(我主要是前端用戶,並且只進行測試查詢)。

具體來說,我現在擁有一個使用表單的站點,該表單使用odbc連接來更新DB2數據庫。 我是這個世界的新手,但我意識到我在下面的查詢容易受到注入的攻擊。

我將如何更改它以創建准備好的語句?

  $connectionstring = odbc_connect(A4_ODBCLINK, A4_ODBCUSER, A4_ODBCPW);

  if (!$connectionstring) {
  die('Could Not Connect:');

  }

  $sql = " UPDATE " . A4F_CUSTMSTFC . "
        SET XBLZIC ='" .$_POST['zip'] . "'
        WHERE XCSTNO ='" .$_POST['uname']. "'";

  $queryexe = odbc_exec($connectionstring, $sql);

您應該能夠執行以下操作:

$sql = " UPDATE " . A4F_CUSTMSTFC . "
    SET XBLZIC = ?
    WHERE XCSTNO = ?";
$stmt = odbc_prepare($connectionstring, $sql);
$success = odbc_execute($stmt, array($_POST['zip'], $_POST['uname']));

有關更多信息,請參見http://php.net/manual/en/function.odbc-prepare.php,但基本上只是將? 代替您以后要綁定的變量。

暫無
暫無

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

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