रिसोर्स · 116

postMessage: स्रोत, विंडो और आदेश सत्यापित करें

iframe या पॉपअप संदेश अनुबंध से अनपेक्षित प्रेषक और डेटा अस्वीकार करें।

अपडेटेड · 3 min

यह गाइड क्या पाने में मदद करती है

  • सहभागी और प्रकार तय करें
  • असर से पहले सत्यापन करें
  • नेविगेशन और अनुबंध से बाहर संदेश जाँचें

जल्दी से चेक करें

  • स्रोत, विंडो, प्रकार और न्यूनतम डेटा अनुबंध।
  • सत्यापन क्रम और बिना व्यावसायिक असर अस्वीकार।
  • अस्वीकृति सूची और लिसनर सफाई।

स्टेप-बाय-स्टेप तरीका

  1. 1

    सहभागी और प्रकार तय करें

    सटीक स्वीकृत origin, अपेक्षित विंडो संदर्भ और जरूरी संदेश प्रकार लिखें। संवेदनशील डेटा के लिए स्पष्ट targetOrigin दें। origin में प्रोटोकॉल, होस्ट और पोर्ट होते हैं; डोमेन के हिस्से की खोज प्रेषक सत्यापित नहीं करती।

    स्रोत, विंडो, प्रकार और न्यूनतम डेटा अनुबंध।

  2. 2

    असर से पहले सत्यापन करें

    event.origin और इस एकीकरण में event.source को अपेक्षित विंडो से मिलाएँ। संरचना, अनुमत मान और कार्य स्थिति जाँचें। eval या HTML डालने के बिना डेटा समझें। स्वीकृत origin सर्वर अनुमति जाँच का विकल्प नहीं है।

    सत्यापन क्रम और बिना व्यावसायिक असर अस्वीकार।

  3. 3

    नेविगेशन और अनुबंध से बाहर संदेश जाँचें

    मिलता डोमेन, अलग पोर्ट, समान origin की दूसरी विंडो, गलत फ़ील्ड और बंद होने के बाद संदेश जाँचें। अनावश्यक लिसनर हटाएँ और पूरे आदान-प्रदान निष्क्रिय करें। विंडो बदलने पर भी उत्तर पहले स्वीकृत origin पर ही दें।

    अस्वीकृति सूची और लिसनर सफाई।

दोहराने योग्य स्वीकृति मामला

काल्पनिक उदाहरण: डेटा किसी ग्राहक या देखे गए परिणाम का नहीं है।

मामले के इनपुट देखें
{
    "allowed_origin": "https://widget.example",
    "observed_origin": "https://widget.example",
    "expected_window": "active_iframe",
    "observed_window": "another_window",
    "payload_schema_valid": true,
    "expected": "reject_without_effect"
}

अपेक्षित निर्णय

काल्पनिक उदाहरण: https://widget.example स्वीकृत है, पर event.source दूसरी विंडो है। अनुबंध सक्रिय iframe माँगता है; आदेश दिए बिना संदेश अस्वीकार करें।

MDN — Window.postMessage

आपकी स्वीकृति नोटबुक

इस गाइड के मानदंडों पर अवलोकन दर्ज करें। रिकॉर्ड प्रमाणन नहीं है।

अपने आप सेव नहीं होता। निकलने से पहले निर्यात करें।

मैनेजमेंट इंडिकेटर

इंडिकेटरयह क्या मापता हैपहला एक्शन
अनपेक्षित मामले अस्वीकारबिना असर अस्वीकार नकारात्मक / चलाए नकारात्मक मामलेस्रोत, विंडो और स्थिति दर्ज करें
पूरे स्वीकृत आदान-प्रदानपूरे अपेक्षित / जाँचे अपेक्षित परिदृश्यप्राप्ति और पुष्ट असर अलग करें

आम गलतियाँ

    अक्सर पूछे जाने वाले सवाल

    क्या event.origin जाँचना काफी है?

    नहीं। विंडो, संरचना और स्थिति भी जाँचें। सर्वर को कार्रवाई की अनुमति जाँचनी होगी।

    ऑफ़िशियल रेफ़रेंस

    रेफ़रेंस इस तरीके को सपोर्ट करते हैं। अपने कॉन्टेक्स्ट के हिसाब से चेक को एडजस्ट करें; वे सर्टिफ़िकेशन नहीं हैं। ओरिजिनल रेफ़रेंस टाइटल और सोर्स डॉक्यूमेंट दूसरी भाषा में हो सकते हैं।

    संदर्भ जाँच की तारीख .