1:使用預處理語句防止sql注入
2:寫入數據庫的數據要進行特殊字符的轉義,比如字符中帶單引號和雙引號需要在應用層轉義,這樣為了防止sql注入
3:查詢的錯誤信息不要返回給用戶,將錯誤記錄到日志。錯誤信息不要顯示到應用中,這樣用戶會獲取到數據庫信息,這樣就是不安全,我們要把錯誤屏蔽,定期排查錯誤看日志就可以了
注意:php端盡量使用pdo進行數據庫相關的操作,pdo擁有對預處理語句很好的支持方法,mysqli也有,但是可擴展性不如pdo,pdo支持擴展的庫比較多,不僅僅支持mysql,效率略高于pdo,但mysqli僅僅支持mysql,mysql函數庫在新版本中已經趨向于淘汰,所以不建議使用,而且它沒有很好的支持預處理的方法
4:定期做數據備份
5:不給查詢用戶root權限,合理分配權限;比如服務器有好多應用,不能每個都給root權限
6:關閉遠程訪問數據庫權限,這樣有可能會被破解,就不安全了
7:修改root口令,不用默認口令,要復雜,不能輕易被猜到
8:刪除多余的用戶
9:改變root用戶的名稱,改一些別人不容易猜到的
10:限制一般用戶瀏覽其他庫;比如多個應用,每個應用建立獨立的用戶,不能訪問其它庫
11:限制用戶對數據文件的訪問權限,對文件做權限的限制,不僅僅每個用戶限制訪問mysql庫的權限,而且要限制mysql存儲數據的data目錄權限
相關推薦:
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END