Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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 |
|
Вернуться к началу |
|
|
Malcolm
Зарегистрирован: 12.06.2004 Сообщения: 187 Откуда: Хабаровск
|
Добавлено: Пн Июн 14 2004 00:43 Заголовок сообщения: |
|
|
Ну это я PHP знаю неделю... а до этого писал и на Pascal/Delphi и Cpp, и, конечно, Basic. Последний мне больше всего не нравится.. а самый хороший - Си. Так что осваивать новые языки мне достаточно легко!
Пока я ждал тут ответа, все же придумал как сделать авторизацию через Куки - работает отлично! А начет сессий - я вот не понял как они работают (в смысле что делает сам комп, при вызове всех этих функций), а главное непонятно, когда эти самые сессии закрываются -ведь если они открываются, то должны и закрываться!
Редирект мне нужен, когда часть страницы уже загружена, а на сколько я знаю Мету можно отправлять только если еще ничего не загружено. Мне нужно вот что - Появляется страничка с каким-нибудь сообщением, и через несколько секунд загружается другая (на форумах так часто делается) |
|
Вернуться к началу |
|
|
Родион
Зарегистрирован: 18.01.2004 Сообщения: 183
|
Добавлено: Пн Июн 14 2004 10:05 Заголовок сообщения: |
|
|
Да! Да! Да!
И я токого мнения- Си решает!!!
А тяжело в любом случае, потомучто у любого языка есть свои функции, методы, возможности , которые узнаешь постепенно.
А с сесисей ты прав , она закрывается по выходу юзера,
здесь все через сессии организованно, я имею в виду форум PhPBB.
Тебе точно мета нужен, и опять в 20 раз говорю, я не дома, и не на работе,а всех функаций я наиз-ть не помню, если сам не найдеш, то попозже скажу, но я тебя уверяю, что это через мета!! _________________ RTFM |
|
Вернуться к началу |
|
|
Родион
Зарегистрирован: 18.01.2004 Сообщения: 183
|
Добавлено: Пн Июн 14 2004 10:14 Заголовок сообщения: |
|
|
<meta HTTP-EQUIV="Refresh" content="30; URL=http://rambler.ru"> После указанного времени браузер перейдет на адрес.
А если тебе надо чтоб вся страница загрузилатсь, то тут яваскрипт нужен. _________________ RTFM |
|
Вернуться к началу |
|
|
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","нажми сюда","Подожди, или "); _________________ Тише едешь, не успеешь |
|
Вернуться к началу |
|
|
Astaroth
Зарегистрирован: 17.05.2004 Сообщения: 453 Откуда: Питер
|
Добавлено: Ср Июн 16 2004 11:35 Заголовок сообщения: |
|
|
насчет авторизации через куки - куки могут быть и отключены. простейший алгоритм таков - при первом заходе регистрируешь логин и пасс. пасс жмешь md5(), и хэш полученный на выходе ложишь в файл. при повторном заходе пользака снова просишь пасс, снова жмешь md5() и сравниваешь с тем, что уже лежит в файле. если две белеберды совпали - пользак уже зареган, можно пускать. если нет - шлешь в регистратуру, пусть региться. даже если файл паролей скомуниздят - не беда, там только хэши, а их обратно не раскодить. примерно так. _________________ Не очеловечивайте компы - они этого не любят! |
|
Вернуться к началу |
|
|
Malcolm
Зарегистрирован: 12.06.2004 Сообщения: 187 Откуда: Хабаровск
|
Добавлено: Ср Июн 16 2004 12:00 Заголовок сообщения: |
|
|
Я через МД5 и делал, не лох какой-то
Но все равно через куки оставлю... так попроще будет - ведь есть кнопка "Выход", пусть жмут если кто-то печется о надуманной безопасности! |
|
Вернуться к началу |
|
|
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. Так что, если ты делаешь веб-интерфейс для какого-нить банка (), то можно перед md5 хешить пароль своим способом (например, просто переворачивать слово и добалять какую-нить добавку: mypassword->drowssapym314159265358->md5) |
|
Вернуться к началу |
|
|
Astaroth
Зарегистрирован: 17.05.2004 Сообщения: 453 Откуда: Питер
|
Добавлено: Ср Июн 16 2004 12:43 Заголовок сообщения: |
|
|
это фигня! я вот как архив защищал - в тело .zip файла в текстовом редакторе писал что-нибудь типа WINMUSTDIE, и аллес! Контрольная сумма не совпадает А стоит удалить мусор, и все круто _________________ Не очеловечивайте компы - они этого не любят! |
|
Вернуться к началу |
|
|
GREA
Зарегистрирован: 14.05.2003 Сообщения: 758 Откуда: Новосибирск
|
Добавлено: Ср Июн 16 2004 19:07 Заголовок сообщения: |
|
|
Я полагаю, ты хотел сказать "Hex-редактором"? ( не блокнотом же, в конце концов:) |
|
Вернуться к началу |
|
|
Astaroth
Зарегистрирован: 17.05.2004 Сообщения: 453 Откуда: Питер
|
Добавлено: Чт Июн 17 2004 09:08 Заголовок сообщения: |
|
|
GREA писал(а): | Я полагаю, ты хотел сказать "Hex-редактором"? ( не блокнотом же, в конце концов |
Хе... а на самом деле почему нет? _________________ Не очеловечивайте компы - они этого не любят! |
|
Вернуться к началу |
|
|
GREA
Зарегистрирован: 14.05.2003 Сообщения: 758 Откуда: Новосибирск
|
Добавлено: Чт Июн 17 2004 11:53 Заголовок сообщения: |
|
|
Блокнот конвертит символ NULL (00h) в 20h.
По крайней мере под 98 окошком. |
|
Вернуться к началу |
|
|
Malcolm
Зарегистрирован: 12.06.2004 Сообщения: 187 Откуда: Хабаровск
|
Добавлено: Чт Июн 17 2004 21:54 Заголовок сообщения: |
|
|
Конечно очень интересно как защищать архивы с помощью новейшего многофункционального редактора NotePad(он же Блокнот), но все же хочется узнать почему не работает Redirect() - уверен что на форуме есть знающие люди, которые помогут... |
|
Вернуться к началу |
|
|
|