Saytga Kiruvchining Ipini Qanday Topish Mumkin

Mundarija:

Saytga Kiruvchining Ipini Qanday Topish Mumkin
Saytga Kiruvchining Ipini Qanday Topish Mumkin

Video: Saytga Kiruvchining Ipini Qanday Topish Mumkin

Video: Saytga Kiruvchining Ipini Qanday Topish Mumkin
Video: Телефондаги сухбатларни яширинча тинглаш 2024, May
Anonim

Ko'pincha, saytga tashrif buyuruvchining IP-manzili uni aniqlash uchun ishlatiladi. Bundan tashqari, IP-dan foydalanib, siz mehmon haqida ko'plab qo'shimcha ma'lumotlarni olishingiz mumkin - masalan, uning Internet-provayderi va geografik joylashuvini bilib oling. Amalda, server tomonidagi PHP-skriptlar ko'pincha brauzer tomonidan yuborilgan so'rov sarlavhalaridan IP-manzillarni chiqarish uchun ishlatiladi.

Saytga kiruvchining ipini qanday topish mumkin
Saytga kiruvchining ipini qanday topish mumkin

Bu zarur

PHP haqida asosiy ma'lumotlar

Ko'rsatmalar

1-qadam

IP-manzillarni superglobal muhit o'zgaruvchisi qatoridan o'qish uchun PHP-ning o'rnatilgan getenv funktsiyasidan foydalaning. Oddiy holatda, REMOTE_ADDR nomli o'zgaruvchini o'qish kifoya qiladi. PHP kodining tegishli qismi quyidagicha ko'rinishi mumkin: $ userIP = getenv ('REMOTE_ADDR');

2-qadam

So'rovda yuborilgan REMOTE_ADDR o'zgaruvchisidan tashqari, HTTP_VIA va HTTP_X_FORWARDED_FOR o'zgaruvchilarini tekshiring. Agar mehmon proksi-serverdan foydalansa, oraliq manzil ikkala o'zgaruvchida ham - HTTP_VIA va REMOTE_ADDR da yozilishi kerak. Bunday holda siz HTTP_X_FORWARDED_FOR orqali tashrif buyuruvchining haqiqiy IP-ni topishga urinib ko'rishingiz mumkin - proksi-server unga asl manzilini kiritishi kerak. Biroq, bu har doim ham amalga oshirilmaydi va foydalanuvchi so'rov yuborgan tashrifchining asl IP-ni uzatmaydigan "shaffof bo'lmagan" proksi-serverni tanlash imkoniyatiga ega. Qanday bo'lmasin, HTTP_CLIENT_IP o'zgaruvchisiga chek qo'shib kodingizdagi asl IP-manzilni iloji boricha ko'proq ishlatish kerak.

3-qadam

PHP kodining bir qatorida tashrif buyuruvchining asl IP-manzilini o'z ichiga olishi mumkin bo'lgan uchta atrof-muhit o'zgaruvchilarini ketma-ket tekshirib turing. Buni, masalan, shunday qilish mumkin: $ userIP = getenv ('HTTP_CLIENT_IP') OR $ userIP = getenv ('HTTP_X_FORWARDED_FOR') OR $ userIP = getenv ('REMOTE_ADDR');

4-qadam

Olingan IP qiymatidan atrof-muhit o'zgaruvchilariga kirishi mumkin bo'lgan qo'shimcha belgilar va boshqa "axlatlarni" olib tashlang. Buni, masalan, o'rnatilgan PHP funktsiyalari yordamida amalga oshirish mumkin TRIM va preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

5-qadam

PHP-skriptlaringizning turli qismlarida tekshirish va tozalash satrlarini qayta-qayta takrorlash o'rniga unga murojaat qilishingiz uchun barcha kodlarni maxsus funktsiyaga birlashtiring. Masalan, shunga o'xshash: FUNCTION getUserIP () {

$ userIP = getenv ('HTTP_CLIENT_IP') OR $ userIP = getenv ('HTTP_X_FORWARDED_FOR') OR $ userIP = getenv ('REMOTE_ADDR');

RETURN TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

}

Tavsiya: