การตรวจจับโปรแกรมรวบรวมข้อมูลเว็บ "ลักลอบ"


107

มีตัวเลือกใดบ้างในการตรวจหาโปรแกรมรวบรวมข้อมูลเว็บที่ไม่ต้องการให้ตรวจพบ

(ฉันรู้ว่าเทคนิคการตรวจจับรายชื่อจะช่วยให้โปรแกรมเมอร์โปรแกรมรวบรวมข้อมูลลักลอบที่ชาญฉลาดสามารถสร้างสไปเดอร์ได้ดีขึ้น แต่ฉันไม่คิดว่าเราจะสามารถบล็อกโปรแกรมรวบรวมข้อมูลการลักลอบอัจฉริยะได้อีกต่อไปมีเพียงคนที่ทำผิดพลาดเท่านั้น)

ฉันไม่ได้พูดถึงโปรแกรมรวบรวมข้อมูลที่ดีเช่น googlebot และ Yahoo! Slurp. ฉันคิดว่าบอทดีถ้ามัน:

  1. ระบุตัวเองว่าเป็นบอทในสตริงตัวแทนผู้ใช้
  2. อ่าน robots.txt (และปฏิบัติตาม)

ฉันกำลังพูดถึงโปรแกรมรวบรวมข้อมูลที่ไม่ดีซึ่งซ่อนตัวอยู่หลังตัวแทนผู้ใช้ทั่วไปโดยใช้แบนด์วิดท์ของฉันและไม่เคยให้อะไรตอบแทนฉันเลย

มีช่องดักบางส่วนที่สามารถสร้างรายการปรับปรุงได้ (ขอบคุณ Chris, gs) :

  1. การเพิ่มไดเรกทอรีที่แสดงรายการเท่านั้น (ทำเครื่องหมายว่าไม่อนุญาต) ใน robots.txt
  2. การเพิ่มลิงก์ที่มองไม่เห็น (อาจทำเครื่องหมายว่า rel = "nofollow"?)
    • style = "display: none;" บนลิงค์หรือคอนเทนเนอร์หลัก
    • วางไว้ใต้องค์ประกอบอื่นที่มีดัชนี z สูงกว่า
  3. ตรวจสอบว่าใครไม่เข้าใจการใช้อักษรตัวพิมพ์ใหญ่
  4. ตรวจสอบว่าใครพยายามโพสต์คำตอบ แต่แคปต์ชาล้มเหลวเสมอ
  5. ตรวจจับคำขอ GET ไปยังรีซอร์ส POST เท่านั้น
  6. ตรวจจับช่วงเวลาระหว่างคำขอ
  7. ตรวจหาลำดับของหน้าที่ร้องขอ
  8. ตรวจสอบว่าใคร (อย่างสม่ำเสมอ) ร้องขอทรัพยากร https ผ่าน http
  9. ตรวจสอบว่าใครไม่ขอไฟล์ภาพ (รวมกับรายชื่อตัวแทนผู้ใช้ของเบราว์เซอร์ที่สามารถใช้รูปภาพที่รู้จักกันดี)

กับดักบางอย่างจะถูกกระตุ้นโดยบอท 'ดี' และ 'ไม่ดี' คุณสามารถรวมสิ่งเหล่านี้เข้ากับรายการที่อนุญาต:

  1. มันทำให้เกิดกับดัก
  2. มันขอrobots.txt?
  3. อย่าทำกับดักอื่นเพราะมันเชื่อฟัง robots.txt

สิ่งสำคัญอีกประการหนึ่งคือ:
โปรดพิจารณาคนตาบอดโดยใช้โปรแกรมอ่านหน้าจอ: ให้วิธีการติดต่อกับคุณแก่ผู้อื่นหรือแก้ Captcha (ที่ไม่ใช่รูปภาพ) เพื่อเรียกดูต่อไป

มีวิธีใดบ้างในการตรวจจับโปรแกรมรวบรวมข้อมูลเว็บโดยอัตโนมัติที่พยายามปกปิดตัวเองว่าเป็นผู้เยี่ยมชมที่เป็นมนุษย์ทั่วไป

อัปเดต
คำถามไม่ใช่: ฉันจะตรวจจับโปรแกรมรวบรวมข้อมูลทุกตัวได้อย่างไร คำถามคือฉันจะเพิ่มโอกาสในการตรวจพบโปรแกรมรวบรวมข้อมูลได้อย่างไร

สไปเดอร์บางตัวดีมากและแยกวิเคราะห์และเข้าใจ html, xhtml, css javascript, VB script และอื่น ๆ ...
ฉันไม่มีภาพลวงตา: ฉันจะไม่สามารถเอาชนะพวกมันได้

อย่างไรก็ตามคุณจะแปลกใจว่าซอฟต์แวร์รวบรวมข้อมูลบางตัวโง่แค่ไหน ด้วยตัวอย่างที่ดีที่สุดของความโง่เขลา (ในความคิดของฉัน) คือ: ส่ง URL ทั้งหมดเป็นตัวพิมพ์เล็กก่อนที่จะร้องขอ

แล้วมีโปรแกรมรวบรวมข้อมูลจำนวนมากที่ 'ไม่ดีพอ' ที่จะหลีกเลี่ยงกับดักต่างๆ

คำตอบ:


15

ในขณะที่ย้อนกลับไปฉันทำงานกับ บริษัท โฮสติ้งขนาดเล็กเพื่อช่วยพวกเขาในการแก้ปัญหานี้ ระบบที่ฉันพัฒนาได้ตรวจสอบบันทึกของเว็บเซิร์ฟเวอร์สำหรับกิจกรรมที่มากเกินไปจากที่อยู่ IP ใด ๆ ที่กำหนดและออกกฎไฟร์วอลล์เพื่อป้องกันผู้กระทำผิด รวมถึงรายการที่อนุญาตพิเศษของที่อยู่ IP / ช่วงตามhttp://www.iplists.com/ซึ่งได้รับการอัปเดตโดยอัตโนมัติตามความจำเป็นโดยการตรวจสอบสตริงตัวแทนผู้ใช้ที่อ้างสิทธิ์และหากลูกค้าอ้างว่าเป็นแมงมุมที่ถูกต้อง แต่ไม่ได้อยู่ใน รายการที่อนุญาตจะทำการค้นหา DNS / reverse-DNS เพื่อตรวจสอบว่าที่อยู่ IP ต้นทางตรงกับเจ้าของบอทที่อ้างสิทธิ์ เนื่องจากความล้มเหลวจึงมีการรายงานการดำเนินการเหล่านี้ไปยังผู้ดูแลระบบทางอีเมลพร้อมกับลิงก์ไปยังบัญชีดำ / รายการที่อนุญาตพิเศษในกรณีที่การประเมินไม่ถูกต้อง

ฉันไม่ได้คุยกับลูกค้าคนนั้นเลยภายใน 6 เดือน แต่ล่าสุดฉันได้ยินมาว่าระบบทำงานได้ค่อนข้างมีประสิทธิภาพ

ประเด็นด้านข้าง: หากคุณกำลังคิดจะทำระบบตรวจจับที่คล้ายกันโดยอาศัยการ จำกัด อัตราการเข้าชมให้แน่ใจว่าได้ใช้ผลรวมอย่างน้อย 1 นาที (และอย่างน้อย 5 นาที) ฉันเห็นผู้คนจำนวนมากพูดถึงแผนการประเภทนี้ที่ต้องการบล็อกใครก็ตามที่มียอดเข้าชม 5-10 ครั้งในหนึ่งวินาทีซึ่งอาจสร้างผลบวกที่ผิดพลาดในหน้าที่มีรูปภาพจำนวนมาก (เว้นแต่รูปภาพจะถูกแยกออกจากการนับ) และจะสร้างเท็จ ในแง่บวกเมื่อมีคนอย่างฉันพบเว็บไซต์ที่น่าสนใจซึ่งเขาต้องการอ่านทั้งหมดเขาจึงเปิดลิงก์ทั้งหมดในแท็บเพื่อโหลดในพื้นหลังขณะที่เขาอ่านเว็บไซต์แรก


