Skocz do zawartości
  • Cześć!

    Witaj na forum RootNode - aby pisać u nas musisz się zarejestrować, a następnie zalogować. Posty pisane z kont niezarejestrowanych nie są widoczne publicznie.

htaccess i cloudflare


zlotowinfo

Rekomendowane odpowiedzi

IP możesz za to zablokować w Dashboard CloudFlare, jeśli hosting nie wspiera mod_cf

Wybierasz domenę -> Firewall -> na dole masz możliwość zblokowania.

 

Drugą opcją będzie stworzenie skryptu / zaimplementowanie w obecny > tego <

 

<?php if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) 
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
?>

Umieszczasz na serwerze plik "banips.txt", w nim dodajesz adresy IP, a powyższy kod wykorzystujesz do sprawdzania czy adres IP znajduje się w pliku (może być baza w/e) , jeśli tak to kierujesz na podstronę 403.

Edytowane przez SomeGuy
Odnośnik do komentarza
Udostępnij na innych stronach

w podobny sposób oparty na php już mam, aczkolwiek budując serwis ogłoszeniowy

nie chciałbym pierdołami obciążać limitów php dla konta

 

właściwym celem było zezwolenie do folderu "oc-admin" w skrypcie osclass tylko mojego IP

cloudflare blokuje/dopuszcza ip/zakresy/kraje całej stronie, więc też nie da rady

 

jak rozumiem jedynym najlepszym rozwiązaniem jest spytać czy mi włączą: mod_cloudflare

Odnośnik do komentarza
Udostępnij na innych stronach

dodałem tego die(); if(getIP(0)!='mojeIP') {header('Location: http://test.oga.pl');die();}

 

przy okazji zabaw z IP, możecie powiedzieć, po co ja od lat używam tak skomplikowanej funkcji i czy ma ona sens?


function getIP($type) {    

if(isset($_SERVER["HTTP_CF_CONNECTING_IP"])) return $_SERVER["HTTP_CF_CONNECTING_IP"];    

if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP");   else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) $ip = getenv("REMOTE_ADDR");   else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) $ip = getenv("HTTP_X_FORWARDED_FOR");    

else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) $ip = $_SERVER['REMOTE_ADDR'];    

else { $ip = "unknown"; return $ip; }    

if ($type==1) {return md5($ip);} else {return $ip;}     

}

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z forum, wyrażasz zgodę na: Warunki użytkowania, Regulamin, Polityka prywatności.