您好,登錄后才能下訂單哦!
這篇文章主要介紹“PHP四大安全策略是什么”,在日常操作中,相信很多人在PHP四大安全策略是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP四大安全策略是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
一、文件系統安全
php如果具有root權限,且在腳本中允許用戶刪除文件,那么用戶提交數據,不進行過濾,就非常有可能刪除系統文件
<?php
// 從用戶目錄中刪除指定的文件
$username = $_POST['user_submitted_name'];
$userfile = $_POST['user_submitted_filename'];
$homedir = "/home/$username";
unlink ("$homedir/$userfile");
echo "The file has been deleted!";
?>
上面的代碼,假設用戶提交的$userfile值是 ../etc/,那么/etc目錄就會被刪除
防范文件系統攻擊,策略如下
只給php有限的權限
用戶提交上來的變量要監測和過濾,不能包含文件路徑等特殊字符
盡量避免使用PHP操作文件(刪除),如果有這方面的需求,那用戶可刪除文件也必須是系統生成的隨機名稱,不可被用戶控制
二、數據庫安全
數據庫安全主要防范的是sql injection,即sql注入攻擊,提升數據庫安全的策略如下:
不用使用root帳號或者數據庫所有者帳號連接數據庫,連接數據庫限定連接用戶的ip
使用php的pdo擴展,有效防止sql注入,除了安全方面的優勢,php的pdo擴展在性能方面有有很大優勢
請參看 http://php.net/manual/en/pdo.prepared-statements.php
對一些敏感信息進行加密,常見的比如對密碼進行加密
三、用戶數據過濾
對用戶數據過濾,可以防范XSS和CSRF攻擊
使用白名單(用戶輸入是固定模式)的方式
比如用戶名只能使用數字字母,那么可以使用函數ctype_alnum判斷
對用戶輸入使用函數 htmlentities或者htmlspecialchars進行處理,輸入url不允許傳入非http協議
用戶身份驗證使用令牌 token(csrf)
http://htmlpurifier.org/ HTML Purifier 是開源的防范xss攻擊的有效解決方案,
四、其他安全策略
線上環境關閉錯誤報告(error_reporting,dislay_erros,可在php.ini中配置error_log路徑,記錄錯誤信息,這樣有助于發現可能的用戶攻擊)
Register Globals,棄用(移除)的特性,不要使用
魔術引號特性,不要開啟,在PHP-5.4中已經被移除
盡量使用PHP的最新版本,最新版本修復了已知的很多安全漏洞和bug
代碼中嚴格遵守上述策略,基本能保證代碼不會有太多的安全漏洞,能防范常見攻擊。
到此,關于“PHP四大安全策略是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。