Php script για προσδιορισμό τελεστή με ip. Sypex Geo - γρήγορη αναγνώριση μιας πόλης με IP. Μάθετε τη χώρα του χρήστη και πολλά άλλα

Εμφανίστε την πόλη του επισκέπτη για να βελτιώσετε τα ποσοστά μετατροπών καταστήματος. Έτοιμος κωδικός εισαγωγής οπουδήποτε στον ιστότοπο υποδεικνύοντας την πόλη, την περιοχή και τη χώρα. Δοκίμασα πολλά σενάρια, αλλά αυτό αποδείχθηκε το πιο απλό και αποτελεσματικό! Το χρησιμοποίησα κατά τη δημιουργία του ιστότοπου www.mzm-market.ru, όπου το σενάριο εμφανίζει "παράδοση σε______"

Επικολλήστε τον ακόλουθο κώδικα στο index.tpl (ή στη σελίδα παράδοσης) σε οποιοδήποτε σημείο επιθυμείτε:



window.onload =function())(
jQuery("#user-city").text(ymaps.geolocation.city);
jQuery("#user-region").text(ymaps.geolocation.region);
jQuery("#user-country").text(ymaps.geolocation.country);)


Η έξοδος γίνεται χρησιμοποιώντας:

// χώρα, πόλη, περιοχή.
geolocation.country, geolocation.city, geolocation.region

Θα ήθελα να προσθέσω λίγο σε αυτήν την ανάρτηση (επεξεργάστηκε στις 18 Φεβρουαρίου 2017).

Όταν χρησιμοποιούσατε το παραπάνω σενάριο, σε πολλές πόλεις και προγράμματα περιήγησης απλώς δεν εμφανιζόταν τίποτα και μετά από μακρά αναζήτηση βρήκα ίσως το πιο αποτελεσματικό σενάριο για τον προσδιορισμό μιας χώρας, περιοχής, πόλης μέσω του Yandex API. Το δοκίμασα μέσω των πελατών μου, οι οποίοι βρίσκονται σχεδόν σε όλη τη Ρωσία και όχι μόνο, και αυτό το σενάριο φάνηκε εξαιρετικό! Εδώ είναι ένα στιγμιότυπο οθόνης του πελάτη μου:

Καταλαβαίνετε ότι όλα έχουν καθοριστεί ξεκάθαρα! Λοιπόν, δεν θα σας βασανίσω με γραπτά και θα σας δώσω ένα παράδειγμα!

js Προσδιορισμός χώρας, περιοχής, πόλης μέσω Yandex API

Απλώς επικολλήστε αυτόν τον κώδικα ανάμεσα στις ετικέτες




$(document).ready(function())(
ymaps.ready(function())(
var geolocation = ymaps.geolocation;
$("#cou").html("Η χώρα σας: "+geolocation.country);
$("#tow").html("Η πόλη σας: "+geolocation.city);
$("#reg").html("Η περιοχή σας: "+geolocation.region);
});
});

Και αυτός ο κώδικας στη σωστή θέση στη σελίδα σας:

Η χώρα σας: ... αποφασισμένη...
Η πόλη σας: ... αποφασισμένη...
Η περιοχή σας: ... αποφασισμένη...

Επίδειξη

Η χώρα σας: ... αποφασισμένη...

Η πόλη σας: ... αποφασισμένη...

Η περιοχή σας: ... αποφασισμένη...

Το σενάριο λειτουργεί χωρίς προβλήματα, αλλά είναι πιθανό για όσους βρίσκονται σε μικρά χωριά, η πόλη πιθανότατα να προσδιοριστεί εσφαλμένα και να καθοριστεί η πόλη του παρόχου Διαδικτύου σας.

Από τον συγγραφέα: στο Διαδίκτυο, το ονοματεπώνυμό σας δεν σημαίνει τίποτα. Εδώ χρησιμοποιείται IP για τον προσδιορισμό του χρήστη. Γνωρίζοντας το, μπορείτε να προσδιορίσετε την πόλη και τη χώρα διαμονής ενός ατόμου, το πρόγραμμα περιήγησης που χρησιμοποιείται…. Δεν με πιστεύεις; Όλα αυτά θα τα καταλάβετε όταν μελετήσετε τον ορισμό της IP στην PHP.

IP και άλλα

Για να αποκτήσετε τις πληροφορίες δικτύου του χρήστη στην PHP, υπάρχει ένας παγκόσμιος πίνακας $_SERVER. Ας εμφανίσουμε τα περιεχόμενά του στην οθόνη:

