Windows Apache PHP
Цел на упражнението: Конфигуриране на PHP/Apache Web server.
1. Инсталиране на Apache Web Server. (виж ... ) Задайте "custom" инсталация и променете инсталационната директория на c:\Apache
2. Инсталиране на PHP. (Има две разновидности за Windows - "Thread Safe" - ако ще се използва Apache Web Server и "Non Thread Safe" - ако ще ползваме IIS Web Server.) - Инсталирайте в директория c:\PHP - Избираме опция "Apache 2.2.x Module" - Настройка на Apache да работи с PHP. Редактираме конфигурационния файл на Apache – httpd.conf. В края на файла добавяме: LoadModule php5_module c:/PHP/php5apache2_2.dll AddType application/x-httpd-php .php Намерете записът за автоматично отваряне на файл и добавете index.php: <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> - Рестартирайте Apache
Тестване
Създайте текствов файл index.php и добавете в него:
<?php // PHP скриптът започва с <?php или <?
phpinfo();
// и завършва с ?>
?>
Качете файла на web сървъра и го заредете през web браузър. Ако след извикването на файла се изведе системната информация за php, сървърът работи нормално.
Глоабални променливи
Да се тестват глобалните променливи на PHP - $_SERVER, $_POST, $_GET.
<html>
<head>
<title>Globals</title>
</head>
<body>
<?php
print_r($_SERVER);
print "<br />";
print_r($_GET);
print "<br />";
print_r($_POST);
?>
</body>
</html>
Форма за коментари
Да създаде уеб страница за оставяне на коментари.
<?php
$file = 'comments.txt'; // Променливите в PHP започват с $ и не е нужно да се инициализират
$fd = fopen( $file, 'a+'); // отваряне на файл за четене
if( isset($_POST['name'])) //проверка за съществуване на променлива
{ // В PHP има асоциативни променливи
fwrite($fd, "<p>Име: $_POST[name] \r\n"); \\Когато стрингът е в двойни кавички, той се интерпретира
fwrite($fd, "<br /> $_POST[comment] </p> \r\n"); \\ Заместват се променливите и специалните символи
}
fseek($fd, 0); \\връщане на показалеца на файла в 0 байт
$comments = fread($fd, filesize($file)); \\ четене от файл
fclose($fd );
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="" method="post">
<table>
<tr>
<td>ime</td>
<td><input type="text" name="name" value="" maxlength="100" /></td>
</tr>
<tr>
<td>komentar</td>
<td><textarea rows="3" cols="20" name="comment"></textarea></td>
</tr>
<tr>
<td colspan="2"><input name="submit" type="submit" value="Submit" /></td>
</tr>
</table>
</form>
<?php print $comments ?>
</body>
</html>
Фишинг / Phishing
5. Да се създаде фишинг страница на mail.abv.bg.