ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingพวกเว็บนอกนี่เขาเขียนระบบยังไงเหรอครับ ถึงรู้ว่าไม่ใช่ human ตอนเข้าถึง page
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: พวกเว็บนอกนี่เขาเขียนระบบยังไงเหรอครับ ถึงรู้ว่าไม่ใช่ human ตอนเข้าถึง page  (อ่าน 3094 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« เมื่อ: 09 สิงหาคม 2007, 19:28:24 »

พวกเว็บนอกนี่เขาเขียนระบบยังไงเหรอครับ ถึงรู้ว่าไม่ใช่ human ตอนเข้าถึง page นั้นๆของเว็บเขา

ผมลองหัดๆเขียน php พวกฟังก์ชั่น file_get_contents จากเว็บต่างๆ ส่วนใหญ่พวกเว็บ article แล้วก็มักจะเจอข้อความแสดงประมาณว่า เราไม่ใช่ human แบบว่ามีการเข้าถึงเพจของเขาด้วยการดึง ไม่พบ cookie และอื่นๆ

เขาเช็คได้ยังไงหละ เก่งจัง ก็เรารันใน localhost แล้วค่อยดึงไฟล์นั้นนี่ ไม่ได้ใช้ software ซะหน่อย

เอ่อ อยากรู้ว่ามีวิธีการปลอม header หรือเขียนคำสั่งให้เพจที่เรารันมันเป็นธรรมชาติเหมือนการเข้าเพจนั้นๆโดยตรงใหมครับ  Sad
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
kahn
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 59
ออฟไลน์ ออฟไลน์

กระทู้: 514



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 09 สิงหาคม 2007, 19:32:15 »

พวกเว็บนอกนี่เขาเขียนระบบยังไงเหรอครับ ถึงรู้ว่าไม่ใช่ human ตอนเข้าถึง page นั้นๆของเว็บเขา

ผมลองหัดๆเขียน php พวกฟังก์ชั่น file_get_contents จากเว็บต่างๆ ส่วนใหญ่พวกเว็บ article แล้วก็มักจะเจอข้อความแสดงประมาณว่า เราไม่ใช่ human แบบว่ามีการเข้าถึงเพจของเขาด้วยการดึง ไม่พบ cookie และอื่นๆ

เขาเช็คได้ยังไงหละ เก่งจัง ก็เรารันใน localhost แล้วค่อยดึงไฟล์นั้นนี่ ไม่ได้ใช้ software ซะหน่อย

เอ่อ อยากรู้ว่ามีวิธีการปลอม header หรือเขียนคำสั่งให้เพจที่เรารันมันเป็นธรรมชาติเหมือนการเข้าเพจนั้นๆโดยตรงใหมครับ  Sad


ส่วนใหญ่จะใช้วิธีเช็ค user agent ครับ  แต่สามารถปลอมได้ ลองศึกษาฟังชั่น curl ดูครับ
บันทึกการเข้า

>>> โปรโมชั่น Blog Magic สุดคุ้ม นาน ๆ มีที ช้าอดนะจ้าาา คลิกเลย Blog Magic Support Forums << pm สอบถามรายละเอียดได้ที่ Support Forums จะตอบรวดเร็วกว่านะครับผม
gAAp
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 82



ดูรายละเอียด
« ตอบ #2 เมื่อ: 09 สิงหาคม 2007, 19:41:24 »

ตรวจจับจากความเร็วในการดึงข้อมูล ต่อ IP ครับ
จากการสังเกตดู ถ้าค่อยๆ ดึง ค่อย ๆ ดูด จะไม่มีปัญหา
แต่ถ้าดูดเร็ว ๆ หล่ะเป็นเรื่อง  Cheesy
บันทึกการเข้า
ColdMoney
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 200
ออฟไลน์ ออฟไลน์

กระทู้: 12,548



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 09 สิงหาคม 2007, 23:03:16 »

เยอะแยะครับ วิธีเช็คอ่ะ เช่น
1 cookies ถ้าไม่มีก็คือ ดึงโดยตรง
2 user agent ถ้าไม่มี หรือไม่มารตฐานก็คือ ดึงโดยตรง
3 ความถี่ของการดึง


วิธีแก้ ก็ใช้ curl ครับ หรือไม่ก็ใช้ vb ก็ได้เปิดเว็บทีล่ะหน้าแล้ว save มันก็เหมือนกะเราใช้ ie เปิดอ่ะ เนียนมากๆ มีครบทุกอย่างที่ เค้าต้องการ  Grin Grin


บันทึกการเข้า

okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #4 เมื่อ: 10 สิงหาคม 2007, 04:00:43 »

ขอบคุณครับ

เท่าที่สังเกตุต่อมา รู้สึกว่าเขาจะเน้นที่ความถี่ในการเข้าถึงข้อมูล คงจะตรวจสอบจาก ip หรือไม่ก็ cookie ของเราแน่ๆเลย

เอ? จะมีวิธีเขียนให้ header เปลี่ยน ip หรือเปลี่ยนเวลาได้บ้างใหมนะ  Tongue

อิอิ  ลุยต่อ
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
pongino
ก๊วนเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 438



ดูรายละเอียด
« ตอบ #5 เมื่อ: 10 สิงหาคม 2007, 04:20:35 »

ถ้าเป็น PHP มันมีคำสั่ง check ว่าเป็น browser อะไรหรือเป็น bot อะไรนะ
รู้สึกว่า $_SERVER['HTTP_USER_AGENT'] มั้ง
มันจะดึงค่าว่าเป็น browser อะไร หรือ Bot อะไรกับลังอ่าน page เราอยู่
อันนี้คือพื้นๆที่สุดแล้ว

ถ้าอยากรู้ว่าใช้ file_get_content หรือ cURL แล้วมันขึ้นว่าอะไร ก็ลองเขียนโปรแกรมดูนะครับ

แต่ระบบใหญ่ๆ อาจจะมี check พฤติกรรมที่ซับซ้อนกว่านี้

บันทึกการเข้า

White Road ขายบริการทางเพจ ท้าทายอำนาจรัฐ! แผนปั่นเงินแบบ White Hat เต็มอัตรา สู่เป้าหมาย 50,000 บาทต่อเดือน!!! ดูรายละเอียด Link ข้างล่าง

http://www.thaiseoboard.com/index.php/topic,20304.0.html

เวปสำหรับสั่งซื้อและ Support ลูกค้า
http://www.WhiteHatSite.com

เวปตัวอย่าง
http://www.CityGuideSeek.com

สนใจก็ PM มาได้เลยจ้า
tony
เกี๊ยวหวาน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 6
ออฟไลน์ ออฟไลน์

กระทู้: 4,063



ดูรายละเอียด
« ตอบ #6 เมื่อ: 10 สิงหาคม 2007, 05:17:47 »

ต้องทำ human simulation  ด้วยนะ เช่น ทำท่า โหลดรูปด้วย  ไม่ใช่โหลดแต่ html  Tongue  แล้วก็ เว้นระยะ ในการ โหลด หน้าถัดไป :Smiley
บันทึกการเข้า

ไม่ค่อยว่างมาดูเท่าไร แต่หัวใจยังกิ๊ดตึ๋ง
kahn
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 59
ออฟไลน์ ออฟไลน์

กระทู้: 514



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 10 สิงหาคม 2007, 07:20:49 »

ถ้าหมายถึงเวบ ezine article ลำบากครับ ผมเสีย ip ไป 4 ตัวแล้ว โดนแบนหมด  ทั้งปลอม user agent ทั้งใส่ proxy ทั้งกำหนดความถี่การเข้าถึงแบบหน่วงเวลา  พยายามให้เหมือนมนุษย์มากที่สุด ยังโดน เค้าเช็คความถี่น่ะครับ  Smiley
บันทึกการเข้า

>>> โปรโมชั่น Blog Magic สุดคุ้ม นาน ๆ มีที ช้าอดนะจ้าาา คลิกเลย Blog Magic Support Forums << pm สอบถามรายละเอียดได้ที่ Support Forums จะตอบรวดเร็วกว่านะครับผม
myong1
สมุนแก๊งเสียว
*

พลังน้ำใจ: 33
ออฟไลน์ ออฟไลน์

กระทู้: 569



ดูรายละเอียด
« ตอบ #8 เมื่อ: 10 สิงหาคม 2007, 08:00:09 »

ezine เท่าที่ผมลองเอง ผมเคยดึงหลายพันหน้าใน 1 วันก็ไม่เห็นจะโดนแบนนะครับ แต่ผมใช้โปแกรม Desktop ของผมเองนะครับ

แล้วตัวโปรแกรมก็เหมือนของ php คือเป็นตัวดึงข้อมูลอย่างเดียว ไม่ได้จำลองเป็น browser

ส่วนที่ว่า ezine เช็คยังไง ผมว่าเขาไม่ได้เช็คจาก cookies แน่ ๆ เพราะหน้ามันเข้า direct ตรง ๆ ได้

แล้วไม่ได้มีการ submit อะไรทั้งสิ้น คือเข้าตรง ๆ แล้วดึงข้อมูลออกมาอย่างเดียว

ถ้าให้ผมเดาก็น่าจะเป็น ความถึ่ในการดึงข้อมูลต่อ 1 ip เขาอาจจะกันไว้ว่าใน 1 ชม/1 ip เข้าเว็บเขาได้ไม่เกิน 1000 ครั้ง ถ้าเกินถือว่าใช้โปรแกรม

อะไรประมาณนี้ครับ ก็ลองสังเกตุละกันว่า ทำยังไงบ้างถึงโดนบล็อค แต่ถ้าโดนแบน ip  ซัก 2-3 วันก็น่าจะใช้ ip ตัวนั้นได้อีกครับ  Smiley
บันทึกการเข้า
harmonic
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 87



ดูรายละเอียด
« ตอบ #9 เมื่อ: 10 สิงหาคม 2007, 09:02:42 »

นึกถึงสมัยเขียนโปรแกรมส่งเข้า pager ปลอม header กันอุตลุต

ถ้าอยากรู้เรื่องนี้ให้กระจ่างแนะนำว่าหาหนังสือ HTTP และ Apache มาอ่าน  Cool
บันทึกการเข้า
ColdMoney
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 200
ออฟไลน์ ออฟไลน์

กระทู้: 12,548



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 10 สิงหาคม 2007, 09:12:34 »

ถ้าหมายถึงเวบ ezine article ลำบากครับ ผมเสีย ip ไป 4 ตัวแล้ว โดนแบนหมด  ทั้งปลอม user agent ทั้งใส่ proxy ทั้งกำหนดความถี่การเข้าถึงแบบหน่วงเวลา  พยายามให้เหมือนมนุษย์มากที่สุด ยังโดน เค้าเช็คความถี่น่ะครับ  Smiley

ผมดึงมา 5 แสน articles ยังไม่เห็นโดนเลยอ่ะครับ ไปทำไงเนี่ยถึงโดน  Huh?

บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,459



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 10 สิงหาคม 2007, 09:45:27 »

แนะนำเลย ลำบากหน่อยแต่...
สมัครโฮสฟรีนอกๆ อะ

แล้วเขียนดึงเลย โดนแบนช่างหัวมัน

ผมเคยทำแล้วกะเว็บอื่น ผล..
โดนแบน ip แถมโดนโฮสฟรีขึ้นแบล็กลิส

แหง่ล่ะ ขนาดใช้โฮสดูด ยังกินเวลาเป็นเกือบ หลายสิบชั่วโมง

ดูดไป 2 วัน แล้วรีบเอาไฟล์ออก  พอวันที่ 3 โดนซะ  Cheesy
อีเมล์ใหม่สมัครใหม่  :Smiley
บันทึกการเข้า

okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #12 เมื่อ: 10 สิงหาคม 2007, 14:32:19 »

ขอบคุณทุกๆคนมากครับ

ผมลองรันดูใน localhost หนะครับ พออัพขึ้น server แล้วรัน ยิ่งช้ากว่าใน localhost อีก

ที่สำคัญต้องมาปรับ max_execution_time ด้วย ผมเทสโดยการดึงข้อมูลครั้งละ 5 pages ของเว็บบทความครับ

เอ? แบบนี้ถ้าใน server ที่เราเช่า มันปรับ max_execution_time ไม่ได้ แล้วเราจะดึงบทความได้เหรอเนี่ย (กรณีต้องการดึงครั้งเดียวทีละมากๆเลย)
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
Tee++;
โปรแกรมเมอร์ จอหงวน
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 79
ออฟไลน์ ออฟไลน์

กระทู้: 1,852



ดูรายละเอียด เว็บไซต์
« ตอบ #13 เมื่อ: 10 สิงหาคม 2007, 15:16:17 »

แก้ปัญหาได้หลายอย่างมาก
1.ใช้ cURL ปลอม Header เข้าไป
2.ใช้ cURL ใส่ Proxy เป็นเกราะเข้าไป โดยวนสักหลายๆ ตัว
3.ใช้การ refresh แบบนับจำนวน Record ครบ 50 แล้ว รีเฟรชมาเริ่มกันที่ 51 ต่อ
4.ใช้ asleep หรือ sleep มาหน่วงเวลาไว้ โดยอาจจะใช้ร่วมกับ flush หรือ ob_implicit_flush()

จะเอาไป mix รวมกันก็ไม่ผิดกติกาแต่อย่างใด

ส่วน library ที่ใช้กับ cURL ได้ดีๆ มี 2 ตัว

1. snoopy ตัวนี้สุดยอดแต่ลงยาก เพราะต้องลง cURL แบบ ไม่ใช่ ext ของ php ไม่งั้นมันจะกลายเป็นการทำงานแบบ fsock แทน ทำให้ไม่สามารถดึงขอ้มูลแบบ https ได้

2. class.curl อันนี้ลองหาดูใน phpclasses.org เป็น library แต่ก็แค่การทำให้คำสั่งสั้นลง จริงๆ เป็นการใช้ความสามารถ cUrl ของ php เท่านั้นเอง เรียกว่า พอถูไถ

เรื่อง Execute Time Limit ให้ใส่คำสั่งนี้ไปบนหัว

@set_time_limit(0) หรือใช้คำสั่ง refresh แบบที่บอก
« แก้ไขครั้งสุดท้าย: 10 สิงหาคม 2007, 15:21:05 โดย Tee++; » บันทึกการเข้า

amaudy
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 9
ออฟไลน์ ออฟไลน์

กระทู้: 1,210



ดูรายละเอียด เว็บไซต์
« ตอบ #14 เมื่อ: 10 สิงหาคม 2007, 15:39:51 »

เพราะเรื่องดูดๆเนี่ยแหละ
ทำให้ผมกลับไปใช้ Perl/LWP รันบน VPS แทน

สะใจหลายเด้อ T-T
บันทึกการเข้า

okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #15 เมื่อ: 10 สิงหาคม 2007, 15:41:59 »

แก้ปัญหาได้หลายอย่างมาก
1.ใช้ cURL ปลอม Header เข้าไป
2.ใช้ cURL ใส่ Proxy เป็นเกราะเข้าไป โดยวนสักหลายๆ ตัว
3.ใช้การ refresh แบบนับจำนวน Record ครบ 50 แล้ว รีเฟรชมาเริ่มกันที่ 51 ต่อ
4.ใช้ asleep หรือ sleep มาหน่วงเวลาไว้ โดยอาจจะใช้ร่วมกับ flush หรือ ob_implicit_flush()

จะเอาไป mix รวมกันก็ไม่ผิดกติกาแต่อย่างใด

ส่วน library ที่ใช้กับ cURL ได้ดีๆ มี 2 ตัว

1. snoopy ตัวนี้สุดยอดแต่ลงยาก เพราะต้องลง cURL แบบ ไม่ใช่ ext ของ php ไม่งั้นมันจะกลายเป็นการทำงานแบบ fsock แทน ทำให้ไม่สามารถดึงขอ้มูลแบบ https ได้

2. class.curl อันนี้ลองหาดูใน phpclasses.org เป็น library แต่ก็แค่การทำให้คำสั่งสั้นลง จริงๆ เป็นการใช้ความสามารถ cUrl ของ php เท่านั้นเอง เรียกว่า พอถูไถ

เรื่อง Execute Time Limit ให้ใส่คำสั่งนี้ไปบนหัว

@set_time_limit(0) หรือใช้คำสั่ง refresh แบบที่บอก

สุดยอดเลยครับพี่ ขอบคุณครับ เดี๋ยวจะลองๆดูครับ ว่าแต่ผมลองหาใน phpmanual มันมีไม่ค่อยครบเลย บางทีก็ไม่ละเอียด แต่ก็ยังดีครับ ลองไปเรื่อยๆมั่วๆเสียเวลามากหน่อย แต่ก็สนุกดี  Cheesy
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,459



ดูรายละเอียด เว็บไซต์
« ตอบ #16 เมื่อ: 10 สิงหาคม 2007, 18:05:08 »

3.ใช้การ refresh แบบนับจำนวน Record ครบ 50 แล้ว รีเฟรชมาเริ่มกันที่ 51 ต่อ

ผมใช้ข้อนี้ รันทิ้งไว้เลย

แต่สักพักก็หยุด อีกสิบนาทีค่อยมาต่อ อะไรแบบนั้น
บันทึกการเข้า

okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #17 เมื่อ: 10 สิงหาคม 2007, 19:17:57 »

3.ใช้การ refresh แบบนับจำนวน Record ครบ 50 แล้ว รีเฟรชมาเริ่มกันที่ 51 ต่อ

ผมใช้ข้อนี้ รันทิ้งไว้เลย

แต่สักพักก็หยุด อีกสิบนาทีค่อยมาต่อ อะไรแบบนั้น


แจ๋วครับ เดี๋ยวผมลองมั่ง ลองๆคำสั่ง sleep ให้มัน delay ดูแล้วก็โอเคเลยครับ แต่ต้องอย่างต่ำสัก 15 วินาที แบบนี้ทำให้ต้องรอแย่เลย แต่ก็ยังดีกว่าไมได้  Sad แหะๆ    Tongue
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
หน้า: [1]   ขึ้นบน
พิมพ์