Τώρα γνωρίζουμε ότι η IP καταγράφεται στο REMOTE_ADDR. Από πού προέρχεται; Ο πελάτης στέλνει όλα αυτά τα δεδομένα κατά τη δημιουργία της σύνδεσης. Αυτή η μεταβλητή ορίζεται στις ρυθμίσεις διακομιστή στην πλευρά του πελάτη.

Μερικοί άνθρωποι χρησιμοποιούν τιμές κεφαλίδας HTTP για να προσδιορίσουν μια πόλη κατά IP στην PHP, αλλά αυτό είναι θεμελιωδώς εσφαλμένο. Οποιοσδήποτε χρήστης μπορεί να καθορίσει τιμές κεφαλίδας για τον κεντρικό υπολογιστή του. Θα πρέπει επίσης να καταλάβετε τι IP χρειάζεστε. Για παράδειγμα, η τιμή HTTP_X_FORWARDED_FOR περιέχει τη διεύθυνση του απομακρυσμένου προγράμματος-πελάτη, του διακομιστή μεσολάβησής του ή μπορεί να είναι εντελώς κενή. Εν ολίγοις, θα υπάρχουν αρκετά για να τακτοποιήσετε αυτό για περισσότερα από ένα βράδυ.

Όσο για το πρόγραμμα περιήγησης του χρήστη, μπορείτε να προσπαθήσετε να το προσδιορίσετε χρησιμοποιώντας τη συνάρτηση get_browser(). Αλλά για να το χρησιμοποιήσετε στην πλευρά του πελάτη, η διαδρομή προς το browscap.ini πρέπει να καθοριστεί στο αρχείο php.ini. Διαφορετικά θα λάβετε μια προειδοποίηση όπως αυτή:

Μάθετε τη χώρα του χρήστη και πολλά άλλα

Τώρα, χρησιμοποιώντας την PHP, θα προσδιορίσουμε τη χώρα κατά IP. Αλλά πρώτα, ας εξετάσουμε όλες τις λύσεις σε αυτόν τον τομέα. Τα περισσότερα από αυτά τα σενάρια χρησιμοποιούν το στοιχείο καθολικού πίνακα $_SERVER REMOTE_ADDR που αναφέραμε. Τώρα έρχεται το πιο σημαντικό κομμάτι.

Μπορείτε να χρησιμοποιήσετε ήδη, στην οποία η λαμβανόμενη IP ταξινομείται απλώς ανάλογα με την τιμή της. Ελπίζω να μην είναι μυστικό για εσάς ότι αυτή η τιμή εκχωρείται στον πελάτη (οικοδεσπότη) ανάλογα με τη γεωγραφική του τοποθεσία: χώρα, πόλη και περιοχή κατοικίας του χρήστη. Όλη η λειτουργικότητα βασίζεται στην ανάλυση αυτών των σειρών.

Χρησιμοποιούνται επίσης διάφορες υπηρεσίες τρίτων, όπως το ip-whois.net. Χρησιμοποιώντας το σενάριο, μεταβιβάζετε την τιμή IP και σας επιστρέφει δεδομένα σχετικά με τη θέση του κεντρικού υπολογιστή.

Επιπλέον, ορισμένες εξειδικευμένες βιβλιοθήκες διαθέτουν τη δική τους βάση δεδομένων, οι πίνακες της οποίας περιέχουν όλα τα εύρη IP ταξινομημένα (ανά γεωγραφία). Δεν θα τους απαριθμήσω. Υπάρχουν πολλά από αυτά τώρα στο Διαδίκτυο.

Εσύ αποφασίζεις. Η χρήση μιας υπηρεσίας τρίτου μέρους θα μειώσει το κόστος πόρων και τον φόρτο στον ιστότοπό σας. Ταυτόχρονα, η χρήση της βιβλιοθήκης με τη βάση δεδομένων θα εξαλείψει τα προβλήματα σύνδεσης.

Η ακόλουθη δέσμη ενεργειών χρησιμοποιεί τη βιβλιοθήκη TabGeo για να προσδιορίσει την περιοχή κατά IP PHP. Τώρα ο επίσημος πόρος του δεν λειτουργεί. Κατέβασα τη βιβλιοθήκη από το GitHub, αλλά χρησιμοποίησα μόνο το αρχείο country.php. Χρησιμοποιεί τη ληφθείσα IP για να καθορίσει τη χώρα διαμονής του χρήστη. Και στη συνέχεια (χρησιμοποιώντας τον κωδικό ISO) μπορείτε να εφαρμόσετε ανακατευθύνσεις σε διάφορες σελίδες του ιστότοπου: