Laravel PHP 框架網站重建技術分析

小勐拉皇家國際18088049999發表於2019-04-29

Larvel PHP框架的網站為例,為大家分享下網站重建的方法,祝所有的程式猿、攻城獅們節日快樂,讓我們一起來開啟這個禮物吧。www.archcn.net

Laravel框架介紹
Laravel框架是世界上最流行的PHP開發框架,沒有之一。現在Laravel框架已成為大型網際網路公司及PHP攻城獅們的首選框架。

1、App目錄:
包含了應用的核心程式碼;預設情況下,該目錄位於名稱空間 App 下,你可以通過Artisan命令app:name來修改該名稱空間。App目錄下包含多個子目錄,如Console、Http、Providers等。Console目錄包含了所有的Artisan命令,Http目錄包含了控制器、中介軟體和請求等。注意:App目錄中的很多類都可以通過Artisan命令生成,要檢視所有有效的命令,可以在終端中執行php artisan list make命令。

2、config目錄:
包含了應用所有的配置檔案;

3、public目錄:
這個資料夾是唯一外界可以看到的,是必須指向你web伺服器的目錄。它含有laravel框架核心的引導檔案index.php,這個目錄也可用來存放任何可以公開的靜態資源,如css,Javascript,images等。

4、storage目錄:
該目錄儲存Laravel各種服務的臨時檔案,如session, cache, compiled, views, templates。這個目錄在web伺服器上必須是可以寫入的。

5、vendor目錄:
包含Composer依賴

6、.env 檔案
.env檔案位於專案根目錄下,作為全域性環境配置檔案。用以儲存一些依賴環境的變數,比如資料庫配置等。

二.網站復原示例操作

2.1 準備

2.1.1 資料來源
(1)Laravel框架的網站程式
(2)Mysql 5.7版本的資料庫資料

2.1.2尋找適用的網站程式的PHP版本
進入網站程式資料夾,通過命令列執行:php artisan --version

根據官方文件要求Laravel5.2需要php版本5.5.9以上才能正常訪問,所以我們選擇php5.6的支援庫

2.1.3 資料庫環境
瞭解Laravel框架後得知,一般釋出的站點配置儲存在.env檔案中,使用文字編輯工具查發確認該站點使用的是Mysql資料庫及Redis快取服務,如圖:

本地需要部署好對應版本的Mysql服務及任意版本Redis服務。

2.2 復原

2.2.1 啟動Web應用
使用命令列php artisan up 啟動應用

2.2.2 匯入資料庫資料
停止已經部署好的資料庫服務,將獲取到的資料庫資料覆蓋服務預設的資料庫資料,並重新啟動資料庫服務。

2.2.3 啟動快取服務

2.2.4資料庫連線配置
根據.env的配置檢查是否滿足本地服務配置,並修改相應的資訊。

2.2.5啟動Web例項服務
利用php artisan serve可以啟動php中自帶的web服務,而不需要藉助Apache等web服務,但僅在php5.5以上版本支援。

這樣只要在瀏覽器中輸入localhost:8000即可訪問。

2.3後臺密碼解析

2.3.1 PHP密碼雜湊演算法函式說明
到PHP官網查詢加密,可找到密碼雜湊演算法函式一欄,查詢到適用於 (PHP 5.5.0~ PHP 7) 的password_hash-建立密碼的雜湊(hash),說明如下 string password_hash ( string $password , int $algo [, array $options ] )
password_hash() 使用足夠強度的單向雜湊演算法建立密碼的雜湊(hash)。 password_hash() 相容 crypt()。 所以, crypt() 建立的密碼雜湊也可用於 password_hash()。 當前支援的演算法:

PASSWORD_DEFAULT - 使用 bcrypt 演算法 (PHP 5.5.0 預設)。 注意,該常量會隨著 PHP 加入更新更高強度的演算法而改變。 所以,使用此常量生成結果的長度將在未來有變化。 因此,資料庫裡儲存結果的列可超過60個字元(最好是255個字元)。
PASSWORD_BCRYPT - 使用 CRYPT_BLOWFISH 演算法建立雜湊。 這會產生相容使用 "$2y$" 的 crypt()。 結果將會是 60 個字元的字串, 或者在失敗時返回 FALSE。
PASSWORD_ARGON2I - 使用 Argon2 雜湊演算法建立雜湊。

2.3.2資料庫密碼欄位分析
根據以上php官網加密方式顯示,php5.5版本加密方式password_hash處理通過分析資料庫中管理員密碼欄位資料可以看到密碼串字首都有"$2y$",根據上面的PHP密碼雜湊演算法函式說明,推測該密碼使用加密演算法是CRYPT_BLOWFISH

2.3.3 製作加密串
以"123456"為原始密碼製作相同加密密碼程式碼pwd.php
<?php
$hash= password_hash('123456',PASSWORD_BCRYPT,['cost' => 10]);
echo$hash;
?>
命令列執行php pwd.php
得到結果

2.3.4 替換密碼串
將加密串替換資料庫密碼;
用123456登陸,成功。

以上,網站重建完成,執法人員可以在重建的網站上進行調查分析。

相關文章