როგორ გავარკვიოთ საიტის ვიზიტორის Ip

Სარჩევი:

როგორ გავარკვიოთ საიტის ვიზიტორის Ip
როგორ გავარკვიოთ საიტის ვიზიტორის Ip

ვიდეო: როგორ გავარკვიოთ საიტის ვიზიტორის Ip

ვიდეო: როგორ გავარკვიოთ საიტის ვიზიტორის Ip
ვიდეო: როგორ გავიგოთ ადამიანის ადგილმდებარეობა მისი IP მისამართი ტელეფონი და სხვა 2024, მაისი
Anonim

ყველაზე ხშირად, საიტის ვიზიტორის IP მისამართი გამოიყენება მისი იდენტიფიკაციისთვის. ამის გარდა, IP– ს გამოყენებით, შეგიძლიათ მიიღოთ ბევრი დამატებითი ინფორმაცია ვიზიტორის შესახებ - მაგალითად, გაეცანით მის ინტერნეტ – პროვაიდერს და გეოგრაფიულ მდებარეობას. პრაქტიკაში, სერვერის მხრიდან PHP სკრიპტები ყველაზე ხშირად გამოიყენება ბრაუზერის მიერ გაგზავნილი მოთხოვნის სათაურებიდან IP მისამართების მოსაპოვებლად.

როგორ გავარკვიოთ საიტის ვიზიტორის ip
როგორ გავარკვიოთ საიტის ვიზიტორის ip

Ეს აუცილებელია

PHP– ის ძირითადი ცოდნა

ინსტრუქციები

Ნაბიჯი 1

გამოიყენეთ PHP- ის ჩაშენებული getenv ფუნქცია, რომ წაიკითხოთ IP მისამართები სუპერგლობალური გარემოს ცვლადი მასივიდან. უმარტივეს შემთხვევაში საკმარისი იქნება REMOTE_ADDR სახელის ცვლადის წაკითხვა. PHP კოდის შესაბამისი ნაწილი შეიძლება ასე გამოიყურებოდეს: $ userIP = getenv ('REMOTE_ADDR');

ნაბიჯი 2

მოთხოვნაში გაგზავნილი REMOTE_ADDR ცვლადის გარდა, შეამოწმეთ HTTP_VIA და HTTP_X_FORWARDED_FOR ცვლადები. თუ სტუმარი იყენებს მარიონეტულ სერვერს, მაშინ შუალედური მისამართი უნდა ჩაიწეროს ორივე ცვლადში - როგორც HTTP_VIA- ში, ასევე REMOTE_ADDR- ში. ამ შემთხვევაში შეგიძლიათ სცადოთ HTTP_X_FORWARDED_FOR– ის საშუალებით გაეცნოთ ვიზიტორის ნამდვილ IP– ს - მარიონეტულმა სერვერმა უნდა ჩაწეროს ორიგინალი მისამართი. ამასთან, ეს ყოველთვის არ კეთდება და მომხმარებელს აქვს შესაძლებლობა აირჩიოს "გაუმჭვირვალე" მარიონეტული სერვერი, რომელიც არ გადასცემს მოთხოვნის გაგზავნილ მნახველის თავდაპირველ IP- ს. ნებისმიერ შემთხვევაში, თქვენ უნდა გამოიყენოთ რაც შეიძლება მეტი გზა თქვენი კოდის ორიგინალი IP მისამართის მისაღებად, HTTP_CLIENT_IP ცვლადის შემოწმების დამატებით.

ნაბიჯი 3

PHP კოდის ერთ სტრიქონში შეაერთეთ გარემოში სამი ცვლადის თანმიმდევრული შემოწმება, რომელიც შეიძლება შეიცავდეს ვიზიტორის თავდაპირველ IP მისამართს. ეს შეიძლება გაკეთდეს, მაგალითად, ასე: $ userIP = getenv ('HTTP_CLIENT_IP') ან $ userIP = getenv ('HTTP_X_FORWARDED_FOR') ან $ userIP = getenv ('REMOTE_ADDR');

ნაბიჯი 4

ამოიღეთ დამატებითი სიმბოლოები და სხვა "ნაგავი" მიღებული IP მნიშვნელობიდან, რომელიც შეიძლება მოხვდეს გარემოს ცვლადებში. ეს შეიძლება გაკეთდეს, მაგალითად, ჩაშენებული PHP ფუნქციების გამოყენებით TRIM და preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

ნაბიჯი 5

შეუთავსეთ ყველა კოდს მორგებულ ფუნქციად, ასე რომ თქვენ შეგიძლიათ მიმართოთ მას იმის ნაცვლად, რომ გაიმეოროთ გამშვები და გასუფთავების ხაზები თქვენი PHP სკრიპტების სხვადასხვა ნაწილში. მაგალითად, მსგავსია: FUNCTION getUserIP () {

$ userIP = getenv ('HTTP_CLIENT_IP') ან $ userIP = getenv ('HTTP_X_FORWARDED_FOR') ან $ userIP = getenv ('REMOTE_ADDR');

დაბრუნების მორთვა (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

}

გირჩევთ: