為您介紹5個 PHP 安全措施

2021-06-08 03:15:20 字數 1244 閱讀 1634

多年來,php一直是乙個穩定的、廉價的執行基於web應用程式的平台。像大多數基於web的平台一樣,php也是容易受到外部攻擊的。開發人員、資料庫架構師和系統管理員在部署php應用程式到伺服器之前都應該採取預防措施。大部分預防措施可以通過幾行**或者把應用程式設定稍作調整即可完成。

1:管理安裝指令碼

如果開發人員已經安裝了一套第三方應用程式的php指令碼,該指令碼用於安裝整個應用程式的工作元件,並提供乙個接入點。大多數第三方軟體包都建議在安裝後,刪除該目錄包含的安裝指令碼。但開發人員希望保留安裝指令碼,他們可以建立乙個.htaccess檔案來控制管理訪問目錄。

authtype basic

authname 「administrators only」

authuserfile /usr/local/apache/passwd/passwords

require valid-user

任何未經授權的使用者,如果試圖訪問乙個受保護的目錄,將會看到乙個提示,要求輸入使用者名稱和密碼。密碼必須匹配指定的「passwords」檔案中的密碼。

2:標頭檔案

在很多情況下,開發人員可以將分布在應用程式的幾個指令碼包含進乙個指令碼裡。這些指令碼將包含乙個「include」指令,整合單個檔案到原始頁面的**裡。當「include」檔案包含敏感資訊,包括使用者名稱、密碼和資料庫訪問金鑰時,該檔案的副檔名應該命名成「.php ",而不是典型的「.inc」擴充套件。「.php」擴充套件確保php引擎將處理該檔案,並防止任何未經授權的訪問。

3: md5 vs. sha

在某些情況下,使用者最終會建立自己的使用者名稱和密碼,而站點管理員通常會對表單提交的密碼加密,並儲存在資料庫中。在過去的幾年中,開發人員會使用md5(訊息摘要演算法)函式,加密成乙個128位的字串密碼。今天,很多開發人員使用sha-1(安全雜湊演算法)函式來建立乙個160位的字串。

4: 自動全域性變數

php.ini檔案中包含的設定稱為「register_globals」。p伺服器會根據register_globals的設定,將會為伺服器變數和查詢字串自動建立全域性變數。在安裝第三方的軟體包時,比如內容管理軟體,像joomla和drupal,安裝指令碼將引導使用者把register_globals設定為「關閉」。將設定改變為「關閉」可以確保未經授權的使用者無法通過猜測變數名稱及驗證密碼來訪問資料。

5: 初始化變數和值

許多開發人員都落入了例項化變數不賦值的陷阱,原因可能由於時間的限制而分心,或缺乏努力。身份驗證過程中的變數,應該在使用者登入程式開始前就有值。這個簡單的步驟可以防止使用者繞過驗證程式或訪問站點中某些他們沒有許可權的區域。

7個等級 容災等級 專業人士為您介紹不同的災備級別

一般來說,災備可以分為資料級 應用級和業務級三個級別,可能大多數人對這三種級別的災備都不是很了解,那麼下面我們就來具體的了解一下這三種災備。資料級災備主要關注的就是資料,就是在災難發生之後,可以確保資料不受到損壞。對於級別較低的資料級災備來說,可以將需要備份的資料通過人工的方式儲存到異地實現。如將備...

素描 山 您需要的5個素描課程

素描 山 sketch是用於數字設計的出色應用程式。它的工具集非常適合那些為web,ui或移動裝置設計的人,並且對圖示設計也很有用。對於那些對軟體不熟悉的新手,或者正在尋找有關其功能的全面指南,這是第一門課程。在繼續使用高階功能 如共享樣式,符號和草圖映象 之前,adi將帶您導覽所有基本功能。如果您...

技術備忘 為php5配置mysql

現存問題 1.無法載入 mcrypt 擴充套件,請檢查您的 php 配置。按照網上說的該做的貌似都做了 但是第一次開啟phpmyadmin主頁時 還是有這個提示 奇怪的是進去之後 裡面沒有這個提示 然後退出外面也沒了 2.配置檔案現在需要乙個短語密碼。網上找了 但是問題還是沒解決 昨天問題全部解決 ...