[PHP] Jak udostępnić stronę tylko dla wybranych numerów IP?
Chcesz umożliwić wejście na stronę tylko dla osób łączących się z wybranych numerów (lub fragmentów numerów) IP.
Niektóre zasoby, jak chociażby panele administracyjne webmastera, pomimo tego, że zabezpieczone są hasłami nie powinny być dostępne dla postronnych osób. Bardzo łatwo można udostępnić wybrane strony użytkownikom łączącym się tylko z określonych numerów IP. Zobacz jak to zrobić.
Na samej górze strony sprawdź, czy osoba łączy się z podanego numeru IP, stosując np. poniższy zapis.
<?
if (!ereg("213.32.22.6",$_SERVER["REMOTE_ADDR"])) {exit;}
if (!ereg("213.32.22.7",$_SERVER["REMOTE_ADDR"])) {exit;}
if (!ereg("^211.32.",$_SERVER["REMOTE_ADDR"])) {exit;}
?>
Zmienna $_SERVER["REMOTE_ADDR"] przechowuje numer IP osoby łączącej się, więc za pomocą funkcji ereg() wystarczy sprawdzić czy w numerze IP pobranym z $_SERVER["REMOTE_ADDR"] występuje IP wpisane przez Ciebie. Jeżeli nie, wtedy wykonywane jest polecenie exit, co jest jednoznaczne z opuszczeniem strony. Użytkownik w przeglądarce nic nie zobaczy, strona będzie pusta, bo reszta kodu strony się nie wyświetli.
Stosując wyrażenia regularne można definiować całe zakresy IP. Trzecia linijka wpuści na stronę wszystkich, których numery zaczynają się od 211.32.
Jeżeli chcesz w ten sposób zabezpieczyć większą ilość stron, warto reguły wypisać do osobnego pliku, np. blokada.php i dołączyć ten plik na samym początku każdej strony stosując polecenie include:
<?
include("sciezka/blokada.php");
?>
W ten sposób będzisz modyfikować tylko jeden plik, który dołączy się do wielu stron i zablokuje niepowołanmym osobom dostęp do stron.