網站用戶可以在網站上註冊,在註冊期間,他可以提供一個名稱。strip_tags足以從字符串中移除HTML嗎?
我希望這個名字是一個有效的名字,並且沒有任何HTML和其他時髦的字符。 strip_tags足夠嗎?
網站用戶可以在網站上註冊,在註冊期間,他可以提供一個名稱。strip_tags足以從字符串中移除HTML嗎?
我希望這個名字是一個有效的名字,並且沒有任何HTML和其他時髦的字符。 strip_tags足夠嗎?
我發現沒有單一功能來防止白癡用戶輸入。最好一起的幾個混合:
$val = trim($val);
$val = strip_tags($val);
$val = htmlentities($val, ENT_QUOTES, 'UTF-8'); // convert funky chars to html entities
$pat = array("\r\n", "\n\r", "\n", "\r"); // remove returns
$val = str_replace($pat, '', $val);
$pat = array('/^\s+/', '/\s{2,}/', '/\s+\$/'); // remove multiple whitespaces
$rep = array('', ' ', '');
$val = preg_replace($pat, $rep, $val);
$val = trim($val);
$val = mysql_real_escape_string($val); // excellent final step for MySQL entry
[N!xau?Toma](http://en.wikipedia.org/wiki/N%C7%83xau)有一個骨頭可以選擇你的正則表達式。 – ceejayoz 2012-02-21 03:12:20
@ceejayoz你是對的! – 2012-02-21 03:15:46
什麼*白名單*而不是黑名單?如果你要求用戶名符合某些要求,如「沒有時髦的字符」,只允許一定範圍的字符,並檢查,而不是其他的方式。 – deceze 2012-02-21 03:12:11