วิธีค้นหา Ip ของลูกค้า

สารบัญ:

วิธีค้นหา Ip ของลูกค้า
วิธีค้นหา Ip ของลูกค้า

วีดีโอ: วิธีค้นหา Ip ของลูกค้า

วีดีโอ: วิธีค้นหา Ip ของลูกค้า
วีดีโอ: วิธีติดตามมือถือแฟนจาก IP พร้อมเทคนิคให้แฟนยอมแชร์โลเคชั่น แบบไม่รู้ตัว 2024, อาจ
Anonim

ด้วยที่อยู่ IP ของผู้เยี่ยมชมไซต์ของคุณ คุณสามารถหาข้อมูลเกี่ยวกับเขาได้ค่อนข้างมาก - ประเทศ เมือง ชื่อและที่อยู่อีเมลของผู้ให้บริการอินเทอร์เน็ต ฯลฯ แต่คุณค่าหลักคือ IP สามารถทำหน้าที่เป็น ID ผู้เยี่ยมชมสำหรับสคริปต์ฝั่งเซิร์ฟเวอร์ ด้านล่างนี้จะอธิบายวิธีกำหนดที่อยู่ IP โดยใช้ PHP

วิธีค้นหา ip ของลูกค้า
วิธีค้นหา ip ของลูกค้า

มันจำเป็น

ความรู้พื้นฐาน PHP

คำแนะนำ

ขั้นตอนที่ 1

หากต้องการแยกที่อยู่ IP จากส่วนหัวที่ส่งไปยังเซิร์ฟเวอร์คำขอของเบราว์เซอร์ ให้ใช้ฟังก์ชัน getenv มันอ่านค่าที่ระบุจากตัวแปรสภาพแวดล้อม ตัวแปรชื่อ REMOTE_ADDR ใช้เพื่อจัดเก็บที่อยู่ IP ของผู้เข้าชม อย่างไรก็ตาม ไคลเอ็นต์สามารถใช้พร็อกซีเซิร์ฟเวอร์ได้ ซึ่งในกรณีนี้ตัวแปรจะมีที่อยู่ ไม่ใช่ที่อยู่ที่คุณต้องการ คุณสามารถค้นหาว่านักท่องเว็บกำลังใช้ IP ระดับกลางโดยดูที่ตัวแปรสภาพแวดล้อมที่เรียกว่า HTTP_VIA ที่อยู่ทั้งหมดของพร็อกซีเซิร์ฟเวอร์ที่เกี่ยวข้องในสายโซ่จะอยู่ในนั้น โดยคั่นด้วยเครื่องหมายจุลภาค เซิร์ฟเวอร์ระดับกลางต้องวางที่อยู่ของผู้เยี่ยมชมในตัวแปรชื่อ HTTP_X_FORWARDED_FOR แต่สิ่งนี้ขึ้นอยู่กับการตั้งค่าพร็อกซีทั้งหมด ซึ่งหมายความว่าเพื่อให้ครอบคลุมความเป็นไปได้ในการกำหนดที่อยู่ IP ให้ได้มากที่สุด คุณต้องตรวจสอบเนื้อหาของตัวแปรอย่างน้อยสามตัว: REMOTE_ADDR, HTTP_X_FORWARDED_FOR และควรเป็น

ขั้นตอนที่ 2

คุณสามารถรวมการตรวจสอบตัวแปรทั้งสามเป็นโค้ด PHP หนึ่งบรรทัดได้ เช่น

$ ipAddr = getenv ('HTTP_CLIENT_IP') หรือ $ ipAddr = getenv ('HTTP_X_FORWARDED_FOR') หรือ $ ipAddr = getenv ('REMOTE_ADDR');

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

$ ipAddr = ตัดแต่ง (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ ipAddr));

ขั้นตอนที่ 3

มันยังคงรวมโค้ดทั้งสองบรรทัดเป็นฟังก์ชันเดียว:

ฟังก์ชัน getIP () {

$ ipAddr = getenv ('HTTP_CLIENT_IP') หรือ $ ipAddr = getenv ('HTTP_X_FORWARDED_FOR') หรือ $ ipAddr = getenv ('REMOTE_ADDR');

ส่งคืนการตัดแต่ง (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ ipAddr));

}

แนะนำ: