Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Как правильно организовать аторизацию на php |

09.06.2008, 23:35
|
|
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме: 519496
Репутация:
78
|
|
Как правильно организовать аторизацию на php
Доброго времени суток.. Вопрос который меня мучает очень давно, как правильно организовать аторизацию на пхп.. Написал скрипт для аудита сайта и хочу к нему привязать доступ через пароль.Как?
|
|
|

09.06.2008, 23:55
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Сделай авторизацию как в шелле rst например:
PHP код:
$name='ec371748dc2da624b35a4f8f685dd122'; // логин пользователя (user login)
$pass='ec371748dc2da624b35a4f8f685dd122'; // пароль пользователя (user password)
if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass)
{
header('WWW-Authenticate: Basic realm="r57shell"');
header('HTTP/1.0 401 Unauthorized');
exit("<b>Access Denied</b>");
}
|
|
|

10.06.2008, 00:04
|
|
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме: 519496
Репутация:
78
|
|
А по другому можно с использованием формы авторизации... Вот скрипт титульник для ввода пароля и логина...
PHP код:
<html>
<head>
<title>Авторизация</title>
<style>
body
{
padding-left:350px;
font-family:tahoma, verdana, arial;
font-size:11px;
text-align:center;
color:#000000;
}
table
{
border:1px solid #D1D1E1;
margin:50px;
padding:10px;
}
tr
{
text-align:center;
}
input
{
text-align:center;
pargin:2px 0;
padding-right:10px;
padding-left:20px;
border:1px solid #D1D1E1;
background:#ffffff;
padding:2px;
}
</style>
</head>
<body>
<table>
<form method="post">
<tr>
<td>
<br/>
Login:<input type="text" title="Введите Login" name="log" />
<br/>
<br />
Password:<input type="password" title="Введите пароль" name="passwd" />
<br/>
<br />
<center><input type="submit" name="sub" value=" Login " /></center>
<br/>
</td>
</tr>
</form>
</table>
</body>
</html>
Диз под сайт верстал... И главный скрипт к кторорому нужно открыть доступ info.php. Как сдемать что бы доступ с скрипту info.php был только через форму авторизации...
В info.php просто лог статы...
|
|
|

10.06.2008, 00:10
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
в файле авторизации добавь при успешной авторизации например
define("site", "www.site.ru");
и подключай файл info.php
и в нём делай проверку
if(defined('site'))
{
Всё ок....
}
1
или создай сессию при успешной авторизации
$_SESSION['voshol'] = 1;
а в файле info.php
if(isset($_SESSION['voshol']))
{
всё ок
}
|
|
|

10.06.2008, 01:04
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Проще некуда %)
Код:
<?php
define("LOGIN", "mylogin");
define("PASSWORD", "000000");
define("MODE", TRUE); // TRUE - сравнивать логин и пароль без учёта регистра, FALSE - с учётом
if(isset($_POST['log']) && isset($_POST['passwd']) && is_logined(MODE)) {
setcookie('login', $_POST['log'], time()+31536000);
setcookie('passwd', $_POST['passwd'], time()+31536000);
}
function is_logined($register) {
if($register == false) {
if(($_COOKIE['login'] == LOGIN && $_COOKIE['passwd'] == PASSWORD) || ($_POST['log'] == LOGIN && $_POST['passwd'] == PASSWORD)) {
return true;
}
} else if($register == true) {
if((strcasecmp($_COOKIE['login'],LOGIN)==0&&strcasecmp($_COOKIE['passwd'],PASSWORD)==0) || (strcasecmp($_POST['log'],LOGIN)==0&&strcasecmp($_POST['passwd'],PASSWORD)==0)) {
return true;
}
}
return false;
}
?>
<html>
<head>
<title>Авторизация</title>
<style>
body
{
padding-left:350px;
font-family:tahoma, verdana, arial;
font-size:11px;
text-align:center;
color:#000000;
}
table
{
border:1px solid #D1D1E1;
margin:50px;
padding:10px;
}
tr
{
text-align:center;
}
input
{
text-align:center;
pargin:2px 0;
padding-right:10px;
padding-left:20px;
border:1px solid #D1D1E1;
background:#ffffff;
padding:2px;
}
</style>
</head>
<body>
<?php
if(is_logined(MODE)) {
// Код если всё в порядке
} else {
?>
<table>
<form method="post">
<tr>
<td>
<br/>
Login:<input type="text" title="Введите Login" name="log" />
<br/>
<br />
Password:<input type="password" title="Введите пароль" name="passwd" />
<br/>
<br />
<center><input type="submit" name="sub" value=" Login " /></center>
<br/>
</td>
</tr>
</form>
</table>
<?php
}
?>
</body>
</html>
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|