Потребител беседа:Zono

от Уикипедия, свободната енциклопедия

[редактиране] PHP

PHP е широко използван скриптов език с общо предназначение особено подходящ за Web разработка, който може да бъде вграждан в HTML. Написах тази статия след като прочетох един въпрос във форума по PHP на ДирБг (clubs.dir.bg). Въпросът беше:

Как да стане при зареждане на началната страница(индекса) няколко определени ip-та да се пренасочат към определена страница - нещо като банване един вид... Някой ако е мяркал такова скриптче ще съм му благодарен!

Сега ще разгледаме как най-лесно можем да постигнем това с РНР. Но първо нека разгледаме някой негови особености. За разлика от повечето езици при него имената на променливите започват със знак за долар "$", изпълнимият PHP код се отделя с "<?" - за начало и "?>" за край. Поддържа три вида коментари:

  • "//" - стил С++,
  • "/* */" - стил С и
  • "#" стил Perl

Пример:

<html>
<body>
<?
//Аз съм коментар в стил С++

/* 
  Аз съм коментар в стил С
*/

# Аз съм коментар в стил Perl

echo '<h1> Аз съм текст, генериран от PHP';
?>
<br>
<h1> Аз съм статичен HTML-текст.
</body>
</html>

Но все пак един добър, примерен код е по-добър от хиляди думи. Затова ето скрипта, който ще приложим за задачата по-горе. Потребителят си прави един текстов файл, кръщава го banned.txt и вътре записва IP-тата, за които иска да забрани достъпа до страницата си - всяко IP на нов ред. След това създава един файл - default.php или index.php - според настройките на Apache-то. Ето скрипта

<?
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {

 $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];

} elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {

 $ip = $_SERVER["HTTP_CLIENT_IP"]; 

} else {

 $ip = $_SERVER["REMOTE_ADDR"]; 

}
$restricted = file("banned.txt"); 

if(in_array($ip ,$restricted ))
{ 

   header("Location:deto_she_otiva_bannatiya.html"); 
   die(); 

} 

  header("Location:index.html"); 

?>

Статията ще се довършва и разширява по-късно.