Salut.
Cum difera IP-urile de la o tara la alta? prin ce?
Google de exemplu alege limba utilizatorului in functie de tara lui, si banuiesc ca dupa ip isi da seama din ce tara este.
Si la jocul counter strike de exemplu este un plugin care afiseaza din ce tara este jucatorul respectiv, deci cred ca dupa ip se ia.
In afara de IP mai poate fi accesat ceva de la utilizator prin intermediul php-ului ca sa-ti dai seama de unde provine?
Diferenta de IP de la o tara la alta
-
- Mesaje:190
Diferenta de IP de la o tara la alta
MelecaCristian
Mesaje:176
Salut,
IP-urile nu se calculeaza dupa tara.
Au un script care detecteaza din ce tara este ip-ul (provider-ul de intenet) si astfel returneaza o pagina in limba care se potriveste fiecarei tari.
Cu php poti afla din ce tara provine cu scriptul meu de mai jos.
Detecteaza tara dupa ip automat.
Succes.
IP-urile nu se calculeaza dupa tara.
Au un script care detecteaza din ce tara este ip-ul (provider-ul de intenet) si astfel returneaza o pagina in limba care se potriveste fiecarei tari.
Cu php poti afla din ce tara provine cu scriptul meu de mai jos.
Cod: Selectaţi tot
<?php
// Script by desehix.ro
// Operator php Meleca Cristia - 11.04.2011
$tara = array(
'ad'=>'Andorra',
'ae'=>'United Arab Emirates',
'af'=>'Afghanistan',
'ag'=>'Antigua and Barbuda',
'ai'=>'Anguilla',
'al'=>'Albania',
'am'=>'Armenia',
'an'=>'Netherlands Antilles',
'ao'=>'Angola',
'aq'=>'Antarctica',
'ar'=>'Argentina',
'as'=>'American Samoa',
'at'=>'Austria',
'au'=>'Australia',
'aw'=>'Aruba',
'az'=>'Azerbaidjan',
'ba'=>'Bosnia-Herzegovina',
'bb'=>'Barbados',
'bd'=>'Bangladesh',
'be'=>'Belgium',
'bf'=>'Burkina Faso',
'bg'=>'Bulgaria',
'bh'=>'Bahrain',
'bi'=>'Burundi',
'bj'=>'Benin',
'bm'=>'Bermuda',
'bn'=>'Brunei Darussalam',
'bo'=>'Bolivia',
'br'=>'Brazil',
'bs'=>'Bahamas',
'bt'=>'Bhutan',
'bv'=>'Bouvet Island',
'bw'=>'Botswana',
'by'=>'Belarus',
'bz'=>'Belize',
'ca'=>'Canada',
'cc'=>'Cocos (Keeling) Islands',
'cf'=>'Central African Republic',
'cg'=>'Congo',
'ch'=>'Switzerland',
'ci'=>'Ivory Coast (Cote D`Ivoire)',
'ck'=>'Cook Islands',
'cl'=>'Chile',
'cm'=>'Cameroon',
'cn'=>'China',
'co'=>'Colombia',
'cr'=>'Costa Rica',
'cs'=>'Former Czechoslovakia',
'cu'=>'Cuba',
'cv'=>'Cape Verde',
'cx'=>'Christmas Island',
'cy'=>'Cyprus',
'cz'=>'Czech Republic',
'de'=>'Germany',
'dj'=>'Djibouti',
'dk'=>'Denmark',
'dm'=>'Dominica',
'do'=>'Dominican Republic',
'dz'=>'Algeria',
'ec'=>'Ecuador',
'ee'=>'Estonia',
'eg'=>'Egypt',
'eh'=>'Western Sahara',
'er'=>'Eritrea',
'es'=>'Spain',
'et'=>'Ethiopia',
'fi'=>'Finland',
'fj'=>'Fiji',
'fk'=>'Falkland Islands',
'fm'=>'Micronesia',
'fo'=>'Faroe Islands',
'fr'=>'France',
'fx'=>'France (European Territory)',
'ga'=>'Gabon',
'gb'=>'Great Britain',
'gd'=>'Grenada',
'ge'=>'Georgia',
'gf'=>'French Guyana',
'gh'=>'Ghana',
'gi'=>'Gibraltar',
'gl'=>'Greenland',
'gm'=>'Gambia',
'gn'=>'Guinea',
'gp'=>'Guadeloupe (French)',
'gq'=>'Equatorial Guinea',
'gr'=>'Greece',
'gs'=>'S. Georgia & S. Sandwich Isls',
'gt'=>'Guatemala',
'gu'=>'Guam (USA)',
'gw'=>'Guinea Bissau',
'gy'=>'Guyana',
'hk'=>'Hong Kong',
'hm'=>'Heard and McDonald Islands',
'hn'=>'Honduras',
'hr'=>'Croatia',
'ht'=>'Haiti',
'hu'=>'Hungary',
'id'=>'Indonesia',
'ie'=>'Ireland',
'il'=>'Israel',
'in'=>'India',
'int'=>'International',
'io'=>'British Indian Ocean Territory',
'iq'=>'Iraq',
'ir'=>'Iran',
'is'=>'Iceland',
'it'=>'Italy',
'jm'=>'Jamaica',
'jo'=>'Jordan',
'jp'=>'Japan',
'ke'=>'Kenya',
'kg'=>'Kyrgyzstan',
'kh'=>'Cambodia',
'ki'=>'Kiribati',
'km'=>'Comoros',
'kn'=>'Saint Kitts & Nevis Anguilla',
'kp'=>'North Korea',
'kr'=>'South Korea',
'kw'=>'Kuwait',
'ky'=>'Cayman Islands',
'kz'=>'Kazakhstan',
'la'=>'Laos',
'lb'=>'Lebanon',
'lc'=>'Saint Lucia',
'li'=>'Liechtenstein',
'lk'=>'Sri Lanka',
'lr'=>'Liberia',
'ls'=>'Lesotho',
'lt'=>'Lithuania',
'lu'=>'Luxembourg',
'lv'=>'Latvia',
'ly'=>'Libya',
'ma'=>'Morocco',
'mc'=>'Monaco',
'md'=>'Moldavia',
'mg'=>'Madagascar',
'mh'=>'Marshall Islands',
'mil'=>'USA Military',
'mk'=>'Macedonia',
'ml'=>'Mali',
'mm'=>'Myanmar',
'mn'=>'Mongolia',
'mo'=>'Macau',
'mp'=>'Northern Mariana Islands',
'mq'=>'Martinique (French)',
'mr'=>'Mauritania',
'ms'=>'Montserrat',
'mt'=>'Malta',
'mu'=>'Mauritius',
'mv'=>'Maldives',
'mw'=>'Malawi',
'mx'=>'Mexico',
'my'=>'Malaysia',
'mz'=>'Mozambique',
'na'=>'Namibia',
'nc'=>'New Caledonia (French)',
'ne'=>'Niger',
'net'=>'Network',
'nf'=>'Norfolk Island',
'ng'=>'Nigeria',
'ni'=>'Nicaragua',
'nl'=>'Netherlands',
'no'=>'Norway',
'np'=>'Nepal',
'nr'=>'Nauru',
'nt'=>'Neutral Zone',
'nu'=>'Niue',
'nz'=>'New Zealand',
'om'=>'Oman',
'pa'=>'Panama',
'pe'=>'Peru',
'pf'=>'Polynesia (French)',
'pg'=>'Papua New Guinea',
'ph'=>'Philippines',
'pk'=>'Pakistan',
'pl'=>'Poland',
'pm'=>'Saint Pierre and Miquelon',
'pn'=>'Pitcairn Island',
'pr'=>'Puerto Rico',
'pt'=>'Portugal',
'pw'=>'Palau',
'py'=>'Paraguay',
'qa'=>'Qatar',
're'=>'Reunion (French)',
'ro'=>'Romania',
'ru'=>'Russian Federation',
'rw'=>'Rwanda',
'sa'=>'Saudi Arabia',
'sb'=>'Solomon Islands',
'sc'=>'Seychelles',
'sd'=>'Sudan',
'se'=>'Sweden',
'sg'=>'Singapore',
'sh'=>'Saint Helena',
'si'=>'Slovenia',
'sj'=>'Svalbard and Jan Mayen Islands',
'sk'=>'Slovak Republic',
'sl'=>'Sierra Leone',
'sm'=>'San Marino',
'sn'=>'Senegal',
'so'=>'Somalia',
'sr'=>'Suriname',
'st'=>'Saint Tome (Sao Tome) and Principe',
'su'=>'Former USSR',
'sv'=>'El Salvador',
'sy'=>'Syria',
'sz'=>'Swaziland',
'tc'=>'Turks and Caicos Islands',
'td'=>'Chad',
'tf'=>'French Southern Territories',
'tg'=>'Togo',
'th'=>'Thailand',
'tj'=>'Tadjikistan',
'tk'=>'Tokelau',
'tm'=>'Turkmenistan',
'tn'=>'Tunisia',
'to'=>'Tonga',
'tp'=>'East Timor',
'tr'=>'Turkey',
'tt'=>'Trinidad and Tobago',
'tv'=>'Tuvalu',
'tw'=>'Taiwan',
'tz'=>'Tanzania',
'ua'=>'Ukraine',
'ug'=>'Uganda',
'uk'=>'United Kingdom',
'um'=>'USA Minor Outlying Islands',
'us'=>'United States',
'uy'=>'Uruguay',
'uz'=>'Uzbekistan',
'va'=>'Vatican City State',
'vc'=>'Saint Vincent & Grenadines',
've'=>'Venezuela',
'vg'=>'Virgin Islands (British)',
'vi'=>'Virgin Islands (USA)',
'vn'=>'Vietnam',
'vu'=>'Vanuatu',
'wf'=>'Wallis and Futuna Islands',
'ws'=>'Samoa',
'ye'=>'Yemen',
'yt'=>'Mayotte',
'yu'=>'Yugoslavia',
'za'=>'South Africa',
'zm'=>'Zambia',
'zr'=>'Zaire',
'zw'=>'Zimbabwe');
$detector = gethostbyaddr($_SERVER['REMOTE_ADDR']); // de aici preia automat ipul si il proceseaza
$rezultat = substr($detector, strrpos($detector,'.')+1);
if (isset($tara[$rezultat])) {
echo 'Esti din '.$tara[$rezultat]; // afiseaza rezultatul
}
else {
echo 'Nu gasesc din ce tara vii.'; //mesajul apare cand nu recunoaste initiala a ip-ului
}
?>
Succes.
„Uneori o greşeală poate fi tot ce este necesar pentru o realizare valoroasă.” — Henry Ford
MarPlo
Mesaje:4343
Salut,
Nu stiu daca exista in IP vreo logica /regula care sa faca diferenta de la o tara la alta.
Din ce cunosc, sunt baze de date cu IP-urile alocate providerilor de internet si tarile asociate lor. Prin verificarea ip-ului cu cele din baza de date se afla tara.
Gasesti la adresa:
http://software77.net/geo-ip/
o baza de date, in format CSV, cu IP-uri si tari.
Sau poti si cauta pe net, dupa cuvintele "free database ip".
Nu stiu daca exista in IP vreo logica /regula care sa faca diferenta de la o tara la alta.
Din ce cunosc, sunt baze de date cu IP-urile alocate providerilor de internet si tarile asociate lor. Prin verificarea ip-ului cu cele din baza de date se afla tara.
Gasesti la adresa:
http://software77.net/geo-ip/
o baza de date, in format CSV, cu IP-uri si tari.
Sau poti si cauta pe net, dupa cuvintele "free database ip".