publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
skomentuj »

TAGI: tips & tricks , php , dostęp , 404

2011-01-03 11:23  |  Paweł Gazda

Jak zablokować dostęp do strony WWW z wykorzystaniem PHP?

Jak zablokować dostęp do strony WWW z wykorzystaniem PHP?

Istnieje przynajmniej kilka powodów, dla których chciałbyś zablokować dostęp do niektórych stron w swoim serwisie. Najczęstszym z nich jest to, że strona jest przygotowana, ale czeka na zatwierdzenie i nikt inny nie powinien jej oglądać.

Ten tips pokaże jak "ukryć" wskazaną stronę przed wyszukiwarkami czy przypadkowymi odwiedzającymi, za pomocą możliwości tkwiących w PHP. Można tego dokonać na kilka sposobów:

  • Dostęp po adresie IP
  • Sprecyzowane ukryte parametry
  • Autentykacja za pomocą podstawowego HTML-a

Wszystkie przykłady będą implementowały funkcję CheckAccess(), co pozwoli na bardziej elastyczny dobór wariantu do konkretnego skryptu. Podstawą tej techniki będzie umieszczenie CheckAccess() na początku skryptu "prywatnego". Należy wziąć pod uwagę, że opisywane przykłady są proste i nie powinno się o nich myśleć jako o superbezpiecznych. Dla większości z Was powinny być jednak odpowiednie.

Dostęp po adresie IP

jeśli posiadasz statyczny adres IP, to możesz wykorzystać go w funkcji weryfikacyjnej. Oto przykład:

<?php

function CheckAccess()

{

$allowedip = '127.0.0.1';

$ip = $_SERVER['REMOTE_ADDR'];

return (

$ip == $allowedip);

}

?>

 

Możliwe jest również podanie "na sztywno" zakresu adresów IP, np: w obrębie firmy. Oto przykład:

 

<?php

function CheckAccess()

{

$fromip = '127.0.0.1';

$toip = '127.0.0.100';

$ip = ip2long($_SERVER['REMOTE_ADDR']);

return (

$ip >= ip2long($fromip) && $ip <= ip2long($toip));

}

?>

Sprecyzowane ukryte parametry

Ta prosta technika pozwala ograniczyć dostęp do skryptów PHP, a przy tym nie wymaga zbyt wiele pisania. Możesz uzyskać dostęp do skryptu poprzez dodanie dodatkowego parametru w adresie URL, np: http://www.yoursite.com/mystats.php?secretkey=secretvalue. Jeśli nie zostanie on podany, serwer zwróci błąd 404 (strona nie znaleziona). Oto przykład:

 

<?php

function CheckAccess()

{

return @$_GET['secretkey']=='secretvalue';

}

?>

«poprzednia 1 2 następna »

publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
skomentuj »

Polecane książki

Czytaj Webhosting

Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.

Zarejestruj domenę

Sprawdź dostępność swojej domeny:

.pl: 0 zł   .com: 19.90 zł
.com.pl: 0 zł   .eu: 19.90 zł