5
ฉันพบว่าผลบวกที่ผิดพลาดเนื่องจากการบล็อกโปรแกรมรวบรวมข้อมูลเว็บฆ่าการเข้าชมเว็บอย่างแน่นอน โดยพื้นฐานแล้วคุณกำลังโกรธผู้ใช้ 99.8% ในความพยายามที่ไม่ดีในการขัดขวางโปรแกรมรวบรวมข้อมูลที่สามารถข้ามวิธีการไร้เดียงสานี้ได้อย่างง่ายดาย ไม่ควรปฏิเสธการเข้าถึงของผู้ใช้หรือขัดขวางการเข้าถึงเพราะจะทำลายประสบการณ์ของผู้ใช้กับไซต์ของคุณ
KJW

14

ดูProject Honeypot - พวกเขากำลังตั้งค่าบอทกับดักในขนาดใหญ่ (และมี DNSRBL พร้อม IP ของพวกเขา)

ใช้ URL และ HTML ที่ยุ่งยาก:

<a href="https://stackoverflow.com//example.com/"> = http://example.com/ on http pages.
<a href="page&amp;&#x23;hash"> = page& + #hash

ใน HTML คุณสามารถใช้กลเม็ดมากมายกับความคิดเห็นองค์ประกอบ CDATA เอนทิตี ฯลฯ :

<a href="foo<!--bar-->"> (comment should not be removed)
<script>var haha = '<a href="bot">'</script>
<script>// <!-- </script> <!--><a href="bot"> <!-->

9

วิธีแก้ปัญหาง่ายๆคือสร้างลิงค์และทำให้มองไม่เห็น

<a href="iamabot.script" style="display:none;">Don't click me!</a>

แน่นอนคุณควรคาดหวังว่าบางคนที่ดูซอร์สโค้ดจะติดตามลิงก์นั้นเพียงเพื่อดูว่านำไปสู่ที่ใด แต่คุณสามารถนำเสนอผู้ใช้เหล่านั้นด้วย captcha ...

แน่นอนว่าโปรแกรมรวบรวมข้อมูลที่ถูกต้องจะไปตามลิงก์ด้วย แต่คุณไม่ควรใช้ rel = nofollow แต่มองหาสัญลักษณ์ของโปรแกรมรวบรวมข้อมูลที่ถูกต้อง (เช่นตัวแทนผู้ใช้)


1
เว้นแต่บอทจะตรวจสอบแอตทริบิวต์ CSS ของลิงก์และไม่ไปตามลิงก์เนื่องจากผู้ใช้ที่เป็นมนุษย์มองไม่เห็น ...
Bob Somers

1
การติดป้ายลิงก์ "ห้ามคลิกฉัน" จะเป็นความคิดที่ดีกว่า .. หากมีคนปิดใช้งาน CSS (หรือไม่มีการรองรับ CSS) ลิงก์จะปรากฏให้เห็น ..
dbr

ความคิดที่ดี. บางทีอาจเปลี่ยนข้อความเป็น "." และสไตล์ css เพื่อให้เข้ากับพื้นหลัง - ทำให้ผู้ใช้ส่วนใหญ่มองไม่เห็น? หรือเรียกใช้สคริปต์เพื่อซ่อนหลังจากผ่านไป 1 วินาทีโดยปล่อยให้บอทมองเห็นได้เฉพาะบอทที่ไม่สามารถเชื่อมโยงคำสั่ง javascript hide กับลิงก์ได้หรือไม่
Underverse

1
ระวังการลงโทษหมวกดำจากมุมมองของ SEO
Alfred Wallace

6

สิ่งหนึ่งที่คุณไม่ได้ระบุไว้ซึ่งมักใช้ในการตรวจหาโปรแกรมรวบรวมข้อมูลที่ไม่ดี

ความเร็วในการเข้าชมโปรแกรมรวบรวมข้อมูลเว็บที่ดีจะทำลายความนิยมของพวกเขาดังนั้นพวกเขาจึงไม่หลอกลวงเว็บไซต์ด้วยคำขอ คนไม่ดีจะทำอย่างใดอย่างหนึ่งในสามสิ่ง:

  1. กดลิงก์ตามลำดับทีละรายการ
  2. กดลิงก์ตามลำดับในลำดับพาราเรลบางส่วน (ครั้งละ 2 รายการขึ้นไป)
  3. กดลิงก์ตามลำดับในช่วงเวลาที่กำหนด

นอกจากนี้โปรแกรมการท่องเว็บแบบออฟไลน์บางโปรแกรมจะทำให้หน้าเว็บจำนวนหนึ่งคลาดเคลื่อนฉันไม่แน่ใจว่าคุณต้องการใช้ขีด จำกัด ประเภทใดเพื่อเริ่มบล็อกตามที่อยู่ IP

วิธีนี้จะจับโปรแกรมมิเรอร์เช่น fmirror หรือ wget

หากบอทสุ่มช่วงเวลาคุณสามารถตรวจสอบเพื่อดูว่าลิงก์ข้ามผ่านในลักษณะตามลำดับหรือเชิงลึกก่อนหรือคุณสามารถดูได้ว่าบอทกำลังข้ามผ่านข้อความจำนวนมาก (เช่นเดียวกับคำที่จะอ่าน) ใน a ช่วงเวลาสั้นเกินไป บางไซต์ จำกัด จำนวนคำขอต่อชั่วโมงด้วย

จริงๆแล้วฉันเคยได้ยินความคิดบางแห่งฉันจำไม่ได้ว่าถ้าผู้ใช้รับข้อมูลมากเกินไปในรูปของกิโลไบต์พวกเขาสามารถแสดงด้วย captcha เพื่อขอให้พวกเขาพิสูจน์ว่าพวกเขาไม่ใช่บอท ฉันไม่เคยเห็นสิ่งนั้นมาใช้

อัปเดตเกี่ยวกับการซ่อนลิงก์

เท่าที่การซ่อนลิงก์ไปคุณสามารถใส่ div ไว้ใต้อีกอันหนึ่งโดยใช้ CSS (วางไว้ก่อนในลำดับการวาด) และอาจตั้งค่า z-order บอทไม่สามารถเพิกเฉยได้โดยไม่ต้องแยกวิเคราะห์จาวาสคริปต์ทั้งหมดของคุณเพื่อดูว่าเป็นเมนูหรือไม่ ในระดับหนึ่งลิงก์ภายในองค์ประกอบ DIV ที่มองไม่เห็นจะไม่สามารถเพิกเฉยได้หากไม่มีบอทแยกวิเคราะห์จาวาสคริปต์ทั้งหมด

การใช้ความคิดนั้นจนเสร็จสิ้นโดยไม่เรียกใช้จาวาสคริปต์ซึ่งอาจแสดงองค์ประกอบที่ซ่อนอยู่อาจทำให้บอทแยกวิเคราะห์จาวาสคริปต์บางส่วนได้ และเป็นงานที่ต้องใช้ไม่มากนัก


16
ข้อบกพร่องที่สำคัญของเมธอด "การละเว้น JavaScript หมายความว่าคุณเป็นบอท" พวกเราบางคนใช้ปลั๊กอิน NoScript ไม่มีไซต์ใดที่เรียกใช้ JavaScript กับฉันเว้นแต่ฉันจะอนุญาตไซต์นี้และฉันค่อนข้างมั่นใจว่าฉันไม่ใช่บอท
Dave Sherohman

2
บอทสามารถเรียกใช้งาน Javascript ได้แล้ว ... มันคือปี 2013 สำหรับ christ sakes ดังนั้นจึงมีข้อโต้แย้งทั้งหมด ใครบอกว่าโปรแกรมรวบรวมข้อมูลเว็บเข้าชมไซต์ตามลำดับ อีกหนึ่งข้อสันนิษฐานที่ยิ่งใหญ่
KJW

