Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2009, 13:57   #1
Amen
Заблокирован
Форумчанин
 
Регистрация: 22.01.2008
Сообщений: 121
По умолчанию Refresh на запароленную страницу

На главной странице администрирования у меня сначала выводится форма ввода (логин пароль), условие:

PHP код:
if (isset($_POST['login']) && ($_POST['login']==$adm) && isset($_POST['pass']) && ($_POST['pass']==$ps)) { 
и дальше, собственно сам код.
На этой странице выводятся таблицы с сообщениями и ссылки на удаление.
При нажатии на ссылку удалить происходит удаление и возврат на страницу admin/index.php.
Проблема в том, что скрипт возвращет меня обратно к форме ввода. Как сделать так, чтобы единожди введя пароль можно было не возарвщаться к этой процедуре?

Фрагмент скрипта, удаляющего записи:

PHP код:
$query "DELETE FROM guest
          WHERE id_msg = "
.$_GET["id_msg"];
//Удаляем сообщение с первичным ключом $id_msg
if (mysql_query($query))
{
//После удачного удаления переходим 
//к дальнейшему администрированию ГК
print "<HTML><HEAD>\n";
print 
"<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?start=".$_GET["start"]."'>\n";
print 
"</HEAD></HTML>\n";

Amen вне форума Ответить с цитированием
Старый 12.10.2009, 14:09   #2
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

сохраняйте статус авторизации в сессию или кукисы

для безопасности можно также сохранить хеш пароля (подробней ищите поисковиками)
свободен...
wall66 вне форума Ответить с цитированием
Старый 12.10.2009, 15:39   #3
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Или можно использовать AJAX, тогда перезагрузки страницы вообще не будет
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 12.10.2009, 16:07   #4
Aexx
Программист тьмы
Форумчанин
 
Аватар для Aexx
 
Регистрация: 02.09.2009
Сообщений: 227
По умолчанию

Имхо, не надо ему таких сложностей) Сессии все ж проще
Aexx вне форума Ответить с цитированием
Старый 12.10.2009, 16:18   #5
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Aexx Посмотреть сообщение
Имхо, не надо ему таких сложностей) Сессии все ж проще
А это не сложно. Хотя, каждый высказывает свою субъективную мысль..
SkyM@n вне форума Ответить с цитированием
Старый 12.10.2009, 16:21   #6
Aexx
Программист тьмы
Форумчанин
 
Аватар для Aexx
 
Регистрация: 02.09.2009
Сообщений: 227
По умолчанию

SkyM@n, я и говорю - не надо ему таких сложностей. Согласитесь, гораздо проще сначала сессии и куки изучить, а потом уж за AJAX браться) Я же не себя имел в виду)
Aexx вне форума Ответить с цитированием
Старый 12.10.2009, 16:26   #7
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Aexx Посмотреть сообщение
Согласитесь, гораздо проще сначала сессии и куки изучить
Проще? А чем ?
SkyM@n вне форума Ответить с цитированием
Старый 12.10.2009, 16:32   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Как вариант можно сделать что-то в виде такого:

PHP код:

// Что-то... Ни какого вывода на экран!!!

if (isset($_POST['login']) && ($_POST['login']===$adm) && isset($_POST['pass']) && ($_POST['pass']===$ps))
// Обрабатываем данные формы:
    
$session = array ("login" => $adm"pass" => md5($ps));
    @ 
setcookie ("session"serialize ($session), time() + 60 15);
    @ 
header ("Location: index.php"); // редирект на эту же страничку
    
exit;
} elseif ( isset (
$_COOKIE["session"]) )
// Вход уже выполнен, проверяем корректность данных в куки:
    
$session unserialize ($_COOKIE["session"]);
    if ( isset (
$session["login"]) && $session["login"] === $adm && isset ($session["pass"]) && $session["pass"] === md5 ($ps) )
    {
        @ 
setcookie ("session"$_COOKIE["session"], time() + 60 15);

        
// Админ!!!

        
exit;
    }
}
    
// Форма ввода логина и пароля... 
Просто храним в куки логин и md5-хеш пароля 15 минут.

Последний раз редактировалось Arigato; 12.10.2009 в 16:37.
Arigato вне форума Ответить с цитированием
Старый 12.10.2009, 16:51   #9
Aexx
Программист тьмы
Форумчанин
 
Аватар для Aexx
 
Регистрация: 02.09.2009
Сообщений: 227
По умолчанию

Цитата:
Сообщение от SkyM@n Посмотреть сообщение
Проще? А чем ?
Ну, не знаю. Пониманием, что ль) Мне куки и сессии, да и вообще в целом PHP дался намного легче, чем JavaScript и производные от него технологии
Aexx вне форума Ответить с цитированием
Старый 12.10.2009, 18:33   #10
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

Цитата:
Сообщение от SkyM@n Посмотреть сообщение
Проще? А чем ?
думаю, вы понимаете, что без сессий в данном случае о безопасности не может быть и речи - получится, что, зная устройство админки, можно будет делать что угодно не зная пароля

поэтому, сначала следует изучить их, а уже потом браться за удобство использования - типа - ajax
свободен...
wall66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
открыть запароленную базу dron-s Microsoft Office Access 2 20.02.2015 20:41
REfresh beemoto Работа с сетью в Delphi 1 20.04.2009 11:02
Refresh при переходе на страницу nikleb JavaScript, Ajax 8 20.12.2007 18:24
Help! Ссылки на страницу с БД DiX Microsoft Office Excel 1 18.07.2007 02:13