php script na zistenie statu podla IP
php script na zistenie statu podla IP
nemate niekto takyto script ? staci mi iba cisto tento pripad...
mam IP a podla nej mi vypise len stat z ktorej IP pochadza
mam IP a podla nej mi vypise len stat z ktorej IP pochadza
-
geoge046
Star
- Príspevky: 608
- Registrovaný: 10 aug 2005, 14:15
- Bydlisko: Prievidza
- Kontaktovať používateľa:
no s takymto niecim som este nerobil ale ked pouzijes tento kod
tak to ti vypise adresu PC ktore si momentalne prezera stranku.
vypise to v nejakom takomto formate:
A dalo by sa urobit ze by to z koncovky (v tomto pripade sk) urcilo štát.
ALe možno je na to aj priamo nejaka funkcia, ale toto su len domienky
Kód: Vybrať všetko
gethostbyaddr($REMOTE_ADDR);vypise to v nejakom takomto formate:
Kód: Vybrať všetko
adsl-d101.91-47-121.t-com.skALe možno je na to aj priamo nejaka funkcia, ale toto su len domienky
no ja by som to spravil nasledovne...
kedze ty nechces zistit krajinu tvojej IP, tak namiesto premennej $REMOTE_ADDR pouzijes premennu, kde bude ta IP, ktorej stat chces zistit. i ked sa to podla mna takymto sposobom nerobi, ale mozno som sa trafil 
Kód: Vybrať všetko
$host=gethostbyaddr($REMOTE_ADDR);
$host=explode(".",$host);
$p=count($host);
$state=$host[$p-1];
echo $state;
thx K+turtlak69 napísal:no ja by som to spravil nasledovne...kedze ty nechces zistit krajinu tvojej IP, tak namiesto premennej $REMOTE_ADDR pouzijes premennu, kde bude ta IP, ktorej stat chces zistit. i ked sa to podla mna takymto sposobom nerobi, ale mozno som sa trafilKód: Vybrať všetko
$host=gethostbyaddr($REMOTE_ADDR); $host=explode(".",$host); $p=count($host); $state=$host[$p-1]; echo $state;
iste, ale to je uz piplacka... navyse nie je to zaruceny sposob, ze by to tak malo fungovat. casto to posledne za poslednou bodkou nie je ani sk, ani cz ani nic take. napriklad som si pozrel teraz statistiky na mojej stranke a aj taketo nieco sa tam objavilo
212.117.119.217.in-addr.arpa (stat arpa neexistuje. je to ISP arpa)
85.248.126.34 (dns zaznam nie je, takze namiesto toho som dostal len IP)
ale dalo by sa tymto spravit aj vypis statov
tie bodky su akoze porkacovanie. takto by sa to mozno aj dalo. alebo aj cez str_replace. no efektivita nie je zdaleka 100%. chcelo by to nieco dokonalejsie.
//warezman ma predbehol
212.117.119.217.in-addr.arpa (stat arpa neexistuje. je to ISP arpa)
85.248.126.34 (dns zaznam nie je, takze namiesto toho som dostal len IP)
ale dalo by sa tymto spravit aj vypis statov
Kód: Vybrať všetko
if ($state == "sk")
{
$state="Slovensko";
}
elseif ($state == "cz")
{
$state="Česko";
}
.
.
.
else
{
$state="neznáma krajina";
}
echo $state;
//warezman ma predbehol
ano toto je ovela lepsie riesenie
hmm ale este som nevidel ze by boli aj velke pismena v retazci... ale pre istotu by to asi nebolo na skodu. btw mohol si uz ten prikaz aj napisat nech je to pokope. ja s retazcami robit neviem, takze ho ani napisat nemozem
ale tusim je to nieco ako
no nie som si prilis isty...
Kód: Vybrať všetko
$string = strtolower($string);
-
geoge046
Star
- Príspevky: 608
- Registrovaný: 10 aug 2005, 14:15
- Bydlisko: Prievidza
- Kontaktovať používateľa:
Hentak to je viem aj ja
zase taky blbí niesom 
Len ja som sa pytal na to ze by to vedelo vypisat vsetky krajiny na svete. Bo ked napriklad pridete na stranku http://www.clickclickclick.com/ tak to automaticky vie ze z akej krajiny ste
. Ze by to vsetko manualne vypisovali?
Len ja som sa pytal na to ze by to vedelo vypisat vsetky krajiny na svete. Bo ked napriklad pridete na stranku http://www.clickclickclick.com/ tak to automaticky vie ze z akej krajiny ste
hmm sak som napisal ako to robia..geoge046 napísal:Hentak to je viem aj jazase taky blbí niesom
Len ja som sa pytal na to ze by to vedelo vypisat vsetky krajiny na svete. Bo ked napriklad pridete na stranku http://www.clickclickclick.com/ tak to automaticky vie ze z akej krajiny ste. Ze by to vsetko manualne vypisovali?
-
Mek
Addict
- Príspevky: 4661
- Registrovaný: 23 mar 2005, 23:00
- Bydlisko: ZA <-> TN
- Kontaktovať používateľa:
ja by som skor skusil pouzit na tento ucel databazu vsetkych ISP na celom svete, kde mas napisany aj kod a nazov krajiny a IP adresy v dvoch formatoch. Ten subor sa vola GeoIPCountryWhois.csv a ma okolo 6 MB. Je to textovy subor, da sa sosnut z www.maxmind.com a pravidelne je aktualizovany. Takze ak sa ti chce piplat, mozes si dorobit dokonca aj vlajocky statov
Takto dostanes vysledok aj napriek tomu, ze dana IP nema reverzny DNS zaznam, ci sa konci na .arpa, .com, .net a podobne exotiny.
Druha otazka je, ze prehladavanie tohto suboru by bolo asi dost pomale. Neviem, treba vyskusat.
Takto dostanes vysledok aj napriek tomu, ze dana IP nema reverzny DNS zaznam, ci sa konci na .arpa, .com, .net a podobne exotiny.
Druha otazka je, ze prehladavanie tohto suboru by bolo asi dost pomale. Neviem, treba vyskusat.
hladat nieco v subore, ktory ma skoro 95k riadkov asi nie je prilis efektivne. keby sa este nasiel daky skript, ktory by to skopcil dako do databazy, tak by to bolo velmi pouzitelne. no kazdopadne toto je ten sposob, ako na to a nie je rozbijat dns zaznam a na zaklade posledneho retazca za bodkou vydedukovat krajinu 