1
จาวาสคริปต์ใช้สำหรับการแสดงลิงค์ Honeypot เท่านั้น แนวคิดก็คือบอทจะแยกวิเคราะห์จาวาสคริปต์ที่จะทำให้มองเห็นลิงก์ฮันนี่พ็อตทำให้มีแนวโน้มที่จะติดตามลิงก์ อย่างไรก็ตามสำหรับผู้ใช้จริงรหัสที่ทำให้มองเห็นลิงก์จะไม่ถูกเรียกใช้งาน ดังนั้นผู้ใช้ NoScript พร้อมกับใครก็ตามที่ไม่ได้ใช้งานฟังก์ชันแบบสุ่มก็จะดี ที่กล่าวว่าฉันไม่แน่ใจว่าทำไม / วิธีที่บอทสุ่มเรียกใช้โค้ดและถ้ามันกำลังทำการวิเคราะห์แบบคงที่เพื่อตรวจสอบว่าองค์ประกอบนั้นสามารถมองเห็นได้หรือไม่นั่นจะเป็นบอทแฟนซีตัวหนึ่ง
Rick

4

วิธีการตรวจหาบอทง่ายๆอย่างหนึ่งที่ฉันเคยได้ยินสำหรับแบบฟอร์มคือเทคนิคการป้อนข้อมูลที่ซ่อนอยู่ หากคุณกำลังพยายามรักษาความปลอดภัยของฟอร์มให้ใส่ข้อมูลลงในแบบฟอร์มด้วย id ที่ดูถูกต้องตามกฎหมาย จากนั้นใช้ css ในไฟล์ภายนอกเพื่อซ่อน หรือถ้าคุณหวาดระแวงจริงๆให้ตั้งค่าบางอย่างเช่น jquery เพื่อซ่อนช่องป้อนข้อมูลในการโหลดหน้า ถ้าคุณทำอย่างนี้ถูกต้องฉันคิดว่ามันจะยากมากสำหรับบอทที่จะคิดออก คุณรู้ว่าบ็อตเหล่านั้นมีลักษณะการกรอกข้อมูลทุกอย่างบนหน้าเว็บโดยเฉพาะอย่างยิ่งหากคุณให้รหัสที่ซ่อนอยู่เช่น id = "fname" เป็นต้น


2
ไม่ใช่หากบอทสามารถรอให้ jquery เสร็จสิ้นได้เช่นเดียวกับเบราว์เซอร์ทั่วไป สิ่งนี้จะทำงานได้ดีในช่วงต้นยุค 00
KJW

3

ไม่ใช่เรื่องง่ายที่จะติดตามสตริงตัวแทนผู้ใช้ที่ดี เวอร์ชันเบราว์เซอร์มาและไป การสร้างสถิติเกี่ยวกับสตริงตัวแทนผู้ใช้ด้วยพฤติกรรมที่แตกต่างกันสามารถเปิดเผยสิ่งที่น่าสนใจได้

ฉันไม่รู้ว่ามันจะทำงานอัตโนมัติได้แค่ไหน แต่อย่างน้อยมันก็เป็นสิ่งที่สร้างความแตกต่างอย่างหนึ่ง


3

ยังไม่ทดสอบ แต่นี่คือรายการ User-agent ที่ดีที่คุณสามารถสร้างนิพจน์ทั่วไปได้ ช่วยให้คุณได้รับประโยชน์สูงสุดจากที่นั่น:

