Magento 2 @escapeNot Tweet


65

Tôi thấy rất nhiều sự xuất hiện của nhận xét này /* @escapeNotVerified */trong các tệp mẫu cho Magento2.
Liệu nó có một ý nghĩa đặc biệt?
Có sử dụng cho việc này?

Ví dụ:


25
Này ... Tại sao downvote? Tôi không được phép đặt câu hỏi?
Marius

Câu trả lời:


95

Thẻ này được sử dụng bởi các bài kiểm tra tĩnh. Bất kỳ đầu ra có khả năng không an toàn nào cũng phải được đánh dấu bằng @escapeNotVerifiedhoặc @noEscapeđể vượt qua các bài kiểm tra, điều này có nghĩa là việc sử dụng cụ thể này đã được kiểm tra và an toàn.

Trong các bản phát hành trong tương lai, tất cả các lần xuất hiện @escapeNotVerifiedsẽ được xác minh và được đánh dấu bằng @noEscapehoặc thoát bằng một trong các phương pháp sau:

  • \Magento\Framework\View\Element\AbstractBlock::escapeHtml
  • \Magento\Framework\View\Element\AbstractBlock::escapeUrl
  • \Magento\Framework\View\Element\AbstractBlock::escapeXssInUrl
  • \Magento\Framework\View\Element\AbstractBlock::escapeQuote

Cũng lưu ý rằng một số đầu ra được coi là an toàn và không nên được đánh dấu bằng các chú thích như vậy:

  • Kèm theo dấu ngoặc đơn
  • Kèm theo dấu ngoặc kép nhưng không có biến
  • Gõ đúc vào bool, int
  • Các cuộc gọi phương thức có chứa 'html' trong tên của chúng, như getTitleHtml, cũng được dự kiến ​​sẽ tạo ra HTML thoát

3
Câu trả lời vĩ đại @Alex
Amit Bera

Tốt Ans +1 @Alex :)
Rama Chandran M

Nó giúp +1
@Alex

4
Với tốc độ hiện tại, việc thay thế sẽ được thực hiện vào khoảng năm 2026: D
Fabian Schmengler

26

Tôi tìm thấy nó trong devdocs của Magento2

Kiểm tra tĩnh

Để cải thiện bảo mật chống lại việc tiêm XSS, một thử nghiệm tĩnh XssPhtmlTemplateTest.phpđược thêm vào dev \ tests \ static \ testsuite \ Magento \ Test \ Php.

Thử nghiệm tĩnh này tìm thấy tất cả các cuộc gọi tiếng vang trong các mẫu PHTML và xác định xem nó có thoát đúng hay không.

Nó bao gồm các trường hợp sau:

  • /* @noEscape */trước khi đầu ra. Đầu ra không yêu cầu thoát. Kiểm tra là màu xanh lá cây.

  • /* @escapeNotVerified */trước khi đầu ra. Thoát đầu ra không được kiểm tra và cần được xác minh. Kiểm tra là màu xanh lá cây.

Đọc Tài liệu Magento2.0 hoặc 2.1

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.