<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • php性能優化及安全策略(附xss攻擊安全防范措施)


    PHP你一定要知道的四大安全策略

    1.文件系統安全

    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操作文件(刪除),如果有這方面的需求,那用戶可刪除文件也必須是系統生成的隨機名稱,不可被用戶控制

    PHP你一定要知道的四大安全策略

    2.數據庫安全

    數據庫安全主要防范的是sql injection,即sql注入攻擊,提升數據庫安全的策略如下:

    不用使用root帳號或者數據庫所有者帳號連接數據庫,連接數據庫限定連接用戶的ip

    使用php的pdo擴展,有效防止sql注入,除了安全方面的優勢,php的pdo擴展在性能方面有有很大優勢

    請參看
    http://php.net/manual/en/pdo.prepared-statements.php

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

    PHP你一定要知道的四大安全策略

    3.用戶數據過濾

    對用戶數據過濾,可以防范XSS和CSRF攻擊

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

    比如用戶名只能使用數字字母,那么可以使用函數ctype_alnum判斷

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

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

    HTML Purifier 是開源的防范xss攻擊的有效解決方案,

    4.其他安全策略

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

    Register Globals,棄用(移除)的特性,不要使用

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

    盡量使用PHP的最新版本,最新版本修復了已知的很多安全漏洞和bug

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

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费