Toidicode.com

Toidicode.com

BASIC TO ADVANCE

Bài viết bạn đang xem là tài liệu của Laravel 5x (Giờ đã ngừng support). Bạn có thể xem tài liệu của Laravel mới nhất và đầy đủ tại đây.

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é!

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Vũ Thanh Tài

About author
The best way to learn is to share
Xem tất cả bài đăng

5 Comments

cái form comment này bạn dùng plugin gì của wordpress thế, nhìn đẹp quá

tung

4 năm trước

Chào tung,

Mình dùng thằng này nhé https://github.com/jaredreich/pell

Vũ Thanh Tài

4 năm trước

còn cái captcha bạn dùng plugin gì? hay tự viết

tungxen

4 năm trước

nguyên cái form comment luôn ý? mà sourcecode có phải là worpress không nhỉ?

tungxen

4 năm trước

Chào tungxen,

Không phải wordpress nhé bạn

Vũ Thanh Tài

4 năm trước

Bình luận

Captcha