- Shipped
- 28 अगस्त 2026 को 2:59 am बजे UTC
- Author
- Kamo
- Commit
- ce4d901
"नए टैब में खोलें" `window.open(location.href, ' blank', 'noopener, noreferrer')` था। सत्र आईडी एक कुकी में नहीं है - यह सत्रस्टोरेज, प्रति टैब में रहता है, क्योंकि अपने स्वयं के शेयर के डोमेन के बिना संगठन एक मेजबान और एक प्रति ओरिजिन कुकी एक एकल स्लॉट होगा जो किसी भी टैब को ओवरराइट कर सकता है। `window.open` विरासत बंद केवल तभी भंडारण किया जाता है जब ओपनर संबंध जीवित रहता है, और `noopener` (सरलीकृत) 'noreferrer' भी' वास्तव में severs. इसलिए नया टैब शुरू हुआ खाली स्टोर, कोई सत्र नहीं मिला, और लॉगिन पेज पर उछाल आया। ऐसा लगता है कि यह काम करता था क्योंकि यह बचाव किया जा रहा था: टैब लॉगिन पर उतर गया।*, जहां ऑटोलॉगिन ने मेजबान-केवल *** कुकी पढ़ा और इसे वापस आगे बढ़ाया org. यह पता चलता है कि आगे क्या यह उजागर हुआ है, इसलिए बटन तय किया गया है, बल्कि पुनर्निर्देशित पुनर्स्थापना की तुलना में - यह कभी भी अपने आप का सत्र नहीं लिया था। यह अब हर दूसरे क्रॉस-टैब प्रविष्टि के रूप में एक ही समय की कुंजी हैंडशेक का उपयोग करता है: खुला के बारे में:ब्लैंक सिंक्रोनस क्लिक के अंदर (एक प्रतीक्षा पहले क्षणिक खो देता है) सक्रियण और WebKit पॉपअप को अवरुद्ध करता है, एक OTK को टकसाल करता है, फिर नेविगेट करने के लिए / मान्य करता है 'next' में वर्तमान पृष्ठ के साथ। OTK SAME सत्र को हल करता है, इसलिए नया टैब वास्तव में उसी ऑर्ग का दूसरा उदाहरण है, जिस पृष्ठ पर इसे खोला गया था। `newtab` एक दस्तावेज़ लोड OTK उद्देश्य के रूप में पंजीकृत है। एक असूचीबद्ध उद्देश्य नहीं है खारिज कर दिया - यह चुपचाप 10s TTL तक गिर जाता है, जो /api/validate पर भरोसा नहीं कर सकता जीवित, क्योंकि यह एक रेडिस REPLICA से कुंजी वापस पढ़ता है और के माध्यम से retries एप्लिकेशन को भी जूते से पहले प्रतिकृति अंतराल। तीन चीजें जो दूसरे-विंडो नोटों के बारे में चेतावनी देते हैं और इससे बचा जाता है: कुंजी चालू हो जाती है 'next' में गंतव्य के साथ मान्य, क्योंकि किनारे किसी भी `otk=` को फिर से लिखते हैं मूल पथ को /वैलिड और डिकार्ड करने का अनुरोध; लक्ष्य एक पूर्ण यूआरएल है एक चर में आयोजित किया गया, क्योंकि एक साक्षर को `.location.href` विफल करने के लिए सौंपा गया चेक-क्लिएंट-नवीकरण और डोकर इसके साथ निर्माण; और /वैलिडेट एक है पूर्व सत्र पथ, इसलिए यह ताजा टैब पर हस्ताक्षर नहीं करेगा जबकि यह अप्रत्याशित है।.