Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Авторизация....

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Malcolm



Зарегистрирован: 12.06.2004
Сообщения: 187
Откуда: Хабаровск

СообщениеДобавлено: Сб Июн 12 2004 19:12    Заголовок сообщения: Авторизация.... Ответить с цитатой

Здраствуйте!
Мне надо написать на PHP на моем сайте раздел, требующий авторизации, как обычно делается на форумах. Я знаю ПХП всего неделю, прочитал книжку по ПХП, но в ней, в ее 580страницах очень мало полезной информации! Скажите пож. как делать авторизацию!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Malcolm



Зарегистрирован: 12.06.2004
Сообщения: 187
Откуда: Хабаровск

СообщениеДобавлено: Сб Июн 12 2004 19:15    Заголовок сообщения: Ответить с цитатой

Да и еще - может кто подскажет как сделать редирект, когда страница уже частично загружена - т.е. мы в пхп делаем по кускам страницу и направляем ее пользователю с помощью flush(), а потом, при необходимости, загружем другую страницу автоматически.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Это я (GREA)
Гость





СообщениеДобавлено: Вс Июн 13 2004 08:00    Заголовок сообщения: Ответить с цитатой

Тебе нужно использовать сессии.
Запускаешь сессию и смотришь, есть ли в глобальном массиве $SESSION запись о авторизации. На страничке с логином, в случае, если пароль корректен, заносишь данные о авторизации в глобальный массив $SESSION.
Вернуться к началу
Родион



Зарегистрирован: 18.01.2004
Сообщения: 183

СообщениеДобавлено: Вс Июн 13 2004 09:38    Заголовок сообщения: Ответить с цитатой

редирект ты на уровне сервера или клиента собрался делать?
если клиента, то тэг META REFRESH, там что-то такое, сам найдеш,
а на сервере можно сокет открыть и запросить что надо.

А вообще, зная язык неделю, тяжело что-то написать на нем!!
_________________
RTFM
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Malcolm



Зарегистрирован: 12.06.2004
Сообщения: 187
Откуда: Хабаровск

СообщениеДобавлено: Пн Июн 14 2004 00:43    Заголовок сообщения: Ответить с цитатой

Ну это я PHP знаю неделю... а до этого писал и на Pascal/Delphi и Cpp, и, конечно, Basic. Последний мне больше всего не нравится.. а самый хороший - Си. Так что осваивать новые языки мне достаточно легко!

Пока я ждал тут ответа, все же придумал как сделать авторизацию через Куки - работает отлично! А начет сессий - я вот не понял как они работают (в смысле что делает сам комп, при вызове всех этих функций), а главное непонятно, когда эти самые сессии закрываются -ведь если они открываются, то должны и закрываться!

Редирект мне нужен, когда часть страницы уже загружена, а на сколько я знаю Мету можно отправлять только если еще ничего не загружено. Мне нужно вот что - Появляется страничка с каким-нибудь сообщением, и через несколько секунд загружается другая (на форумах так часто делается)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Родион



Зарегистрирован: 18.01.2004
Сообщения: 183

СообщениеДобавлено: Пн Июн 14 2004 10:05    Заголовок сообщения: Ответить с цитатой

Да! Да! Да!
И я токого мнения- Си решает!!! Very Happy
А тяжело в любом случае, потомучто у любого языка есть свои функции, методы, возможности , которые узнаешь постепенно.

А с сесисей ты прав , она закрывается по выходу юзера,
здесь все через сессии организованно, я имею в виду форум PhPBB.


Тебе точно мета нужен, и опять в 20 раз говорю, я не дома, и не на работе,а всех функаций я наиз-ть не помню, если сам не найдеш, то попозже скажу, но я тебя уверяю, что это через мета!!
_________________
RTFM
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Родион



Зарегистрирован: 18.01.2004
Сообщения: 183

СообщениеДобавлено: Пн Июн 14 2004 10:14    Заголовок сообщения: Ответить с цитатой

