2017-04-12 19 views
1

如果在將值插入到我的SQL數據庫中之前有以下代碼,那麼對於原始查詢插入它會被視爲安全嗎?數據庫條目的解析字符串

myParse(htmlspecialchars(strip_tags($body))) 

myParse是以下幾點:

function myParse($string) { 
    return ltrim(rtrim(nl2br($string))); 
} 
+0

你好。我建議你使用準備好的語句將數據從用戶插入數據庫。通過這種方式,您不必擔心在進行中清理數據的問題。這意味着您可以通過各種不同的方式訪問用戶數據,因爲它尚未更改。但是,您將在將數據注入網頁之前對數據進行清理。在其上運行htmlspecialchars,或其他任何看起來合適和安全的東西。 – Vbudo

回答

0
+0

或者(也許是更好的選擇),改用準備好的語句。另外,**不要使用'mysql_ *'函數!** – Bytewave

+0

@Bytewave使用或不使用mysql * - 取決於系統。在PHP版本<= 5.4的服務器上有系統使用完整的mysql *。而且他們工作得很好 - 爲了改變某些事情。 – Nutscracker

+0

在這一點上,如果你被困在5.4以下,可能是找到一個新的虛擬主機的時候了。從PHP 7開始,'mysql_ *'已被棄用和**已被刪除,不應在任何可能的新項目中使用。 – Bytewave