我使用這個目前停在文字區域子彈,但它似乎並不奏效子彈:試圖進入我的數據庫爲特殊字符
function sanitizeMySQL($var){
$var = mysql_real_escape_string($var);
$var = sanitizeString($var);
return $var;
}
function sanitizeString($var)
{
$var = str_replace('•','•', $var);
$var = htmlentities($var);
$var = strip_tags($var);
return $var;
}
這是子彈出現像我有人後DB提交他們通過一個文本:
•
編輯:這是什麼現在我得到:•
。
我確實有子彈存儲在我的分貝,所以我知道它允許他們。用拉丁-1編碼存儲子彈是否有正確的方法?
您的表是否使用latin-1編碼?因爲我相當肯定圓形子彈是UTF-8的東西。 – Palladium 2012-07-26 17:15:56
這是一個編碼問題。什麼編碼是你的網頁,你在數據庫中使用什麼編碼?注意:'strip_tags()'和'htmlentities()'對數據庫衛生沒有必要,請參閱[終極乾淨/安全功能](http://stackoverflow.com/q/4223980)/ – 2012-07-26 17:16:34
您應該真正清理字符串**之前**你逃脫它。我很確定JS可以通過這個甚至SQL來注入。 – Vatev 2012-07-26 17:19:14