<meta HTTP-EQUIV="Refresh" content="30; URL=http://rambler.ru"> После указанного времени браузер перейдет на адрес.
А если тебе надо чтоб вся страница загрузилатсь, то тут яваскрипт нужен.
_________________
RTFM
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
GREA



Зарегистрирован: 14.05.2003
Сообщения: 758
Откуда: Новосибирск

СообщениеДобавлено: Пн Июн 14 2004 10:16    Заголовок сообщения: Ответить с цитатой

Ставишь рефреш на несколько секунд и выполняешь скрипт.
echo("<meta http-equiv=\"refresh\" content=\"5;URL=index.php?page=reg\">Информация обработана");
На каждой странице в начале скрипта вызываешь
session_start();
Если нужно завершить сессию, можешь создать переход на страничку, где session_start(); не вызывается.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GreenS



Зарегистрирован: 09.06.2004
Сообщения: 9
Откуда: Урал

СообщениеДобавлено: Пн Июн 14 2004 22:40    Заголовок сообщения: Ответить с цитатой

А еще есть функция
session_destroy(); завершение сессии
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Malcolm



Зарегистрирован: 12.06.2004
Сообщения: 187
Откуда: Хабаровск

СообщениеДобавлено: Ср Июн 16 2004 04:10    Заголовок сообщения: Ответить с цитатой

Я вот написал функцию для формирования странички перенаправления. Она вызывается только один раз, если нужно показать страничку перенаправления, и ни перед ней, ни после нее ничего более не выводится.
Код:

function Redirect($URL,$URLText,$Text)
         {
         echo "<html><head>";
         echo "<meta HTTP-EQUIV=\"Refresh\" content=\"2,".$URL."\">";
         echo "</head><body>";
         echo $Text;
         echo "<a href=".$URL.">".$URLText."</a>";
         echo "</body></html>";
         }


Проблема в том что она не работает, а именно страничка перегружает сама себя каждые 2 секунды, не пойму в чем дело - посмотрел в спецификации html, там все так же... может кто знает в чем дело..
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GREA



Зарегистрирован: 14.05.2003
Сообщения: 758
Откуда: Новосибирск

СообщениеДобавлено: Ср Июн 16 2004 09:07    Заголовок сообщения: Ответить с цитатой

Если ты будешь переходить на страничку с рефрешем (допустим, та же самая), ты в URL должен методом GET передать некий флаг, что функцию перехода вызывать не надо. Таким образом, ты перейдешь только один раз.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Malcolm



Зарегистрирован: 12.06.2004
Сообщения: 187
Откуда: Хабаровск

СообщениеДобавлено: Ср Июн 16 2004 11:06    Заголовок сообщения: Ответить с цитатой

Так переходит то на совершенно другую страничку, а не на ту же самую с другими параметрами!
если вызывать так:

Redirect("rembler.ru","нажми сюда","Подожди, или ");

то должна появиться страничка с тектом и ссылкой на Рамблер, и перенаправлением на него, но вместо перенапрвления на него она перегружает сама себя!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Хома



Зарегистрирован: 26.08.2003
Сообщения: 109
Откуда: Москва

СообщениеДобавлено: Ср Июн 16 2004 11:10    Заголовок сообщения: Ответить с цитатой

Потомучто не указываешь протокол.
есть: Redirect("rembler.ru","нажми сюда","Подожди, или ");
попробуй: Redirect("http://rembler.ru","нажми сюда","Подожди, или ");
_________________
Тише едешь, не успеешь
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Astaroth



Зарегистрирован: 17.05.2004
Сообщения: 453
Откуда: Питер

СообщениеДобавлено: Ср Июн 16 2004 11:35    Заголовок сообщения: Ответить с цитатой

