Access Only Romania

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori


Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Mar Aug 08, 2006 1:21 pm

pai si daca locuiesc in alta tara?

ia citeste aici http://www.rotld.ro/romana/alocare_ip/alocare_ip.html
1) )
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

iftvio
Junior Member
Mesaje: 45
Membru din: Mie Dec 14, 2005 8:00 am
Contact:

Mesajde iftvio » Mar Aug 08, 2006 3:20 pm

Poti sa folosesti GeoIP. Tot ce trebuie sa faci, e sa iti salvezi de la modulul php, apoi iti salvezi (tot de la ei) ultima actualizare a ip-urilor. Folosind modulul lor, poti sa obtii country cod-ul pentru o anume adresa ip.
La tine in script mai adaugi o linie care sa valideze country cod-ul. Daca nu e din ro, atunci il directionezi catre o alta pagina.
Partea proasta e ca adresele ip pentru GeoLite Country se actualizeaza odata pe saptamana.

set_time_limit
New Member
Mesaje: 4
Membru din: Joi Sep 07, 2006 10:50 pm

gethostbyaddr

Mesajde set_time_limit » Joi Sep 07, 2006 11:41 pm

O solutie ar fi sa folosesti functia gethostbyaddr pentru a returna hostnamu unui ip si apoi sa citesti extensia hostului(.com,.ro,.net etc.) , folosind functia explode.Daca extensia este .ro sigur este roman.
Daca vezi ca extensia hostului este .net sau .com poti trece sa verifici domainu de baza(e.g. romtelecom.net) si daca este un provider roman ii dai access la utilizator . E nasol daca functia gethostbyaddr returneaza o adresa de ip :( .


Un exemplu simplu :
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$host2 = explode(".",$host);
//$nrsub = ;
if($host2[count($host2)-1] == "ro")
{
echo "Sunteti roman!";
};

levant
New Member
Mesaje: 1
Membru din: Lun Mai 22, 2006 7:33 pm

Mesajde levant » Sâm Sep 09, 2006 9:51 pm


Avatar utilizator
Dodo
Senior Member
Mesaje: 958
Membru din: Mar Aug 22, 2006 2:40 pm
Localitate: Constanta
Contact:

Mesajde Dodo » Dum Sep 10, 2006 12:54 am

set_time_limit, functia gethostbyaddr intoarce reverse dns de la adresa de ip furnizata ca argument si problema este ca in romania putine isp-uri adauga reverse dns gen '86-127-39-91.rdsct.ro' si in cazurile in care nu exista reverse dns la ip functia o sa intoarca ip-ul in sine si scriptul tau o sa creada ca nu e din romania vizitatorul.

Parerea mea este ca daca vrei sa filtrezi romanii scrie pagina in romana si pana cand google translator baga si limba romana iti garantez ca doar romanii inteleg continutul paginii chiar daca o acceseaza si altii... acum daca tu vrei doar pentru romania ... asa cum ai scris in post foloseste metoda sugerata de iftvio ... dar nu-ti recomand sa te complici cu verificat ip-uri.
|

Avatar utilizator
kleampa
Senior Member
Mesaje: 2774
Membru din: Dum Iul 10, 2005 2:12 pm
Localitate: Bucuresti
Contact:

Mesajde kleampa » Dum Sep 10, 2006 1:21 am



Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 14 vizitatori