2011-04-02 24 views
10

मुझे लगता है कि कोई आईफ्रेम का उपयोग करके मेरी सामग्री चोरी कर रहा है। मेरी वेबसाइट एक मंच है और एक उपयोगकर्ता ने मुझे अभी बताया है।iframe चोरी

यदि वे अन्य लोग ऐसा कर रहे हैं तो मैं अपनी वेबसाइट प्रोग्रामेटिक रूप से (PHP, जावास्क्रिप्ट, jQuery, HTML) कैसे ढूंढ सकता हूं?

क्या यह इंटरनेट पर ऐसा करने की अनुमति है और क्या मैं कार्रवाई कर सकता हूं?

उत्तर

26
जावास्क्रिप्ट के साथ

आप कर सकते हैं

if(window.top==window){ 
//not inside iframe 
} else { 
    if(parent.parent.someFunction){ 
     parent.parent.someFunction(); 
    } else { 
     alert("framing is not allowed") 
    } 
} 

या

if (window.top !== window.self) window.top.location.replace(window.self.location.href); 

कुछ आधुनिक ब्राउज़रों भी एक्स फ़्रेम-विकल्पों हैडर का समर्थन है, कि दो मान हो सकते हैं हेडर का समर्थन करने वाले ब्राउज़र:

* IE8 and IE9 
* Opera 10.50 
* Safari 4 
* Chrome 4.1.249.1042 
* Firefox with NoScript 
4

यदि आप यह पता लगा सकते हैं कि यह कौन है तो आप उन्हें बता सकते हैं कि वे आपकी सामग्री का उपयोग इस तरह से नहीं कर सकते हैं। यदि आप वेबसाइट के स्वामी हैं तो आप यह निर्धारित कर सकते हैं कि इसका उपयोग कैसे किया जा सकता है। http://en.wikipedia.org/wiki/Framekiller

यह iframes में दिखाए जाने से साइटों को रोकने के लिए एक तकनीक है:

framkillers पर एक नज़र डालें। ध्यान रखें कि फ्रेमवर्कर भी मारे जा सकते हैं।

* DENY – prevents the page from being rendered if it is contained in a frame 
* SAMEORIGIN – same as above, unless the page belongs to the same domain as the top-level frameset holder. 

:

+0

कोड जे एस तो बुनियादी तौर पर, अगर वे प्रतिबद्ध मैं उन्हें को प्रोग्राम के नहीं रोक सकता हैं उपयोग कर सकते हैं। धन्यवाद। क्या यह सच है कि मैं निर्देश देता हूं कि मेरी वेबसाइट का उपयोग कैसे किया जाता है क्योंकि मैं इसे जनता द्वारा उपयोग करने की अनुमति देता हूं, तो क्या मैं अभी भी स्टील्स के बाद जा सकता हूं? निश्चित रूप से – David19801

+0

। यह आपकी अपनी संपत्ति है ताकि आप शर्तों को निर्देशित कर सकें। समस्या लागू हो रही है। किस देश में शामिल है इस पर निर्भर करता है कि यह थोड़ा मुश्किल हो सकता है। लेकिन आप हमेशा अपने आईएसपी को सीधे नोटिस भेज सकते हैं। कोड के माध्यम से एक सूची प्राप्त करने के लिए मेरे सिर के शीर्ष से कुछ भी नहीं सोच सकता। मैं के फोन पर हूं इसलिए अभी खोज नहीं कर सकता :) – JohnP

+0

इसके अलावा आप जैकजो के समाधान को भी देखना चाहेंगे। आपके सेटअप के आधार पर काम करेगा। और पीएसटी के उल्लेख की तरह, वे अच्छे हो सकते हैं तो पहले पूछें! – JohnP

1

HTTP Referer फ़िल्टर का उपयोग कर कुछ विस्तार के लिए HTTP पहुंच को अवरुद्ध किया जा सकता है। HTTP होस्ट में रेफरर को देखकर "होस्ट सर्वर द्वारा" एक्सेस की भी निगरानी की जा सकती है। यह एक आदर्श समाधान नहीं है, लेकिन मानक ब्राउज़र पहुंच के लिए आपको वहां से अधिकतर तरीके मिलेंगे। ("कोई हॉट-लिंकिंग" सेटअप कभी-कभी इस तरह काम नहीं करता है।)

कानूनी कार्रवाई के लिए, वकील की सलाह लें :-) हालांकि, मेरा पहला झुकाव अन्य साइट मालिकों को रोकने के लिए कहना होगा। वे सिर्फ अच्छे हो सकते हैं।

3

उपयोग एक ही विधि कि मैं यहाँ का सुझाव दिया: How to limit display of iframe from an external site to specific domains only

एक नट खोल में, आप हर पृष्ठ में एक PHP स्क्रिप्ट जोड़ने (आपके मामले में यह शायद सिर्फ एक हो जाएगा, यह एक टेम्पलेट है यह सोचते हैं), इस लिपि एक (या अधिक) रेफरिंग डोमेन को देखने को सीमित करता है।

यह विधि किसी जावास्क्रिप्ट विधि से बेहतर है क्योंकि उपयोगकर्ता इसे अक्षम कर सकते हैं।

+1

इस विधि का एक बड़ा नुकसान है - कुछ फ़िरवाल ब्राउज़र को रेफरर हेडर भेजने से रोकते हैं। उस स्थिति में उपयोगकर्ता पृष्ठ तक पहुंच नहीं पाएंगे। – Rafael

+0

यह एक अच्छी टिप्पणी है, उस स्थिति में मैं साइट के संपर्कों के साथ सभी "निषिद्ध" डोमेन, यहां तक ​​कि उन झूठी सकारात्मकताओं के लिए एक संदेश दूंगा ताकि उपयोगकर्ता संपर्क कर सकें और उन्हें एक सुरक्षित डोमेन के रूप में जोड़ने का अनुरोध कर सकें। ओपी जांच सकता है कि सर्वर लॉग के माध्यम से कौन से चोरी कर रहे हैं और उन लोगों को बाहर कर दें, भले ही वे संपर्कों के माध्यम से अनुरोध करें। मैं अभी भी जावास्क्रिप्ट विधियों पर इस विधि को पसंद करता हूं। – jackJoe

+0

हर किसी के पास जावास्क्रिप्ट सक्षम है। यदि आपके पास जावास्क्रिप्ट सक्षम नहीं है तो आपको प्राचीन दुनिया में रहना होगा। वेब पर लगभग हर साइट जावास्क्रिप्ट का उपयोग एक तरफ या दूसरे में करती है। जावास्क्रिप्ट को अक्षम करने का अर्थ है वेब से खुद को डिस्कनेक्ट करना। – Pinkie

0

आप इस अपनी वेबसाइट के शीर्ष में (हेडर पेज)

if (window.top !== window.self) window.top.location.replace(window.self.location.href);