所以,我有這樣的代碼:PHP:str_replace函數不工作
<?php
include '../config.php';
$query=$_GET['q'];
//replace
echo str_replace('\','',$query);
$sql=mysql_query($query) or die("Query not executed!");
echo $query;
echo "\n //executed";
mysql_close();
?>
的問題是在$ _GET,例如使用當 ',例如:「更新用戶設置幣= 3其中username ='管理員返回:「更新用戶設置硬幣= 3其中username = \ '管理員\'應該=> '管理員' 「」
也就是說**非常危險**代碼。您允許用戶將任意SQL傳遞到您的數據庫並執行它。什麼是阻止某人摧毀你的數據庫?更新他們的用戶記錄並給予他們自己的總特權你應該**感謝**你是一個過時的PHP安裝,它仍然啓用了register_globals。丟棄這段代碼,將它燒成灰燼,將灰燼分散到不同的大洲,然後在做其他事情之前學習如何編寫安全的PHP代碼。 –
這不會引發語法錯誤嗎? – Flosculus
我不記得連接是\或/,但如果它是\,你將不得不添加一個額外的\我相信。 –