Magento 2 @escapeNot認証済み


65

このコメント/* @escapeNotVerified */は、Magento2のテンプレートファイルで頻繁に見られます。
特別な意味がありますか?
これに用途はありますか?

例:


25
ねえ...どうして下票?質問することはできませんか?
マリウス

回答:


95

このタグは静的テストで使用されます。安全でない可能性のある出力は、いずれか@escapeNotVerifiedまたは@noEscapeテストに合格するためにマークする必要があります。後者は、この特定の使用法がチェックされ、安全であることを意味します。

将来のリリースでは、すべての出現@escapeNotVerifiedが検証され、次のいずれかの方法でマーク@noEscapeまたはエスケープされます。

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

また、一部の出力は安全であると見なされており、そのような注釈でマークしないでください。

  • 単一引用符で囲まれています
  • 二重引用符で囲まれていますが、変数はありません
  • bool、intへの型キャスト
  • 名前に「html」を含むメソッド呼び出し(などgetTitleHtml)は、エスケープされたHTMLを出力することも想定されています

3
Greats answer @Alex
Amit Bera

Good Ans +1 @Alex :)
ラマチャンドランM

これは、1 @Alex役立ちます
Nikunj Vadariya

4
現在のペースでは、交換は約2026年に行われます:D
ファビアンシュメングラー

26

Magento2のdevdocsにあります

静的試験

XSSインジェクションに対するセキュリティを改善するために、静的テストXssPhtmlTemplateTest.phpがdev \ tests \ static \ testsuite \ Magento \ Test \ Phpに追加されます。

この静的テストは、PHTMLテンプレート内のすべてのエコーコールを検出し、適切にエスケープされているかどうかを判断します。

次の場合を対象としています。

  • /* @noEscape */出力前。出力にはエスケープが必要ありません。テストは緑色です。

  • /* @escapeNotVerified */出力前。出力のエスケープはチェックされないため、確認する必要があります。テストは緑色です。

2.0 または 2.1のMagento Docs読む

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.