mysql查詢包含反斜杠,PHP編程如何去做防注入?
PHP作為當下主流的腳本語言,在各大互聯網公司都能看到它的身影。很多人評價PHP是安全高效的Web編程語言,其實我要說的是,PHP的安全性并不高!如果在項目開發時不去做必要的安全優化,那項目上線后很容易被注入攻擊。那該如何避免呢?
對用戶提交的數據務必做過濾及轉義處理對于Web開發而言,我們務必要清楚的知道,用戶提交過來的數據是不能保證是否合法的,所以需要對用戶提交的數據做一些過濾(過濾掉敏感詞,如:select 、' 這類SQL構造詞匯),同時用戶提交的數據中可能會帶一些惡意的JS或CSS代碼,同樣需要做轉義處理,防止在前端渲染頁面時執行這些JS或CSS。
代碼中嚴禁采用SQL拼接的方式構造SQL語句很多初級PHPer在寫SQL時喜歡采用字符串拼接的方式來構造SQL,殊不知這樣會導致SQL注入,嚴謹作法應該是使用SQL預編譯(參數綁定)的方式來傳遞參數,防止通過構造字符串的方式來進行SQL注入。
PHP配置文件安全配置PHP配置文件中有許多關于安全方面的配置,比如說:magic_quotes_gpc ,這個配置開啟后會分析用戶提交的數據(POST、GET、Cookie),如果這些數據中含有特殊字符(如:單引號、雙引號、反斜線等)則會進行自動轉義。
如果沒有開啟這個配置,那我們對于用戶提交過來的POST、GET、Cookie數據需要手動調用addslashes函數來轉義。
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我了解更多科技知識!