Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dostęp do strony ip/maska
Forum PHP.pl > Forum > PHP
seisei
Witam,
Jak mogę zrobić, żeby dostęp do strony mieli osoby z pliku txt. Plik ma wyglądać następująco:

192.168.0.1/24

Nie chcę wypisać tysiąc adresów IP, lecz chcę maskę dać.


Pozdrawiam.
YaQzi
odczyt z pliku: file_get_contents
rozbijanie stringów: explode
ip wchodzącego: $_SERVER['REMOTE_ADDR']

Tyle wystarczy żeby to zrobić.
Louner
Kod nie sprawdza poprawności czegokolwiek, więc trzeba go używać rozważnie, albo poprawić. smile.gif

  1. function ip2bin($ip, $mask)
  2. {
  3. // tu bedzie adres IP w postaci binarnej
  4. $ipBin = '';
  5. // rozbij adres ip na czlony wg kropek
  6. foreach(explode('.', $ip) as $ipPart) {
  7. $ipBin .= decbin($ipPart);
  8. }
  9. return substr($ip, 0, intval($mask));
  10. }
  11.  
  12. $whiteListFile = 'jakis_plik_txt.txt';
  13. $whiteList = file_get_contents($whiteListFile);
  14. // na wszelki wypadek usun biale znaki
  15. $whiteList = trim($whiteList);
  16.  
  17. list($ip, $mask) = explode('/', $whiteList);
  18. $mask = intval($mask);
  19.  
  20. $ipAllowed = ip2bin($ip, $mask);
  21. $ipVisitor = ip2bin($_SERVER['REMOTE_ADDR'], $mask);
  22.  
  23. if($ipAllowed !== $ipVisitor) {
  24. die('Niedozwolona podsiec.');
  25. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.