如何使用動(dòng)態(tài)表名防止SQL注入?我這次討論的名聲很高PHP蓋伊:PDO在這里沒(méi)用。以及MySQL_REAL_EXECH_String。質(zhì)量極差。這當(dāng)然很酷,但我真的不知道建議使用mysql_real_escape_string或PDO修復(fù)此代碼:<script type="text/javascript">
var layer;
window.location.href = "example3.php?layer="+ layer; <?php //Make a MySQL connection
$query = "SELECT Category, COUNT(BUSNAME)
FROM ".$_GET['layer']." GROUP BY Category";
$result = mysql_query($query) or die(mysql_error());變成這樣$layer = mysql_real_escape_string($_GET['layer']);$query = "SELECT Category, COUNT(BUSNAME)
FROM `".$layer."` GROUP BY Category";考慮到JavaScript代碼得到客戶端發(fā)送。
3 回答

嚕嚕噠
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
$allowed_tables = array('table1', 'table2');$clas = $_POST['clas'];if (in_array($clas, $allowed_tables)) { $query = "SELECT * FROM `$clas`";}

慕標(biāo)5832272
TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
'...FROM `' . str_replace('`', '``', $tableName) . '`...'
mysql_real_escape_string
addslashes
添加回答
舉報(bào)
0/150
提交
取消