Như các bạn đã biết thì error_log là tập tin ghi nhận lại những thông báo lỗi khi chạy PHP. Nó được tự động khởi tạo và nội dung thì cứ ghi lại liên tục. Bài viết này sẽ chia sẻ với các bạn một số thủ thuật nhỏ để xử lý tập tin này.
1. Cấm người dùng truy xuất tập tin error_log
Đây là tập tin phát sinh tự động khi có lỗi nên người dùng nếu có kiến thức sẽ dễ dàng truy cập vào tập tin này theo đường dẫn kiểu như https://mangbinhdinh.vn/error_log. Và như vậy các lỗi đã bị lọt ra ngoài và có thể bị khai thác. Giải pháp xử lý là sẽ cấm không cho người dùng truy xuất tập tin error_log bằng .htaccess.
1 2 3 4 | <Files "error_log"> Order allow,deny Deny from all </Files> |
2. Đổi tên tập tin error_log
Bạn cũng có thể đổi tên cho tập tin ghi log này thành 1 tên khác. Vẫn với thao tác với tập tin .htaccess.
Với phần mềm quản trị WHM/cPanel bạn dùng đoạn lệnh sau:
1 | php_flag error_log /home/[website]/public_html/my_error_log.txt |
Với phần mềm quản trị Plesk bạn sử dụng đoạn lệnh sau:
1 | php_flag error_log /var/www/vhosts/[website]/httpdocs/my_error_log.txt |
3. Cấm không cho tạo tập tin error_log
Đôi khi trang web bạn chạy bình thường nhưng bạn vẫn thấy tập tin error_log. Thật ra đó chỉ là những cảnh báo (warning) vì có thể có 1 số hàm không tương thích với phiên bản PHP hiện tại hoặc không tồn tại biến khi xử lý.
Mình từng có 1 khách hàng mà sau 1 thời gian chạy tập tin error_log của họ đến vài GB và không ngừng tăng lên. Và giải pháp là ngăn không cho máy chủ tạo tập tin error_log.
Vẫn đơn giản với .htaccess:
1 | php_flag log_errors Off |
Chúc các bạn thành công.
Huỳnh Mai Anh Kiệt