ADSARobot|ah-ha|almaden|aktuelles|Anarchie|amzn_assoc|ASPSeek|ASSORT|ATHENS|Atomz|attach|attache|autoemailspider|BackWeb|Bandit|BatchFTP|bdfetch|big.brother|BlackWidow|bmclient|Boston\ Project|BravoBrian\ SpiderEngine\ MarcoPolo|Bot\ mailto:craftbot@yahoo.com|Buddy|Bullseye|bumblebee|capture|CherryPicker|ChinaClaw|CICC|clipping|Collector|Copier|Crescent|Crescent\ Internet\ ToolPak|Custo|cyberalert|DA$|Deweb|diagem|Digger|Digimarc|DIIbot|DISCo|DISCo\ Pump|DISCoFinder|Download\ Demon|Download\ Wonder|Downloader|Drip|DSurf15a|DTS.Agent|EasyDL|eCatch|ecollector|efp@gmx\.net|Email\ Extractor|EirGrabber|email|EmailCollector|EmailSiphon|EmailWolf|Express\ WebPictures|ExtractorPro|EyeNetIE|FavOrg|fastlwspider|Favorites\ Sweeper|Fetch|FEZhead|FileHound|FlashGet\ WebWasher|FlickBot|fluffy|FrontPage|GalaxyBot|Generic|Getleft|GetRight|GetSmart|GetWeb!|GetWebPage|gigabaz|Girafabot|Go\!Zilla|Go!Zilla|Go-Ahead-Got-It|GornKer|gotit|Grabber|GrabNet|Grafula|Green\ Research|grub-client|Harvest|hhjhj@yahoo|hloader|HMView|HomePageSearch|http\ generic|HTTrack|httpdown|httrack|ia_archiver|IBM_Planetwide|Image\ Stripper|Image\ Sucker|imagefetch|IncyWincy|Indy*Library|Indy\ Library|informant|Ingelin|InterGET|Internet\ Ninja|InternetLinkagent|Internet\ Ninja|InternetSeer\.com|Iria|Irvine|JBH*agent|JetCar|JOC|JOC\ Web\ Spider|JustView|KWebGet|Lachesis|larbin|LeechFTP|LexiBot|lftp|libwww|likse|Link|Link*Sleuth|LINKS\ ARoMATIZED|LinkWalker|LWP|lwp-trivial|Mag-Net|Magnet|Mac\ Finder|Mag-Net|Mass\ Downloader|MCspider|Memo|Microsoft.URL|MIDown\ tool|Mirror|Missigua\ Locator|Mister\ PiX|MMMtoCrawl\/UrlDispatcherLLL|^Mozilla$|Mozilla.*Indy|Mozilla.*NEWT|Mozilla*MSIECrawler|MS\ FrontPage*|MSFrontPage|MSIECrawler|MSProxy|multithreaddb|nationaldirectory|Navroad|NearSite|NetAnts|NetCarta|NetMechanic|netprospector|NetResearchServer|NetSpider|Net\ Vampire|NetZIP|NetZip\ Downloader|NetZippy|NEWT|NICErsPRO|Ninja|NPBot|Octopus|Offline\ Explorer|Offline\ Navigator|OpaL|Openfind|OpenTextSiteCrawler|OrangeBot|PageGrabber|Papa\ Foto|PackRat|pavuk|pcBrowser|PersonaPilot|Ping|PingALink|Pockey|Proxy|psbot|PSurf|puf|Pump|PushSite|QRVA|RealDownload|Reaper|Recorder|ReGet|replacer|RepoMonkey|Robozilla|Rover|RPT-HTTPClient|Rsync|Scooter|SearchExpress|searchhippo|searchterms\.it|Second\ Street\ Research|Seeker|Shai|Siphon|sitecheck|sitecheck.internetseer.com|SiteSnagger|SlySearch|SmartDownload|snagger|Snake|SpaceBison|Spegla|SpiderBot|sproose|SqWorm|Stripper|Sucker|SuperBot|SuperHTTP|Surfbot|SurfWalker|Szukacz|tAkeOut|tarspider|Teleport\ Pro|Templeton|TrueRobot|TV33_Mercator|UIowaCrawler|UtilMind|URLSpiderPro|URL_Spider_Pro|Vacuum|vagabondo|vayala|visibilitygap|VoidEYE|vspider|Web\ Downloader|w3mir|Web\ Data\ Extractor|Web\ Image\ Collector|Web\ Sucker|Wweb|WebAuto|WebBandit|web\.by\.mail|Webclipping|webcollage|webcollector|WebCopier|webcraft@bea|webdevil|webdownloader|Webdup|WebEMailExtrac|WebFetch|WebGo\ IS|WebHook|Webinator|WebLeacher|WEBMASTERS|WebMiner|WebMirror|webmole|WebReaper|WebSauger|Website|Website\ eXtractor|Website\ Quester|WebSnake|Webster|WebStripper|websucker|webvac|webwalk|webweasel|WebWhacker|WebZIP|Wget|Whacker|whizbang|WhosTalking|Widow|WISEbot|WWWOFFLE|x-Tractor|^Xaldon\ WebSpider|WUMPUS|Xenu|XGET|Zeus.*Webster|Zeus [NC]

