2017-09-25 84 views
14

如何在Laravel的whoops輸出中隱藏我的密碼和其他敏感環境變量?如何在Laravel whoops輸出中隱藏.env密碼?

有時候其他人在看我的開發工作。如果拋出異常,我不希望他們看到這些祕密,但是我也不希望不斷地打開和關閉調試,或者啓動一個專門的站點來快速預覽。

whoops output screenshot with passwords shown

回答

30

由於Laravel 5.5.13的,還有a new feature,讓您在列入黑名單的關鍵debug_blacklistconfig/app.php某些變量。當拋出異常時,whoops將爲每個字符使用星號*掩蓋這些值。

例如,給定此config/app.php

return [ 

    // ... 

    'debug_blacklist' => [ 
     '_ENV' => [ 
      'APP_KEY', 
      'DB_PASSWORD', 
      'REDIS_PASSWORD', 
      'MAIL_PASSWORD', 
      'PUSHER_APP_KEY', 
      'PUSHER_APP_SECRET', 
     ], 
     '_SERVER' => [ 
      'APP_KEY', 
      'DB_PASSWORD', 
      'REDIS_PASSWORD', 
      'MAIL_PASSWORD', 
      'PUSHER_APP_KEY', 
      'PUSHER_APP_SECRET', 
     ], 
     '_POST' => [ 
      'password', 
     ], 
    ], 
]; 

結果這樣的輸出:

所有的

whoops exception page

+0

它可能是有用的,使拉請求laravel文檔 – Christophvh

+0

這不適用於我的laravel 5.5.4 – eiipaw

+0

@Cgdl這是正確的。它可以從5.5.13 –

11

首先,愛由上述傑夫該溶液中。

2,如果你像我一樣想隱藏所有env variables同時仍然使用哎呦,這裏是一個解決方案:

'debug_blacklist' => [ 
     '_COOKIE' => array_keys($_COOKIE), 
     '_SERVER' => array_keys($_SERVER), 
     '_ENV' => array_keys($_ENV),   
    ], 

輸出:

enter image description here

+1

感謝你。我仍然困惑爲什麼人們會希望所有的env變量都在屏幕上打印出來,並且出現錯誤。 – warmwhisky

+0

究竟是男人..可能會說10%會想要它..但不是90%的laravel開發者! –

+2

聽到!幾個月前我無意中暴露了我的mailgun API密鑰,導致我的帳戶中有超過1200封釣魚郵件。可怕!如果我需要看看我的環境中有什麼,我可以通過打開該死的東西來實現老派的方式! – warmwhisky