SQL注入我有一些PHP脚本,我认为这有很多的错误。因为我在串联和SQL注入方面的知识有限。第一次我没有任何麻烦,因为这个脚本使用PHP-Mysql。
但是在我尝试更换Interbase后,我遇到了很多麻烦。 请帮助找出我的错。
这个我下面的查询:
$sLimit = "";
if (isset($_POST['iDisplayStart']))
{
$sLimit = " FIRST ".$_POST['iDisplayStart']." SKIP ".$_POST['iDisplayLength'];
}
$sOrder ="";
$sOrder = " ORDER BY LINE_NAME ";
$sWhere = "";
if (postVar('sSearch') !="")
{
$sWhere = " WHERE (LINE_NAME LIKE '%".$_POST['sSearch']."%' OR
MODEL_ONLY LIKE '%".$_POST['sSearch']."%' OR ".
" VER_ONLY LIKE '%".$_POST['sSearch']."%' OR ".
" LOT_SIZE LIKE '%".$_POST['sSearch']."%' OR ".
" START_SERIAL LIKE '%".$_POST['sSearch']."%' OR ".
" SERIAL_NO_LOW LIKE '%".$_POST['sSearch']."%' OR ".
" SERIAL_NO_UP LIKE '%".$_POST['sSearch']."%' OR ".
" PROD_NO LIKE '%".$_POST['sSearch']."%' OR ".
" PROD_DATE LIKE '%".$_POST['sSearch']."%') ";
}
$sQuery = "SELECT LINE_NAME, MODEL_ONLY, VER_ONLY, PROD_NO,
LOT_SIZE, START_SERIAL, SERIAL_NO_LOW, SERIAL_NO_UP, PROD_DATE
FROM DOC_TO".$sWhere.$sOrder.$sLimit.";";
$rResult = ibase_query($sQuery) or _doError(_ERROR30 . ' (<small>' . htmlspecialchars($sql) . '</small>): ' . ibase_errmsg());
$sQuery = "SELECT COUNT(*) FROM (SELECT LINE_NAME, MODEL_ONLY, VER_ONLY, PROD_NO,
LOT_SIZE, START_SERIAL, SERIAL_NO_LOW, SERIAL_NO_UP, PROD_DATE
FROM DOC_TO'.$sWhere.$sOrder.$sLimit.')";
$rResultFilterTotal = ibase_query($sQuery) or _doError(_ERROR30 . ' (<small>' . htmlspecialchars($sql) . '</small>): ' . ibase_errmsg());
$aResultFilterTotal = ibase_fetch_assoc($rResultFilterTotal);
$iFilteredTotal = $aResultFilterTotal[0];
笔记:我需要更多地了解concatenation.thanks的进步。
错误:
Dynamic SQL Error SQL error code = -104 Token unknown - line 3, column 39 '.. ORDER BY LINE_NAME ..'
工作原理:你问一个具体的问题,并得到一个具体的答案。如何不起作用:你要求人们做你的工作。 – zerkms 2010-11-22 02:13:34
附加说明:了解SQL注入攻击。此代码对他们开放很多。 – David 2010-11-22 02:14:08
这里有什么问题吗?你有错误吗? – 2010-11-22 02:14:12