दिलचस्प पोस्ट
एंड्रॉइड लिस्ट दृश्य खींचें और ड्रॉप सॉर्ट करें SimpleXML से @ पहुंच का उपयोग करना स्विफ्ट का उपयोग करते हुए मैं एक स्ट्रिंग कैसे बना सकता हूं? स्प्रिंग इंजेक्ट वैल्यू को स्थिर क्षेत्र में कैसे बनायें स्ट्रेच और स्केल सीएसएस पृष्ठभूमि सी ++ में एक्सएमएल पार्सर का क्या उपयोग करना चाहिए? क्या एंड्रॉइड पर अजगर चलाने का कोई तरीका है? जावा: व्यवस्थापक के रूप में चलाएं पूर्णांक आधारित पावर फ़ंक्शन पॉ (एएनटी, इंट) को लागू करने का सबसे कारगर तरीका सभी पृष्ठों के लिए आम तौर पर लेआउट के लिए डेटा पास करें परस्पर अनन्य जांच बक्से को फिर से बनाने के लिए setValueAt का उपयोग करना पसंद करते समय सर्वोत्तम प्रकार की अनुक्रमण स्विफ्ट फंक्शन में एसिंक कॉल से डेटा रिटर्निंग वेबकिट में अनपेक्षित टोकन अवैध जावा में संदर्भ द्वारा एक स्ट्रिंग पासिंग?

शीर्ष स्तर की विंडो को पुनर्निर्देशित करने से IFRAME को कैसे रोकें

कुछ वेबसाइटों में IFRAME "ब्रेक आउट" करने के लिए कोड है, जिसका अर्थ है कि यदि कोई पृष्ठ A को IFRAME रूप में एक माता पिता पृष्ठ के अंदर लोड किया जाता है P कुछ जावास्क्रिप्ट A में बाहरी विंडो को A को रीडायरेक्ट करता है

आमतौर पर यह जावास्क्रिप्ट ऐसा कुछ दिखता है:

 <script type="text/javascript"> if (top.location.href != self.location.href) top.location.href = self.location.href; </script> 

मेरा सवाल है: मूल पृष्ठ P के लेखक के रूप में और आंतरिक पृष्ठ A के लेखक नहीं होने के नाते, मैं A को इस ब्रेक-आउट से कैसे रोक सकता हूं?

पीएस ऐसा लगता है कि यह एक क्रॉस-साइट सुरक्षा उल्लंघन होना चाहिए, लेकिन ऐसा नहीं है।

वेब के समाधान से एकत्रित समाधान "शीर्ष स्तर की विंडो को पुनर्निर्देशित करने से IFRAME को कैसे रोकें"

Onbeforeunload संपत्ति का उपयोग करने की कोशिश करें, जो उपयोगकर्ता को यह चुनने देगा कि वह पृष्ठ से दूर नेविगेट करना चाहता है या नहीं।

उदाहरण: https://developer.mozilla.org/en-US/docs/Web/API/Window.onbeforeunload

HTML5 में आप sandbox संपत्ति का उपयोग कर सकते हैं कृपया नीचे पंक्रेट का जवाब देखें। http://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/

HTML5 के साथ iframe sandbox विशेषता को जोड़ा गया था। क्रोम, सफारी, फ़ायरफ़ॉक्स और आईई और ओपेरा के हाल के संस्करणों पर यह काम लिखने के समय पर आप जो भी चाहते हैं, वह बहुत कुछ करता है:

 <iframe src="url" sandbox="allow-forms allow-scripts"></iframe> 

यदि आप शीर्ष-स्तरीय रीडायरेक्ट्स को अनुमति देना चाहते हैं तो sandbox="allow-top-navigation" निर्दिष्ट करें।

मैं सैंडबॉक्स = "…" का उपयोग करता हूं

  • अनुमति-फ़ॉर्म फ़ॉर्म सबमिशन की अनुमति देता है
  • अनुमति-पॉपअप पॉपअप को अनुमति देता है
  • allow-pointer-lock पॉइंटर लॉक की अनुमति देता है
  • अनुमति-समान-मूल दस्तावेज़ को इसके मूल बनाए रखने की अनुमति देता है
  • अनुमति-स्क्रिप्ट जावास्क्रिप्ट निष्पादन की अनुमति देता है, और सुविधाओं को स्वचालित रूप से ट्रिगर करने की अनुमति देता है
  • अनुमति-शीर्ष-नेविगेशन दस्तावेज़ को शीर्ष-स्तरीय विंडो पर नेविगेट करके फ़्रेम से बाहर निकलने की अनुमति देता है

