PHP四大安全策略

2021-08-28 01:58:38 字數 1369 閱讀 9011

一、檔案系統安全

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擴充套件在效能方面有有很大優勢

請參看

對一些敏感資訊進行加密,常見的比如對密碼進行加密

三、使用者資料過濾

對使用者資料過濾,可以防範xss和csrf攻擊

使用白名單(使用者輸入是固定模式)的方式

比如使用者名稱只能使用數字字母,那麼可以使用函式ctype_alnum判斷

對使用者輸入使用函式 htmlentities或者htmlspecialchars進行處理,輸入url不允許傳入非http協議

使用者身份驗證使用令牌 token(csrf)

html purifier 是開源的防範xss攻擊的有效解決方案,

四、其他安全策略

線上環境關閉錯誤報告(error_reporting,dislay_erros,可在php.ini中配置error_log路徑,記錄錯誤資訊,這樣有助於發現可能的使用者攻擊)

register globals,棄用(移除)的特性,不要使用

魔術引號特性,不要開啟,在php-5.4中已經被移除

盡量使用php的最新版本,最新版本修復了已知的很多php安全

漏洞和bug

**中嚴格遵守上述策略,基本能保證**不會有太多的安全漏洞,能防範常見攻擊。

四大安全頂會

自1980年以來,ieee安全與隱私研討會 s p 一直是介紹計算機安全和電子隱私發展的首要論壇,也是匯集該領域研究人員和實踐者的主要論壇。usenix最開始其實是unix,但是由於商標問題後來改為usenix,具體過程可以參見維基百科usenix。usenix 其實是乙個計算機類會議的總稱,詳細會...

大資料雲安全策略四大竅門

zdnet至頂網伺服器頻道 04月18日 新聞訊息 雲計算與大資料的結合可以說是天作之合。大資料需要靈活的計算環境,而後者可以快速 自動地進行擴充套件以支援海量資料。基礎設施雲可以精準地提供這些需求。但是無論什麼時候對雲計算展開討論,我們都無法迴避以下問題 針對大資料的雲安全策略是什麼?當在大資料使...

真正有用的四大安全指標

隨著安全問題越來越多的受到董事會和管理層的關注,不僅管理層需要各種指標以得到對安全態勢更為清晰的視角,安全專業人士也逐漸被要求提供一些可以跟蹤公司當前防禦狀態的各項指標。但,哪些數字才是真正有用的呢?通常情況下,高階管理層不太清楚該過問哪類問題,還可能會太過關注預防而疏於減輕損失。類似響應安全事件的...