Khi mã hóa dữ liệu có thể không an toàn, có lý do nào để mã hóa >
không?HTML: Tôi có nên mã hóa lớn hơn hay không? (> >)
- Nó validates một trong hai cách.
- Trình duyệt giải thích cùng một trong hai cách, (Trong trường hợp
attr="data"
,attr='data'
,<tag>data</tag>
)
Tôi nghĩ rằng lý do ai đó sẽ làm điều này là
- Để đơn giản hóa regex dựa loại bỏ thẻ.
<[^>]+>?
(hiếm) - Chuỗi không được trích dẫn
attr=data
. : -o (không xảy ra!) - Thẩm mỹ trong mã. (vì vậy cái gì?)
Tôi có thiếu gì không?
** Cảnh báo bảo mật: ** Câu trả lời này không đúng. Đối với một ví dụ cơ bản, ''' là một dấu ngoặc kép thuộc tính được chấp nhận và không thoát khỏi nó trong một thuộc tính như vậy là một vector tấn công. Ngoài ra còn có các vector tấn công khác tùy thuộc vào ngữ cảnh. –
Đúng là '' 'có thể được sử dụng thay vì' "' cho báo giá thuộc tính. Trên thực tế, có thể thêm các thuộc tính không có dấu ngoặc kép. Nhà phát triển nên hiểu ứng dụng của mình mà không đưa ra giả định. tất cả các thuộc tính được trích dẫn bằng cách sử dụng tiêu chuẩn mới nhất '" 'để câu trả lời này đúng cho tôi. –