насчет авторизации через куки - куки могут быть и отключены. простейший алгоритм таков - при первом заходе регистрируешь логин и пасс. пасс жмешь md5(), и хэш полученный на выходе ложишь в файл. при повторном заходе пользака снова просишь пасс, снова жмешь md5() и сравниваешь с тем, что уже лежит в файле. если две белеберды совпали - пользак уже зареган, можно пускать. если нет - шлешь в регистратуру, пусть региться. даже если файл паролей скомуниздят - не беда, там только хэши, а их обратно не раскодить. примерно так.
_________________
Не очеловечивайте компы - они этого не любят!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Malcolm



Зарегистрирован: 12.06.2004
Сообщения: 187
Откуда: Хабаровск

СообщениеДобавлено: Ср Июн 16 2004 12:00    Заголовок сообщения: Ответить с цитатой

Я через МД5 и делал, не лох какой-то Smile
Но все равно через куки оставлю... так попроще будет - ведь есть кнопка "Выход", пусть жмут если кто-то печется о надуманной безопасности!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Malcolm



Зарегистрирован: 12.06.2004
Сообщения: 187
Откуда: Хабаровск

СообщениеДобавлено: Ср Июн 16 2004 12:07    Заголовок сообщения: Ответить с цитатой

Хома писал(а):
Потомучто не указываешь протокол.
есть: Redirect("rembler.ru","нажми сюда","Подожди, или ");
попробуй: Redirect("http://rembler.ru","нажми сюда","Подожди, или ");


Все равно не пашет....

А может енто потому что я в Денвере тестирую...??
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GREA



Зарегистрирован: 14.05.2003
Сообщения: 758
Откуда: Новосибирск

СообщениеДобавлено: Ср Июн 16 2004 12:17    Заголовок сообщения: Ответить с цитатой

Если уж печься о надуманной безопасности, то мд5 не дает стопроцентной защиты. Есть специальные словари, которые каждому английскому слову сопоставляют хеш md5. Так что, если ты делаешь веб-интерфейс для какого-нить банка (Smile), то можно перед md5 хешить пароль своим способом (например, просто переворачивать слово и добалять какую-нить добавку: mypassword->drowssapym314159265358->md5)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Astaroth



Зарегистрирован: 17.05.2004
Сообщения: 453
Откуда: Питер

СообщениеДобавлено: Ср Июн 16 2004 12:43    Заголовок сообщения: Ответить с цитатой

это фигня! я вот как архив защищал - в тело .zip файла в текстовом редакторе писал что-нибудь типа WINMUSTDIE, и аллес! Контрольная сумма не совпадает Very Happy А стоит удалить мусор, и все круто Very Happy
_________________
Не очеловечивайте компы - они этого не любят!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GREA



Зарегистрирован: 14.05.2003
Сообщения: 758
Откуда: Новосибирск

СообщениеДобавлено: Ср Июн 16 2004 19:07    Заголовок сообщения: Ответить с цитатой

Я полагаю, ты хотел сказать "Hex-редактором"? ( не блокнотом же, в конце концов:)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Astaroth



Зарегистрирован: 17.05.2004
Сообщения: 453
Откуда: Питер

СообщениеДобавлено: Чт Июн 17 2004 09:08    Заголовок сообщения: Ответить с цитатой

GREA писал(а):
Я полагаю, ты хотел сказать "Hex-редактором"? ( не блокнотом же, в конце концовSmile


Хе... а на самом деле почему нет?
_________________
Не очеловечивайте компы - они этого не любят!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GREA



Зарегистрирован: 14.05.2003
Сообщения: 758
Откуда: Новосибирск

СообщениеДобавлено: Чт Июн 17 2004 11:53    Заголовок сообщения: Ответить с цитатой

Блокнот конвертит символ NULL (00h) в 20h.
По крайней мере под 98 окошком.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Malcolm



Зарегистрирован: 12.06.2004
Сообщения: 187
Откуда: Хабаровск

СообщениеДобавлено: Чт Июн 17 2004 21:54    Заголовок сообщения: Ответить с цитатой

Конечно очень интересно как защищать архивы с помощью новейшего многофункционального редактора NotePad(он же Блокнот), но все же хочется узнать почему не работает Redirect() - уверен что на форуме есть знающие люди, которые помогут...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...