मुझे /* @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 */आउटपुट से पहले। आउटपुट से बचने की जाँच नहीं की जाती है और इसे सत्यापित किया जाना चाहिए। टेस्ट हरा है।