นำมาจาก: http://perishablepress.com/press/2007/10/15/ultimate-htaccess-blacklist-2-compressed-version/


1

คุณยังสามารถตรวจสอบการอ้างอิง ไม่มีผู้อ้างอิงสามารถทำให้บอทสงสัยได้ การอ้างอิงที่ไม่ดีหมายความว่าไม่ใช่เบราว์เซอร์อย่างแน่นอน

การเพิ่มลิงก์ที่มองไม่เห็น (อาจทำเครื่องหมายว่า rel = "nofollow"?)

* style="display: none;" on link or parent container
* placed underneath another element with higher z-index

ฉันจะไม่ทำอย่างนั้น คุณสามารถขึ้นบัญชีดำโดย Google สำหรับ SEO หมวกดำ :)


1
อะไรคือสิ่งที่ทำให้คุณอยู่ในบัญชีดำ?
conteh

1

ปัจจุบันฉันทำงานให้กับ บริษัท ที่สแกนเว็บไซต์เพื่อแยกประเภท นอกจากนี้เรายังตรวจสอบไซต์เพื่อหามัลแวร์

จากประสบการณ์ของฉันบล็อกเกอร์อันดับหนึ่งของโปรแกรมรวบรวมข้อมูลเว็บของเรา (ซึ่งแน่นอนว่าใช้ IE หรือ Firefox UA และไม่ปฏิบัติตาม robots.txt Duh.) เป็นไซต์ที่โฮสต์มัลแวร์โดยเจตนา เป็นเรื่องที่น่าปวดหัวเพราะจากนั้นไซต์ก็ตกอยู่กับมนุษย์ที่ต้องโหลดไซต์ด้วยตนเองแยกประเภทและตรวจหามัลแวร์

ฉันแค่บอกว่าการบล็อกโปรแกรมรวบรวมข้อมูลเว็บทำให้คุณอยู่ใน บริษัท ที่ไม่ดี

แน่นอนว่าหากพวกเขาหยาบคายอย่างน่ากลัวและดูดแบนด์วิดท์ของคุณเป็นจำนวนมากมันก็เป็นเรื่องที่แตกต่างเพราะคุณมีเหตุผลที่ดี


15
ขออภัยหากคุณเรียกใช้โปรแกรมรวบรวมข้อมูลที่ไม่ปฏิบัติตาม robots.txt แสดงว่าคุณไม่ปฏิบัติตามกฎ การไม่ปฏิบัติตามกฎหมายความว่าคุณกำลังทำให้ตัวเองอยู่ใน บริษัท ที่ไม่ดีจริงๆ การแนะนำว่าการบังคับใช้กฎตามที่เจ้าของเว็บไซต์กำหนด (ใน robots.txt) ถือเป็นการปฏิบัติที่ไม่ดีคุณกำลังพลิกปัญหาโดยมิชอบ โดยพื้นฐานแล้วคุณระบุว่าคุณไม่เข้าใจว่าใครคือเจ้าของเนื้อหาที่ถูกต้อง
Jacco

11
@Jacco: หากโปรแกรมรวบรวมข้อมูลที่มองหามัลแวร์ปฏิบัติตามกฎก็จะไม่พบใด ๆ ไปคุยกับผู้เขียนมัลแวร์
Zan Lynx

5
@Jacco: เปอร์เซ็นต์ของไซต์ Legit ที่พยายามปิดกั้นโปรแกรมรวบรวมข้อมูลที่ไม่เป็นไปตามข้อกำหนด? ต่ำกว่า 1% ไซต์มัลแวร์ที่พยายาม? มากกว่า 60% ใช่มันน่าสงสัย
Zan Lynx

