السماح لـ Google بتجاوز التحقق من Captcha - معقول أم لا؟

StackOverflow https://stackoverflow.com/questions/2621533

  •  26-09-2019
  •  | 
  •  

سؤال

يحتوي موقع الويب الخاص بي على قاعدة بيانات. يمنحك ملء Captcha 5 دقائق من وقت البحث. هناك أيضًا بعض التعليمات البرمجية المخصصة للكشف عن أي نصوص آلية. أفعل هذا لأنني لا أريد شخص ما يستنشق موقعي.

المشكلة هي أن Google لا ترى نتائج البحث عندما يزحف موقعي. إذا كان شخص ما يبحث عن سلسلة موجودة في نتيجة بحث ، أود أن يجد هذه الصفحة عن طريق googling.

الحل الواضح بالنسبة لي هو استخدام متغير PHP $_SERVER['HTTP_USER_AGENT'] لتجاوز Captcha ورمز الأمان المخصص لـ Google Bots. سؤالي هو ما إذا كان هذا منطقيًا أم لا.

يمكن للأشخاص بعد ذلك استخدام ذاكرة التخزين المؤقت لـ Google لعرض نتائج البحث دون الحاجة إلى ملء Captcha ، ولكن هل ستمنع طرق الكشف عن البرامج النصية الخاصة بـ Google من استخراج البيانات في هذه الصفحات؟

أو سيكون هناك طريقة لإنشاء الناس $_SERVER['HTTP_USER_AGENT'] تظهر على أنها Google لتجاوز تدابير الأمان؟

شكرا لك مقدما.

هل كانت مفيدة؟

المحلول

أو هل سيكون هناك طريقة ما للناس لجعل $ _Server ['http_user_agent'] تظهر كجوجل لتجاوز التدابير الأمفية؟

بالتااكيد. وكيل المستخدم من السهل صياغة. انظر على سبيل المثال تبديل وكيل المستخدم ل Firefox. من السهل أيضًا على روبوت البريد العشوائي تعيين رأس وكيل المستخدم الخاص به على Google Bot.

قد لا يزال يستحق تسديدة ، رغم ذلك. أود أن أقول فقط جربها وأرى ما هي النتائج. إذا واجهت مشاكل ، فقد تضطر إلى التفكير في طريقة أخرى.

طريقة إضافية للتعرف على Google Bot يستطع يكون نطاق (نطاق IP) الذي يستخدمه. لا أعرف ما إذا كان الروبوت يستخدم نطاقات IP المحددة - قد يكون هذا ليس هو الحال ، يجب عليك معرفة ذلك.

تحديث: يبدو أنه من الممكن التحقق من Google Bot من خلال تحليل IP الخاص به. من عند Google Web Central: كيفية التحقق من GoogleBot

يبدو أن إخبار مشرفي المواقع باستخدام DNS للتحقق على أساس كل حالة على حدة ، يبدو أفضل طريقة للذهاب. أعتقد أن التقنية الموصى بها هي إجراء بحث عكسي DNS ، والتحقق من أن الاسم موجود في مجال GoogleBot.com ، ثم قم بإجراء البحث عن DNS-> IP باستخدام اسم googlebot.com ؛ على سبيل المثال:

Host 66.249.66.1 1.66.249.66.in-Addr.Arpa Name Name Pointer Crawl-66-249-66-1.Googlebot.com.

Host Crawl-66-249-66-1.Googlebot.com Crawl-66-249-66-1.Googlebot.com لديه عنوان 66.249.66.1

لا أعتقد أن مجرد إجراء بحث عكسي DNS كافٍ ، لأن Spoofer يمكن أن يقوم بإعداد DNS العكسي للإشارة إلى Crawl-ABCD.Googlebot.com.

نصائح أخرى

ال $_SERVER['HTTP_USER_AGENT'] المعلمة غير آمنة ، يمكن للأشخاص مزيفة إذا كانوا يريدون حقًا الحصول على نتائجك. قرارك هو قرار تجاري ، في الأساس ترغب في خفض الأمان وربما السماح للأشخاص/الروبوتات بكشط موقعك ، أو هل تريد أن تكون نتائجك مخفية من Google.

أحد الحلول آمنة ، ولديها قاعدة بيانات جغرافية صغيرة مرتبة بواسطة ASN ، وحظر روبوت ASN السيئ (الوكيل ، والخادم ، ومزود الاستضافة كـ OVH) ويسمح ليتل بوت (Google ، Bing ، Yahoo) ، GSM Mobile ASN مثل Orange ، SFR Vodafone ... مجرد فكرة :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top