最近,我在一些客戶的網站上進行了審計。他們回來的一件事是,我可以更好地清理輸入數據,因爲人們仍然可能對數據庫造成潛在的傷害。我還應該做些什麼來消毒用戶輸入?
下面的函數是我正在使用的(舊開發人員的剩餘部分),但是我看不到潛在問題可能在哪裏。
傳遞到數據庫的字符串將通過XML顯示,然後由Flash應用程序讀取。
有誰能告訴我我可能會錯過什麼嗎?謝謝
function secure_string($string)
{
return (strip_tags(addslashes(mysql_real_escape_string(
stripslashes($string)))));
}
顯示你所需要的是字符串,而不是當前的功能。保護取決於你想要防範的事情。 – scragar 2009-10-29 10:01:48
@scragar,MySQL注入。至少他說客戶說:「對數據庫有潛在危害」。 – Frankie 2009-10-29 10:07:42
我不會做PHP(不再),但是,誠實地說,在一個鏈中調用'addslashes'和'stripslashes'確實給我的眼睛帶來了一滴眼淚。 – shylent 2009-10-29 10:44:30