Потребител беседа: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"); ?>
Статията ще се довършва и разширява по-късно.