शीर्ष नेविगेशन वह है जिसे आप रोकना चाहते हैं, इसलिए इसे छोड़ दें और उसे अनुमति नहीं दी जाएगी। कुछ भी बाहर छोड़ दिया अवरुद्ध हो जाएगा

पूर्व।

  <iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms" src="http://www.example.com"</iframe> 

W3.org युक्ति को पढ़ने के बाद मुझे सैंडबॉक्स संपत्ति मिली

आप sandbox="" सेट कर सकते हैं, जो रीडायरेक्ट से आईफ्रेम को रोकता है। यह कहा जा रहा है कि यह आईफ़्रेम को या तो रीडायरेक्ट नहीं करेगा। आप अनिवार्य रूप से क्लिक खो देंगे

यहाँ उदाहरण: http://jsfiddle.net/ppkzS/1/
बिना sandbox के उदाहरण: http://jsfiddle.net/ppkzS/

मुझे पता है कि यह प्रश्न लंबे समय से रहा है, लेकिन यह मेरा बेहतर संस्करण है, यह किसी भी बाद की कॉल के लिए केवल 500 एमएमएस की प्रतीक्षा करता है, जब आईफ्रेम भरी हुई हो।

 <script type="text/javasript"> var prevent_bust = false ; var from_loading_204 = false; var frame_loading = false; var prevent_bust_timer = 0; var primer = true; window.onbeforeunload = function(event) { prevent_bust = !from_loading_204 && frame_loading; if(from_loading_204)from_loading_204 = false; if(prevent_bust){ prevent_bust_timer=500; } } function frameLoad(){ if(!primer){ from_loading_204 = true; window.top.location = '/?204'; prevent_bust = false; frame_loading = true; prevent_bust_timer=1000; }else{ primer = false; } } setInterval(function() { if (prevent_bust_timer>0) { if(prevent_bust){ from_loading_204 = true; window.top.location = '/?204'; prevent_bust = false; }else if(prevent_bust_timer == 1){ frame_loading = false; prevent_bust = false; from_loading_204 = false; prevent_bust_timer == 0; } } prevent_bust_timer--; if(prevent_bust_timer==-100) { prevent_bust_timer = 0; } }, 1); </script> 

और onload="frameLoad()" और onreadystatechange="frameLoad();" फ्रेम या आइफ्रेम में जोड़ा जाना चाहिए।

मुझे इस पर कुछ उपयोगी हैक्स मिले हैं:

जे एस का उपयोग करना, रीडायरेक्ट करने से या कम से कम प्रॉम्प्ट वाले उपयोगकर्ता रीडायरेक्ट के बारे में बच्चे को कैसे रोक सकता है I

http://www.codinghorror.com/blog/2009/06/we-done-been-framed.html

http://coderrr.wordpress.com/2009/02/13/preventing-frame-busting-and-click-jacking-ui-redressing/

चूंकि आप iframe के अंदर लोड किए गए पृष्ठ एक सेट इन्टरवॉल के साथ "ब्रेक आउट" कोड निष्पादित कर सकते हैं, परन्तु पहले से यह व्यावहारिक नहीं हो सकता, क्योंकि यह उपयोगकर्ता को 'आप को छोड़ना चाहते हैं?' संवाद।

आईफ़्रेम सुरक्षा विशेषता भी है जो केवल आईई और ओपेरा पर काम करती है

🙁

मेरे मामले में मैं चाहता हूं कि उपयोगकर्ता आंतरिक पृष्ठ पर जा सके ताकि सर्वर एक आगंतुक के रूप में अपना आईपी देख सके। अगर मैं php प्रॉक्सी तकनीक का उपयोग करता हूं तो मुझे लगता है कि आंतरिक पृष्ठ एक आगंतुक के रूप में अपना सर्वर आईपी देखेगा, इसलिए यह अच्छा नहीं है। एकमात्र समाधान जो मैंने अभी तक प्राप्त किया है, पर आगे बढ़ रहा है। इसे अपने पृष्ठ पर रखें:

 <script type="text/javascript"> window.onbeforeunload = function () { return "This will end your session"; } </script> 

यह फ़ायरफ़ॉक्स और IE में दोनों काम करता है, जो कि मैंने किस लिए परीक्षण किया आप evt.return (जो कुछ भी) बकवास की तरह कुछ का उपयोग कर संस्करण मिल जाएगा … कि फ़ायरफ़ॉक्स में काम नहीं करता है

ऐसा करने से आप फ़्रेम वाले पृष्ठ की किसी भी कार्रवाई को नियंत्रित कर पाएंगे, जिसे आप नहीं कर सकते समान-डोमेन मूल नीति लागू होती है