Laravel

Ẩn config quan trọng trong chế độ debug Laravel

Như các bạn đã biết thì trong Laravel có cung cấp cho chúng ta xác định các enviroment (môi trường) mà các chế độ liên quan đến debugging. Và nếu như chúng ta mà bật chế độ debug thì nó Laravel sẽ report lỗi là gì, ở đâu, thông tin request, env,...

Debug trong Laravel

Và như các bạn đã thấy thì các thông tin như APP_KEY, DATABASE,... đều hiện lên. Như thế này thì trong một số trường hợp sẽ hoàn toàn không tốt.

VD như môi trường staging của dự án vẫn cần phải bật debug để test có lỗi còn biết luôn lỗi là gì ở đâu,... Nhưng lại cần ẩn một số thông tin như DB config,... thì lúc này quả thật rất cần thiết.

kể từ Laravel 5.5 chúng ta có thể ẩn những thông tin đó đi được và config rất đơn giản.

1. Ẩn Config trong debug mode.

Để cấu hình ẩn thông tin không muốn hiển thị ra màn hình report bạn chỉ cần thêm vào config/app.php một block có key là debug_blacklist và giá trị là array chứa các key muốn ẩn

VD: Mình muốn ẩn APP_KEY với DATABASE_PASSWORD config thì mình sẽ cấu hình như sau:

'debug_blacklist' => [
    '_ENV' => [
        'APP_KEY',
        'DB_PASSWORD',
    ]
]

Thì lúc này màn hình report lỗi sẽ tự động convert giá trị của 2 env kia thành "***".

ẩn env trong laravel

Và đây là config mình hay dùng để ẩn những thông tin cơ bản của laravel.

'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',
    ],
],

Nếu như các bạn cần ẩn thêm gì thì cứ thêm vào nhé.

2. Lời kết.

Đây chỉ là một việc rất nhỏ nhưng trong một số trường hợp nó lại rất quan trọng đó :D. Và cuối cùng hãy nhớ là luôn luôn tắt debug mode trông môi trường production nhé!

Registration Login
Sign in with social account
or
Lost your Password?
Registration Login
Sign in with social account
or
A password will be send on your post
Registration Login
Registration