[英]Does using prepared statement to prevent SQL injection affect performance?
[英]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.