4
@Jacco ไม่จริงไม่มีเจ้าของเนื้อหาบนเว็บถ้าเป็นสาธารณะ ผู้ที่ทำสิ่งนี้โดยไม่คัดลอกและวางด้วยตนเองควรได้รับรางวัลไม่ใช่การลงโทษ แนวคิดเรื่องลิขสิทธิ์ทั้งหมดนี้จำเป็นต้องถูกยกเลิกบนอินเทอร์เน็ต นวัตกรรมที่สร้างสรรค์และความไว้วางใจเท่านั้นที่สามารถสร้างมูลค่าและควรค่าแก่ความสนใจของผู้คนไม่ใช่จากการคุกคามของผ้าคลุมหน้ากฎหมาย
KJW

สิ่งผิดปกติทั้งหมดนี้บ่งชี้ว่าผู้ที่ใช้งานไซต์ใช้เวลาและครุ่นคิดกับไซต์เป็นจำนวนมากและพวกเขามีทักษะทางเทคนิคในระดับหนึ่ง ดังนั้นแน่นอนว่าออกกฎที่สุดของเส้นโค้งระฆัง
Parthian Shot

1

ผู้คนมักพูดถึงโปรแกรมรวบรวมข้อมูลในวงกว้าง แต่ไม่ใช่โปรแกรมรวบรวมข้อมูลที่มีความเชี่ยวชาญสำหรับเว็บไซต์ของคุณ

ฉันเขียนโปรแกรมรวบรวมข้อมูลแบบซ่อนตัวและหากสร้างขึ้นทีละตัวไม่มีหม้อน้ำผึ้งหรือลิงก์ที่ซ่อนอยู่จะมีผลกระทบใด ๆ - วิธีเดียวที่แท้จริงในการตรวจจับโปรแกรมรวบรวมข้อมูลเฉพาะคือการตรวจสอบรูปแบบการเชื่อมต่อ

ระบบที่ดีที่สุดใช้ AI (เช่น Linkedin) ใช้ AI เพื่อจัดการกับสิ่งนี้
วิธีแก้ปัญหาที่ง่ายที่สุดคือเขียนตัวแยกวิเคราะห์บันทึกที่วิเคราะห์การเชื่อมต่อ IP และขึ้นบัญชีดำ IP เหล่านั้นหรือให้บริการ captcha อย่างน้อยก็ชั่วคราว

เช่น
หากเห็น IP X ทุกๆ 2 วินาทีที่เชื่อมต่อfoo.com/cars/*.htmlแต่ไม่พบหน้าอื่น ๆ ก็น่าจะเป็นบอทหรือผู้ใช้ระดับสูงที่หิวโหย

อีกทางเลือกหนึ่งคือความท้าทายของจาวาสคริปต์ที่ทำหน้าที่ป้องกัน (เช่นระบบป้องกันบอทของ Cloudflare) แต่สิ่งเหล่านี้สามารถแก้ไขได้อย่างง่ายดายคุณสามารถเขียนสิ่งที่กำหนดเองได้และนั่นอาจเป็นการยับยั้งเพียงพอที่จะทำให้ไม่คุ้มกับความพยายามของโปรแกรมรวบรวมข้อมูล

อย่างไรก็ตามคุณต้องถามคำถามคุณยินดีที่จะให้ผู้ใช้ที่เป็นผู้ใช้กฎหมายที่เป็นเท็จบวกและแนะนำความไม่สะดวกสำหรับพวกเขาเพื่อป้องกันการเข้าชมบอท การปกป้องข้อมูลสาธารณะเป็นความขัดแย้งที่เป็นไปไม่ได้


-1

คำตอบสั้น ๆ : หากโปรแกรมเมอร์ระดับกลางรู้ว่าเขากำลังทำอะไรอยู่คุณจะไม่สามารถตรวจจับโปรแกรมรวบรวมข้อมูลได้โดยไม่ส่งผลกระทบต่อผู้ใช้จริง การมีข้อมูลของคุณต่อสาธารณะคุณจะไม่สามารถป้องกันข้อมูลจากซอฟต์แวร์รวบรวมข้อมูลได้ ... มันเหมือนกับการแก้ไขครั้งแรก :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.