Блокиране на посетителя, ако не е от България

WildBeast

Registered
Тази тема е следващата част от http://web-tourist.net/forum/viewtopic.php?t=82349 ,в която emagi ми помогна. Този път се питам дали е възможно чрез кода, който emagi е дал в последния си пост, да забраня гласуването от хора, извън България, тоест ако се извлече подобна информация:

IP: 76.73.38.18
IP Country:
us.png
United States
This IP address resolves to mail.deliveryexpress.info [Whois] [Trace]

човека да не може да даде своя глас за играча.
 
ПОчвам да ти давам жокери, да видим с моя помощ би ли могъл да се справиш сам.МОже да ползваш някоя функция, с която да провериш дали в даден стринг го има низа Bulgaria
Видя как съм направил предходния пример, ти как би процедирал?
 
emagi каза:
ПОчвам да ти давам жокери, да видим с моя помощ би ли могъл да се справиш сам.МОже да ползваш някоя функция, с която да провериш дали в даден стринг го има низа Bulgaria
Видя как съм направил предходния пример, ти как би процедирал?
Ем.. :D Аз съм пас, затова питам..
 
Еми трябва да ползваш примерно preg_match, за да видиш има ли съвпадение в търсения стринг от зададеният от теб низ:
if(preg_match('/Bulgaria/i', $matches[0])){
//има съвпадение, кода продължава
} else {
//няма съзпадение
}
 
А може и да ползваш този онлайн генератор , само ,че ще си го промениш. Вместо да забраняваш достъпа на дадена страна ,ти ще използваш хтаццесс-а за да добавиш изключение за тая страна.
 
nom3r1 каза:
Код:
if(strpos($_SERVER['HTTP_ACCEPT_LANGUAGE'],"bg") {
//bg....
}
else {
echo "You are not from Bulgaria.";
}

:roll:
При мен е "bg,en-us", няма да стане работата.

ЕДИТ: И emagi отново хвана точката! Много съм ти благодарен, че ми помогна да реша проблема с прокситата!
 
nom3r1 каза:
.htaccess
http://wt-t3sttt.hit.bg/dostyp%20samo%20ot%20bylgariq.txt
За това сигурен ли си?Аз никога не съм си игеал да видя в какви интервали са BG ip адресите
 
Replace каза:
А може и да ползваш този онлайн генератор , само ,че ще си го промениш. Вместо да забраняваш достъпа на дадена страна ,ти ще използваш хтаццесс-а за да добавиш изключение за тая страна.
@Raplace, това сефте го виждам и е много практично.Само не видях има ли опция, обратна на блокирането.Примерно искам да пусна само немски ip адреси
 
Според мен ще натоварват излишно всичките тези ийпита.
Пробвайте следното:
Свалете си полсеният ip2country вкарайте го в MySQL база данни ( ето как ), изпразнете почти цялата база данни като оставите само ийпитата от България (BG) и php скрипта ще правите проверка, ако айпито на потребителя не е сред тези интервали значи не е от бг :)

Едит: Емаги, може да се направи. Просто заместваш allow from all със deny from all и deny from 88... със allow from 88.. :)
 
F1r3Fl3x каза:
Според мен ще натоварват излишно всичките тези ийпита.
Пробвайте следното:
Свалете си полсеният ip2country вкарайте го в MySQL база данни ( ето как ), изпразнете почти цялата база данни като оставите само ийпитата от България (BG) и php скрипта ще правите проверка, ако айпито на потребителя не е сред тези интервали значи не е от бг :)
Това е най-удачния вариант, тоест най-бързия
 
emagi каза:
Replace каза:
А може и да ползваш този онлайн генератор , само ,че ще си го промениш. Вместо да забраняваш достъпа на дадена страна ,ти ще използваш хтаццесс-а за да добавиш изключение за тая страна.
@Raplace, това сефте го виждам и е много практично.Само не видях има ли опция, обратна на блокирането.Примерно искам да пусна само немски ip адреси

Всъщност не съм видял такава опция , но лесно може да Replace-неш (:D) deny from на allow from :) и накрая да сложиш deny from all.
 

Back
Горе