Cũng giống như các framework khác, các bạn nên chú ý đến vấn đề bảo mật trong Laravel. Ẩn config quan trọng có thể đảm bảo tính an toàn cho dữ liệu.
Khi sử dụng Laravel, các bạn đừng quên chuyện bảo mật. Một chút sơ xuất nhỏ cũng có thể ảnh hưởng đến kết quả cuối cùng. Do đó, các bạn nên chú ý đến vấn đề bảo mật trong Laravel. Cách bảo mật đơn giản nhất là ẩn config quan trọng. Làm thế nào để ẩn đi?
Vì sao phải ẩn config quan trọng trong chế độ debug trên Laravel?
Trong Laravel, các bạn có thể xác định các môi trường mà các chế độ có liên quan đến debugging. Nếu các bạn bật chế độ debug lên, thì Laravel sẽ tự động báo cáo các lỗi là gì, ở đâu, thông tin request, env,…
Trong một số trường hợp về APP_KEY, database, user, password,…sẽ hiện lên và không đảm bảo tính bảo mật. Để tránh gặp phải trường hợp đó, thì các bạn nên ẩn nó đi. Laravel có cung cấp tính năng này và sử dụng nó cũng đơn giản.
Cách ẩn config trong debug mode
Để cấu hình ẩn thông tin và không hiển thị trên màn hình report, các bạn thêm vào config/app.php bằng một block có key là debug_blacklist. Giá trị này là array có chứa các key bạn muốn ẩn. Ví dụ bạn đang muốn ẩn đi APP_KEY và DATABASE_PASSWORD config thì sẽ thực hiện như sau:
'debug_blacklist' => [ '_ENV' => [ 'APP_KEY', 'DB_PASSWORD', ] ]
Màn hình report lỗi khi đó sẽ tự động convert giá trị của 2 env ở trên thành “***”.
Một số config phổ biến để ẩn các thông tin cơ bản trên 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', ], ],
Nguồn : https://hoclaravel.vn