मुझे /* @escapeNotVerified */
Magento2 के लिए टेम्प्लेट फ़ाइलों में इस टिप्पणी की बहुत सारी घटनाएं दिखाई देती हैं।
क्या इसका कोई विशेष अर्थ है?
क्या इसका कोई फायदा है?
उदाहरण:
मुझे /* @escapeNotVerified */
Magento2 के लिए टेम्प्लेट फ़ाइलों में इस टिप्पणी की बहुत सारी घटनाएं दिखाई देती हैं।
क्या इसका कोई विशेष अर्थ है?
क्या इसका कोई फायदा है?
उदाहरण:
जवाबों:
इस टैग का उपयोग स्थैतिक परीक्षणों द्वारा किया जाता है। किसी भी संभावित असुरक्षित आउटपुट को @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
यह भी ध्यान दें कि कुछ आउटपुट को सुरक्षित माना जाता है और इसे इस तरह के एनोटेशन के साथ चिह्नित नहीं किया जाना चाहिए:
getTitleHtml
, HTML से आउटपुट के बचने की भी उम्मीद की जाती हैमुझे यह Magento2 के भक्ति में मिलता है
स्थैतिक परीक्षण
XSS इंजेक्शन के खिलाफ सुरक्षा में सुधार के लिए, एक स्थैतिक परीक्षण XssPhtmlTemplateTest.php
को dev \ परीक्षणों \ static \ testuite \ Magento \ Test \ Php में जोड़ा जाता है।
यह स्थैतिक परीक्षण PHTML-टेम्पलेट्स में सभी इको कॉल पाता है और यह निर्धारित करता है कि यह ठीक से बच गया है या नहीं।
इसमें निम्नलिखित मामले शामिल हैं:
/* @noEscape */
आउटपुट से पहले। आउटपुट से बचने की आवश्यकता नहीं है। टेस्ट हरा है।
/* @escapeNotVerified */
आउटपुट से पहले। आउटपुट से बचने की जाँच नहीं की जाती है और इसे सत्यापित किया जाना चाहिए। टेस्ट हरा है।