Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Админка, ... как правильно заблокировать... 
:(
    Опции темы
Onis
Дата 18.6.2005, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



Здрасти smile
Народ, не подскажите как админку правильно заблокировать для посторонних, я пытался сделать напролом, сравнивая введенный пароль с его хэш-кодом но этот способ постоянно глючит. smile
PM MAIL   Вверх
PARROT
Дата 18.6.2005, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Код

 setcookie("login", $login);
 setcookie("paswword", $pass);



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Onis
Дата 18.6.2005, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



Коротко и неясно smile .

Можно поподробнее чуток, я ж еще новичок.

Это сообщение отредактировал(а) Onis - 18.6.2005, 15:13
PM MAIL   Вверх
PARROT
Дата 18.6.2005, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



При входе, если все условия верны, ставь куки.
При выходе куки удаляй.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Onis
Дата 18.6.2005, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



Как я понял переменные $login и $pass вводтся через формы?

Может у кого-то есть ссылочка на примеры использования кук а то я о них только второй раз слышу smile

Это сообщение отредактировал(а) Onis - 18.6.2005, 15:49
PM MAIL   Вверх
PARROT
Дата 18.6.2005, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



name формы, это имена наших переменных, на которые при проверки условия, ставятся куки.
Если конечно все верно.

Вот ссылка на русском http://php.rinet.ru/manual/ru/features.cookies.php

Это сообщение отредактировал(а) PARROT - 18.6.2005, 15:54


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Onis
Дата 18.6.2005, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



А можно сделать так чтоб куки удалялись когда закрываешь страничку?
PM MAIL   Вверх
Bikutoru
Дата 18.6.2005, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 8
Всего: 22



Нет. Cookie будут храниться пока не истечет срок их действия, или пока они не будут удалены самим пользователем... Если обязательно нужно удуаление с закрытием окна, то имеет смысл использовать переменные $_SERVER["PHP_AUTH_USER"] и $_SERVER["PHP_AUTH_PW"]...
Пример с php.net:
Код

<?php
  if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header("WWW-Authenticate: Basic realm=\"My Realm\"");
    header("HTTP/1.0 401 Unauthorized");
    echo "Текст, отправляемый в том случае,
    если пользователь нажал кнопку Cancel\n";
    exit;
  } else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>Вы ввели пароль {$_SERVER['$PHP_AUTH_PW']}.</p>";
  }
?>

Только есть такая особенность: если вводишь неправильный логин/пароль, то нужно закрывать окно и открывать новое, причем через Ctrl+N (в IE) не получится - окно, порожденное от данного, использует ту же комбинацию логин/пароль...

Это сообщение отредактировал(а) Bikutoru - 18.6.2005, 16:47


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
Onis
Дата 18.6.2005, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



Ну я примерно так делаю:
Код

if(!isset($login) or !isset($pass))
    pass_form();
else
{
    if($pass==123 and $login=='Onis' )
    {
        setcookie("login", $login);
        setcookie("password", $pass);
    }
    else
        echo("error");
}
if(isset($password))
{
    echo("wellcome!");
    setcookie("login", "");
    setcookie("password", "");
}


Этот код я для теста сделал, у меня появляется ошибка в строке удаления куков, пишет что мол я уже послал заголовки.

Или я неправильно строю алгоритм?

PM MAIL   Вверх
Рыжий
Дата 18.6.2005, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 2
Всего: 20



Обьясняю понятно:
Хранишь пароли и логины админов в Базе данных, проверяешь правильный ввод с обыкновенной формы, вот пример:

Код

<html>
<head>
  <title></title>

<style type="text/css">
td{border-color:#ffffff; color:#FFFFFF; font-weight:700;}

</style>
</head>


<body bgcolor="black">
<table border=0 width=100% height=100%>
<tr valign="middle" align="center"><td>
<center>
<form name="stepin" action="auth.php" method="post">

<table valign="middle" align="center" border=0><tr><td align="right">
Имя: </td><td><input name="name" type="text" value=""></td></tr>
<tr><td align="right">   Пароль:</td><td><input name="pass" type="password" value=""></td></tr>
<tr><td colspan=2 align=right><input type="submit" value="Вход"></td>
</table>
</form>
</td></tr>
</table>


После этого будешь иметь 2 переменные $_POST['name'] - логин и $_POST['pass'] - пароль.
Далее регистрируем кукисы - эти 2 переменные как раз подойдут.
Соответственно нужно начать сессию - один из лучших вариантов, сессию уже никто не сможет подделать и если ты будешь админить сайт - вместо тебя никто уже не зайдет smile т.к. украсть сессию очень сложно.
После того как ты закроешь окно браузера - сессия автоматом удалится.
Вроде все, будут вопросы спрашивай smile
PM MAIL ICQ   Вверх
PARROT
Дата 18.6.2005, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Код

<?php
ob_start();
error_reporting(7);
?>
<html>
if(!isset($login) or !isset($pass))
    pass_form();
else
{
    if($pass==123 and $login=='Onis' )
    {
        setcookie("login", $login);
        setcookie("password", $pass);
    }
    else
        echo("error");
}
if(isset($password))
{
    echo("wellcome!");
    setcookie("login", "");
    setcookie("password", "");
}
</html>
<?php
ob_end_flush();
?>

И больше ругаться не будут! Гарантия 100 пр...
А сессии для начинающих не сложны...?
Использовать или не использовать глобалку дело каждого, но лучше использовать! Потому как есть гарантия, что работать будет везде!
И еще пароль лучше хранить в закрытом виде, в функции md5() + чтобы не украли, к паролю стоит привязать какое-нибудь слово типа "Попка дурак". Тоесть слово, которое никто незнает. Тогда гарантия, что сопрут, растворяется.


Это сообщение отредактировал(а) PARROT - 18.6.2005, 17:06


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Onis
Дата 18.6.2005, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



Спасибо всем, вроде работает.

И извините если достал smile
PM MAIL   Вверх
PARROT
Дата 18.6.2005, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Не за што... smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 19.6.2005, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



В FAQ уже есть, между прочим ;)
http://forum.vingrad.ru/index.php?act=modu...el&article=2849
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0570 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.