by Devin Yang

建立於: 2年前 ( 更新: 2年前 )

Laravel的除錯模式相當豐富,Laravel官網有提醒,在本地端開發可設定APP_DEBUG為true,
但是在產品環境,這個值必需永遠都是False。

雖然可以用php artisan down的方式進入維護模式,加上secret就能存取。

artisan down --secret=NWQwODZhNTM0ODY5Zjc1MDdkMWI4NzIy

再用網址網啟後補上設定的secret
https://yourserver.example/NWQwODZhNTM0ODY5Zjc1MDdkMWI4NzIy

但如果在開發的東西,就是需要有外網的環境時,例如BOT的webhook,怎麼辨呢🥺,至少要能鎖個外網IP吧。
我目前做法,調整config/app.php,這樣就能透過外網的方式決定是否啟動DEBUG模式了。

/*
    |--------------------------------------------------------------------------
    | Application Debug Mode
    |--------------------------------------------------------------------------
    |
    | When your application is in debug mode, detailed error messages with
    | stack traces will be shown on every error that occurs within your
    | application. If disabled, a simple generic error page is shown.
    |
    */

    //'debug' => (bool) env('APP_DEBUG', false),
   'debug' => env('APP_DEBUG', ($_SERVER[env("PROXY_REAL_IP","REMOTE_ADDR")]??"null") == env('APP_CAN_DEBUG','') ? true : false),

在上方設定中,我們可以把.env的APP_DEBUG變更成APP_CAN_DEBUG=我的外網IP。
需要的話,再補上PROXY_REAL_IP,用來定義主機或容器能取得的真實IP。

這樣一來只有要在.env中進行相關設定,就可以安心的進入Debug mode囉,
不用時調.env中的APP_CAN_DEBUG等於false就可鎖起來。

#APP_CAN_DEBUG=false
PROXY_REAL_IP=HTTP_X_REAL_IP
APP_CAN_DEBUG=111.248.117.140

PROXY_REAL_IP用來設定了Proxy在header中帶的真實IP,可依自己的環境進行設定。
像是HTTP_X_FORWARDED_FOR或是HTTP_X_REAL_IP等。
 

我們可寫個簡單的Route用phpinfo查自己的外網IP及$_SERVER的header名稱為何,確認有沒有設定錯誤。

Route::get('/myphpinfo', function(){
    phpinfo();
});

Tags: laravel Laravel security

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


dlaravel

如何在host直接執行容器內,不同Project的php artisan.

本篇為D-Laravel的運用教學,如何在主機端直接執行container內的php artisan. 自訂別名後,就能直接在host端的project資料夾內,直接執行contianer內的php artisan了。 alias a="../../artisan.sh"

laravel

Laravel 5.6有那些新變更

Laravel 5.6計劃於2018年2月釋出,有那些變更呢?我們來看看吧。(Argon2i Password Hashing Algorithm) ​​​​​​​Argon2 提供以下三種版本: 1. 在Laravel 5.6將支援 Argon2i密碼雜湊算法。 (Argon2i Password Hashing Algorithm) 2. Argon2d最大限度地抵抗GPU的破解攻擊。 3. Argon2i經過優化,可以抵抗旁路攻擊(side-channel attack)。 三、Argon2id是一個混合版本。 它遵循Argon2i方法進行第一遍遍歷,然後使用Argon2d方法進行後續遍歷。 看不懂沒關係,反正我也看不懂,重點是,反正比較安全是可以確定的。這是開放密碼雜溙競賽(PHC)在2015年7月20日

web-hosting,laravel

智邦安裝Laravel 5.4經驗分享

在智邦的Linux 7.0平台安裝Laravel 5.4,成功執行案例分享, 因為原本是舊版的PHP,第一次可以免費轉移至新版本, 所以請他們開了一個測試的php 7.0環境給我們測試,小調整後, Laravel的環境確實可在智邦的代管主機上執行。 本文介紹,我如何在智邦成功的執行Laravel的網站過程。