Задача 28
<?
if(!isset($name)&&!isset($password))
{// Посетитель должен ввести имя и пароль
?>
<h1>Please Log In</h1>This page is secret.
<form method = post action = "secret.php">
<table border = 1>
<tr><th>Username</th><td><input type = text name = name></td></tr>
<tr><th>Password</th><td><input type = password name = password>
</td></tr><tr><td colspan =2 align = center>
<input type = submit value = "Log In"></td></tr>
</table></form>
<? }
else if($name=="user"&&$password=="pass")
<? // Комбинация имени и пароля посетителя правильная
echo "<h1>Here it is!</h1>";
echo "I bet you are glad you can see this secret page."; }
else
{ // Комбинация имени и пароля посетителя неправильная
echo "<hl>Go Away!</hl>";
echo "You are not authorized to view this resource."; }
?>
Задача 29
create database auth;
use auth;
create table auth (
name varchar(10) not null,
pass varchar(30) not null,
primary key (name)
);
insert into auth values ('user', 'pass');
insert into auth values
( 'testuser', password('test123') );
grant select, insert, update, delete
on auth.*
to webauth@localhost
identified by 'webauth';
Задача 30
<?
// Если используется сервер IIS, потребуется установить переменные
// среды $PHP_AUTH_USER и $PHP_AUTH_PW
if (substr($SERVER_SOFTWARE, 0, 9) == "Microsoft" &&
!isset($PHP_AUTH_USER) && !isset($PHP_AUTH_PW) &&
substr($HTTP_AUTHORIZATION, 0, 6) == "Basic" )
{ list($PHP_AUTH_USER, $PHP_AUTH_PW) =
explode(":", base64_decode(substr($HTTP_AUTHORIZATION, 6))); }
// Замените этот оператор if запросом к базе данных
if ($PHP_AUTH_USER != "user" || $PHP_AUTH_PW != "pass")
{
// Посетитель еще не передал деталей или имя и пароль неправильные
header('WWW-Authenticate: Basic realm="Realm-Name"');
if (substr($SERVER_SOFTWARE, 0, 9) == "Microsoft")
header("Status: 401 Unauthorized");
else header("HTTP/1.0 401 Unauthorized");
echo "<hl>Go Away!</hl>";
echo "You are not authorized to view this resource."; }
else {
// посетитель предоставил правильную информацию
echo "<h1>Here it is!</hl>";
echo "<p>I bet you are glad you can see this secret page.";
}
?>
