Vệ sinh trong Rails

Tram Ho

Tấn công chéo trang trong ứng dụng rất phổ biến và làm cho ứng dụng phản hồi sai lệch nếu không được xử lý. Việc ngăn chặn XSS trong một ứng dụng là cần thiết từ góc độ bảo mật. Và đúng vậy, ai lại muốn bị tấn công bởi các yêu cầu và cửa sổ bật lên gây khó chịu ?! Một số cuộc tấn công XSS phổ biến cần được xử lý như sau

Tất cả các cuộc tấn công XSS ở trên khi hiển thị alert cảnh báo hoặc popup xác nhận tự động nhấp chọn yes và chạy tập lệnh trước khi bạn thậm chí biết điều đó.
Và điều này thực sự làm mọi thứ trở nên khó chịu!

Vậy, làm thế nào để ngăn chặn các cuộc tấn công XSS này trong ứng dụng?
Trong Rails, việc này trở nên khá dễ dàng.
Điều đầu tiên và quan trọng nhất chúng ta phải làm là sanitize các tham số. Và để làm như vậy, chúng ta cần module sanitizer để làm việc này với các loại tham số khác nhau.
Bạn có thể thấy module chỉ để sanitize bất kỳ loại tham số nào – đối tượng, mảng hoặc tệp. Bạn có thể sử dụng chúng bằng một function đơn giản và chuyển tất cả các tham số ActionController và sanitize chúng.

Module này có thể sanitize các tham số, nhưng có một số trường hợp chúng ta muốn giữ lại &, <,> như trong tên múi giờ. Đối với điều đó, thật không may, chúng ta phải lưu nó dưới dạng các tham số được phép và lưu chúng sau khi sanitize các tham số. Để hiển thị văn bản đã được sanitize, bạn có thể sử dụng sanitize_text cho những văn bản mà bạn không phải hiển thị <> và & nếu không, bạn có thể sử dụng steracy_text để hiển thị chúng trong dạng xem. Vì vậy, bây giờ bạn có thể sanitize cả tham số và chế độ xem trong Rails bằng một module hỗ trợ sanitize tham số đơn giản.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo