2012-02-09 9 views
8

मैं एक रेल 3.2 अनुप्रयोग चल रहा हूँ। मैंने Google वेबमास्टर टूल्स की जांच की और यादृच्छिक पृष्ठों के लिए HTTP 502 त्रुटियों की बहुत कुछ देखी। अजीब चीज यह है कि उन सभी में जहां ?iframe=true&width=80%&height=80% के साथ प्रश्नोत्तरी के रूप में क्रॉल किया गया:क्या उन अनुरोधों "iframe = true और चौड़ाई = 80% और ऊंचाई = 80%" क्वेरी पैरामीटर होने के साथ हो रहा है?

उदा। http://www.mypage.com/anypage?iframe=true&width=80%&height=80%

निश्चित रूप से मैं आंतरिक रूप से उन पृष्ठों पर लिंक नहीं करता, बाहरी होना चाहिए। Google की जांच करना, मुझे यहां सबूत देता है - मैं अन्य मुद्दों के बहुत सारे मुद्दों को देखता हूं।

एक बाहरी सेवा की तरह लगता है कि वे लिंक बनाता है, लेकिन क्यों ??

उत्तर

4

मैं इन भी दिखाई दे रही है। पिछले 24 घंटों में मेरे पृष्ठों में से एक पर 9 हिट हैं। वे सभी एक ही आईपी पते से आते हैं, जो कि माउंटेन व्यू में Google है। उनमें से कोई भी रेफरर नहीं है। इसके अलावा, वास्तव में एक दिलचस्प बात यह है कि उनमें से आधे इस तरह हेडर है:

HTTP_ACCEPT   : */* 
HTTP_ACCEPT_ENCODING : gzip,deflate 
HTTP_CONNECTION  : Keep-alive 
HTTP_FROM    : googlebot(at)googlebot.com 
HTTP_HOST    : mydomain.com 
HTTP_USER_AGENT  : Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) 

लेकिन तब बीच-बीच में अपवाद की रिपोर्ट में किसी भी HTTP हेडर की जरूरत नहीं है कि एक ही आईपी से अनुरोध कर रहे हैं। मुझे यकीन नहीं है कि इसका मतलब है कि उन्हें भेजा नहीं जा रहा है, या यदि रेल स्टैक में कुछ है तो अनुरोधों में कुछ अन्य बदलावों के कारण हेडर को रिकॉर्ड होने से रोकना है। किसी भी मामले में अनुरोध छेड़छाड़ कर रहे हैं।

प्रश्न में पृष्ठ केवल एक महीने के लिए अस्तित्व में है, और GA के अनुसार उस समय के दौरान केवल 5 अनुरोध ही देखे गए हैं।

यह सब मुझे विश्वास दिलाता है कि Google के अंदर कोई ऐसा प्रयोग कर रहा है जो इन बग्गी क्वेरी स्ट्रिंग एन्कोडिंग का कारण बन रहा है, और रेल ऐप्स इसे देख रहे हैं क्योंकि यह रैक क्यूएस पार्सर को दुर्घटनाग्रस्त होने के कारण होता है, जबकि अन्य प्लेटफ़ॉर्म अधिक हो सकते हैं क्षमा।

इस बीच में मैं बंदरगाह पैच रैक बस मुझ पर चिल्लाने से रोकने के लिए कर सकता हूं, लेकिन क्या हो रहा है इसके बारे में अंतिम जवाब Google (किसी भी वहाँ?) से आना होगा।

+0

आप इसे बंदर कैसे बंद करते हैं? मैं रेल 2.2 के पुराने संस्करण का उपयोग कर रहा हूं। मेरे साथ भी वही दिक्कत है। मुझे चिंता है कि इससे Google कम रैंकिंग स्कोर होगा। – DrChanimal

+0

जब आप कहते हैं कि वे "आईपी एड्रेस" से आए हैं - किसी भी मौके पर स्रोत आईपी पता खराब हो गया है? यह उन अनुरोधों के साथ स्पैम रेफरर हो सकता है जो कभी भी प्रतिक्रिया प्राप्त करने की अपेक्षा नहीं करते हैं। (क्या कोई अभी भी स्पैमर रेफर करता है?) – pjmorse

+0

अच्छे प्रश्न।यह निश्चित रूप से धोखा दिया जा सकता है। मुझे नहीं पता कि आप इसका पता कैसे लगाएंगे। यदि ऐसा है तो वे संभवतः सामान्य सॉफ्टवेयर में कुछ ज्ञात भेद्यता का फायदा उठाने का प्रयास कर रहे हैं। – gtd

0

मैं एक ही मुद्दा है। मुझे चिंता है कि यह तीसरा पक्ष स्पैम लिंक है जो मेरी साइट की Google रैंकिंग को कम करने का प्रयास करता है।

+0

रेफरर और Google वेबमास्टर टूल साइट लिंक की जांच करना जारी रखें। यदि इसकी तुलना में कोई रेफरर नहीं है तो जंगली में वास्तविक स्पैम लिंक होने की संभावना नहीं है। – gtd

2

मुझे अभी इस मुद्दे के बारे में और जानकारी मिली है। ऐसा लगता है कि Google वेब मास्टर के अनुसार spidername.com से सभी लिंक आ रहे हैं। ऐसा लगता है कि वे यूआरएल में जोड़ते हैं और किसी भी तरह जब आप उस पर क्लिक करते हैं तो सामग्री दिखाने के लिए आईफ्रेम का उपयोग करेंगे। शायद यूआरएल में iframe = query param शामिल है या नहीं, यह देखने के लिए जावास्क्रिप्ट का उपयोग कर रहा है। हालांकि, Google बॉट सीधे आईफ्रेम पर जा रहा है। यह मुद्दा पैदा कर रहा है।

मैं इस समस्या को हल करने के लिए nginx में एक रीडायरेक्ट नियम का उपयोग करने का निर्णय लेता हूं।

3

आप त्रुटियों (रूबी 1.8.x के साथ) से छुटकारा पाने के अपने initializers को यह जोड़ सकते हैं:

module URI 

    major, minor, patch = RUBY_VERSION.split('.').map { |v| v.to_i } 

    if major == 1 && minor < 9 
    def self.decode_www_form_component(str, enc=nil) 
     if TBLDECWWWCOMP_.empty? 
     tbl = {} 
     256.times do |i| 
      h, l = i>>4, i&15 
      tbl['%%%X%X' % [h, l]] = i.chr 
      tbl['%%%x%X' % [h, l]] = i.chr 
      tbl['%%%X%x' % [h, l]] = i.chr 
      tbl['%%%x%x' % [h, l]] = i.chr 
     end 
     tbl['+'] = ' ' 
     begin 
      TBLDECWWWCOMP_.replace(tbl) 
      TBLDECWWWCOMP_.freeze 
     rescue 
     end 
     end 
     str = str.gsub(/%(?![0-9a-fA-F]{2})/, "%25") 
     str.gsub(/\+|%[0-9a-fA-F]{2}/) {|m| TBLDECWWWCOMP_[m]} 
    end 
    end 

end 

यह सब करता है एनकोड% प्रतीकों कि ऊपर उठाने के बजाय दो पात्रों द्वारा पालन नहीं कर रहे है एक अपवाद। यकीन नहीं है कि यह बंदरगाह रैक होने के लिए इतना अच्छा विचार है, हालांकि। यह एक वैध कारण होना चाहिए कि यह मणि में नहीं किया गया था (शायद सुरक्षा संबंधित?)।

+1

क्या आपको कोई कारण दिखता है कि इसका उपयोग 1.9.x पर क्यों नहीं किया जाए? ऐसा लगता है कि यह काम कर रहा है (स्पष्ट रूप से 'मामूली <9' से' मामूली <= 9' को बदलने के बाद)। – Amir

+0

ऐसा इसलिए है क्योंकि मणि में 1.9 के लिए एक अलग विधि है जो इस से थोड़ा अलग है। – Goro

+0

धन्यवाद! यह सही है! – debbie