मेरे पास रेल ऐप हैं, जो प्रत्येक अनुरोध से प्रत्येक यूआरएल से विशिष्ट यूआरएल दर्ज करते हैं, लेकिन मेरे आईपी डेटाबेस में मुझे 66.220.15 की तरह फेसबुक ब्लोक आईपी मिला है। * और Google आईपी (मुझे सुझाव है कि यह बॉट से आती है) । रोबोट या सर्च इंजन स्पाइडर द्वारा अनुरोध से आईपी निर्धारित करने के लिए कोई सूत्र है? धन्यवादरेल पर रूबी, यह निर्धारित करने के लिए कि क्या रोबोट या सर्च इंजन स्पाइडर द्वारा अनुरोध किया गया था?
रेल पर रूबी, यह निर्धारित करने के लिए कि क्या रोबोट या सर्च इंजन स्पाइडर द्वारा अनुरोध किया गया था?
उत्तर
रोबोटों को उनके अनुरोध के साथ उपयोगकर्ता-एजेंट के साथ भेजने के लिए (किसी भी प्रकार के कानून से अधिक सामान्य/सौजन्य से) आवश्यक है। आप request.env["HTTP_USER_AGENT"]
का उपयोग कर इसके लिए जांच कर सकते हैं और कृपया जितनी चाहें फ़िल्टर कर सकते हैं।
के बाद से अच्छी तरह व्यवहार बॉट कम से कम आम तौर पर यूए स्ट्रिंग में एक संदर्भ यूआरआई वे भेजने के लिए, की तरह कुछ में शामिल हैं:
request.env["HTTP_USER_AGENT"].match(/\(.*https?:\/\/.*\)/)
यदि अनुरोध एक मानव बनाम एक बॉट से है देखने के लिए एक आसान तरीका है उपयोगकर्ता का एजेंट यह एक व्यापक सूची के खिलाफ मैच करने की कोशिश करने से अधिक मजबूत लगता है।
+1 हालांकि, इस चतुर समाधान के लिए, ध्यान रखें कि ट्विटर इस नियम का पालन नहीं करता है, 'request.env [" HTTP_USER_AGENT "] का उपयोग करें। (/Twitterbot\/1.0/) 'इसके बजाय मिलान करें। –
हालांकि यह शायद अधिकांश खोज इंजन बॉट को पकड़ने के लिए एक चालाक समाधान है, लेकिन यह बरकरार रखने योग्य नहीं है और संभवतः कई बॉट –
मुझे लगता है कि आप चेक बॉट के लिए ब्राउज़र मणि का उपयोग कर सकते हैं।
if browser.bot?
# code here
end
याद आती है, जबकि यह लिंक प्रश्न का उत्तर दे सकता है, यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और प्रदान करना बेहतर है संदर्भ के लिए लिंक। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/110 9 7150) –
धन्यवाद @ पारदीप-डुंग्रा, मैं इसे बदलता हूं – dimasjt
यह समाधान मेरे लिए काम करता है, धन्यवाद! –
- 1. यह निर्धारित करने के लिए कि किस कंपाइलर से अनुरोध किया गया था
- 2. जांचें कि क्या अनुरोध अजाक्स द्वारा भेजा गया था या
- 3. यह निर्धारित करने के लिए कि किस नियंत्रण पर एप्लिकेशन पर ध्यान केंद्रित किया गया है
- 4. यह निर्धारित करने के लिए कि उपयोगकर्ता खाता सक्षम या अक्षम किया गया है
- 5. यह पता लगाना कि कर्ल को रीडायरेक्ट किया गया था
- 6. यह निर्धारित करने के लिए कि फोकस कहां गया?
- 7. यह निर्धारित करने के लिए कि एक रूबी मॉड्यूल द्वारा एक उदाहरण बढ़ाया गया है या नहीं?
- 8. यह निर्धारित करने के लिए कि एक बफर संशोधित किया गया है, vimrc फ़ंक्शन क्या है?
- 9. यह निर्धारित करने के लिए कि क्या विधिइन्फो बेस विधि
- 10. यह निर्धारित करने के लिए कि क्या असेंबली ngen'd किया गया है?
- 11. यह निर्धारित करने के लिए कि क्या CKEditor लोड किया गया है?
- 12. यह निर्धारित करने के लिए कि क्या वेबपृष्ठ संशोधित किया गया है
- 13. यह जांचने के लिए कि प्रोग्राम डीबग प्रतीकों के साथ संकलित किया गया था या नहीं?
- 14. यह निर्धारित करें कि उपयोगकर्ता द्वारा
- 15. पॉज़िक्स थ्रेड/सिग्नल: पोर्टेबल तरीका यह निर्धारित करने के लिए कि कौन सा थ्रेड सिग्नल वितरित किया गया था?
- 16. यह जांचने के लिए कि कोई ऑब्जेक्ट प्रारंभ किया गया था या नहीं? ऑब्जेक्टिव-सी
- 17. रूबी: यह निर्धारित करने के लिए कि फ़ाइल को पढ़ने के लिए बाइनरी या टेक्स्ट
- 18. यह निर्धारित करने के लिए कि जावा से पैरामीटर "पोस्ट" या "प्राप्त" किया गया है या नहीं?
- 19. यदि ... और ... या तो अगर ... यह निर्धारित करने के लिए कि क्या लौटाया गया है
- 20. यह निर्धारित करने के लिए कि रूबी-ऑन-रेल कोड कुछ एसक्यूएल उत्पन्न करता है?
- 21. यह निर्धारित करने के लिए कि क्या कोई मिलान रेल में वास्तविक या गलत वापसी है?
- 22. यह निर्धारित करने के लिए कि क्या यूपीएक्स
- 23. यह निर्धारित करने के लिए कि क्या NSString खाली है
- 24. मैं कैसे निर्धारित करूं कि PowerShell Cmdlet पैरामीटर मान निर्दिष्ट किया गया था या नहीं?
- 25. नोड-अनुरोध - यह निर्धारित करने के लिए कि अनुरोध के दौरान कोई त्रुटि हुई है या नहीं?
- 26. यह तय करने के लिए कि एक वैकल्पिक तर्क दिया गया था या नहीं, एक रूबी विधि
- 27. PHP में पासवर्ड कैसे उत्पन्न करें जैसा कि रेलवे पर रूबी में डेविस जेम द्वारा किया गया था
- 28. यह निर्धारित करने के लिए कि क्या .NET अपवाद संभाला जा रहा है या नहीं?
- 29. डेल्फी - TDataSet यह निर्धारित करता है कि इसे संशोधित/संपादित करने के समय में संशोधित किया गया था
- 30. यह निर्धारित करने के लिए कि क्या PHP
धन्यवाद रयान, हाँ मैं रोबोट उपयोगकर्ता-एजेंट की तरह की एक सरणी बनाने: AM_I_ROBOT = [ "Googlebot", "twitterbot", "facebookexternalhit", "http://www.google .com/bot.html ", " http://www.facebook.com/externalhit_uatext.php ", " tweetmemebot "," sitebot "," msnbot "," robot "," bot "] –
यहां एक सूची है उपयोगकर्ता एजेंटों का: http://www.user-agents.org/ एक XML फ़ीड के साथ: http://www.user-agents.org/allagents.xml –
यह गिस्ट सभी खोज इंजन बॉट्स का नाम प्राप्त करता है और एसपी user-agents.org से एम्सर्स और उन्हें एक सरणी में फेंकता है: https://gist.github.com/1121578 यह एक बहुत लंबी सूची है। –