Khoá học: Thiết lập dự án Wordpress

Nếu bạn đang tìm kiếm một cách nhanh chóng và hiệu quả để thiết lập một trang web cá nhân hoặc doanh nghiệp của mình, hãy bắt đầu với WordPress. Được coi là nền tảng quản lý nội dung (CMS) phổ biến nhất trên thế giới, WordPress cho phép bạn dễ dàng tạo ra một [...]

Bài 28: Ẩ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é!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *