Gần đây tôi thường xuyên bị các thông báo lỗi sai từ mod_security. Các bộ lọc của nó bao gồm các khai thác PHP lỗi thời và tôi phải viết lại nội dung của mình vì Wordpress & Co đã có lỗi từ nhiều năm trước.
Điều này có xảy ra với ai nữa không?
Apache mod_security chặn các yêu cầu HTTP nguy hiểm có thể trước khi chúng tiếp cận các ứng dụng (cụ thể là PHP). Nó sử dụng các bộ lọc khác nhau, chủ yếu dựa trên regex.
Vì vậy, tôi có một nhà cung cấp lưu trữ chia sẻ tốt đẹp, kỹ thuật apt và công cụ. Nhưng điều này đã làm tôi chán nản:
Mới tuần trước tôi đã phải thay đổi tên tham số &src=
trong một trong các ứng dụng của mình vì mod_security chặn bất kỳ yêu cầu nào với điều đó. Tôi đã không tra cứu chi tiết của nó, nhưng quy tắc bộ lọc này đã ngăn chặn khả năng khai thác của một ứng dụng khác mà tôi không sử dụng và có lẽ chưa bao giờ nghe nói đến. Tuy nhiên, tôi đã phải viết lại mã của mình (đổi tên tham số thường đủ để lừa mod_security) không có gì để làm hoặc chung với điều đó!
Và hôm nay, một regex ngớ ngẩn chặn hình thức gửi, vì tôi muốn gửi mã mẫu php. Cho, đây là công cụ đơn giản mà mod_security có để bảo vệ chống lại. Nhưng tôi không tin mod_security có thể phát hiện mã bị xáo trộn nghiêm trọng và chỉ tắt ở đoạn trích php rõ ràng (và trong trường hợp này là hoàn toàn tầm thường).
Về cơ bản, tôi đang bị phạt bởi mod_security vì những người khác đã phát hành các ứng dụng dễ bị lỗi. (Không nói ứng dụng của tôi là cực kỳ an toàn -. Tôi bảo mật khá thận trọng, nhưng chắc không có tuyên bố hyperbol)
Tôi đã hỏi nhà cung cấp của tôi để vô hiệu hóa nó dù sao, những lợi ích quá minuscle IMO và cho ứng dụng của tôi.
Bạn nghĩ sao? Liệu mod_security có nhiều ý nghĩa bên ngoài lưu trữ WP? Hay nó thực sự chỉ là một loạt các danh sách đen của các lỗi bảo mật đã qua từ lâu? Những quy tắc của nó là thực sự hữu ích? Có một mức độ ứng dụng tương đương?
<?php doBadStuff(); ?>
không chạy chức năng đó. (Trừ khi bạn sử dụngeval
tất nhiên là xấu.)