print( sjw.iq == 200) output : true

[Laravel Secure] Laravel Debug Hide env 본문

PHP

[Laravel Secure] Laravel Debug Hide env

sjwiq200 2020. 8. 27. 01:46
728x90
반응형

얼마 전에 실수?로 .env파일이 노출되는 일이 있었습니다....

 

항상 기본을 지키는 것도 중요하고...

 

시큐어 코딩도 더욱더 생각하는 계기가 되었습니다.

 

그러면 Laravel 의 .env를 지키는 방법에 대해서 알아보겠습니다.

 

우선 기본적인 .env의 변수들입니다!

 

 

 

APP_DEBUG 가 true 일 때는 아래와 같이 exception을 보여줍니다!

 

 

 

그리고 스크롤을 내리면 중요한 정보들이 모두 노출이 되게됩니다.

# 다른 사람들 블로그를 보면 env 파일도 노출되는데... 저는 왜 노출이 안되는지 모르겠어요 ㅠㅠ

# 이유를 알고 싶습니다...

 

 

 

APP_DEBUG 모드가 false 일 때는 다음과 같이 http status 와 message만 나오게 됩니다!

 

 

 

그러면 항상 서버에 배포할 떄는 APP_DEBUG 를 false로 해야 합니다!

 

하지만 실수로 true 로 해놓은 경우도 있는데요!

 

자그마한 실수조차 해킹으로 이어질 수 있기 때문에

 

config/app.php에 debug_blacklist 설정을 해줍니다.

 

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

 

 

그렇게 되면 APP_DEBUG 가 true 로 되어 있어도 아래 이미지와 같이 나오게 됩니다.

 

 

 

 

완벽하게 하는것이 최고이긴 하겠지만!

 

이런 기본적인 친구들은 적용시켜 놓는게 마음 편할 것 같습니다!

 

 

감사합니다.

728x90
반응형
Comments