|
|
|
| Здравствуйте.. скажу сразу я новичок в php, но взялся писать проект... суть состоит в сайте+форуме( тематика не важна). И у меня возникло множество проблем(естественно)))) Хотелось бы разобрать их поочерёдно(начну с первой)
Т к это сайт + форум, то я решил, что БД у них будет одна... Я скачал форум phpbb.. то есть подстраиваться надо именно под этот форум и под ту бд которую он создал при установке...
И вот самая главная проблема... при регистрации на форуме пароль шифруется с помощью функции md5() ... при авторизации на сайте я не могу войти т к не знаю как дешифровать пароль с форума...
Если же входить с пользователя(которого заметте форум видит) регистрированного на сайте то пароль не распознается...
НО! при использования администрирования форума он пользователя видит, но при совершении над пользователем функций он говорит ИЗВИНИТЕ НО ПОЛЬЗОВАТЕЛЬ НЕ СУЩЕСТВУЕТ... я думаю, что это из-за того, что некоторые ячейки в БД после регистрации остаются пустыми... хотелось бы для начала решить эту важную проблему... | |
|
|
|
|
|
|
|
для: $Constantine
(06.06.2005 в 12:10)
| | md5 невозможно расшифровать, так как этот алгоритм осуществляет необратимое шифрование, обычно пароль не расшифровывают, а зашифровывают поступивший от пользователя и сравнивают хэши, которые возвращается md5(). Такой подход позволяет скрыть пароль ото всех, включая администратора форума. | |
|
|
|
|
|
|
|
для: cheops
(06.06.2005 в 12:32)
| | это я заметил... а каким образом это происходит.. должен же я авторизироваться на сайте если регался на форуме и наоборот... Я так понимаю что нужно отредактировать
1) код регистрации
2) код авторизации
Мои были основаны на тех что описывались на вашем форуме... хотя если нужно я здесь их выдам | |
|
|
|
|
|
|
|
для: $Constantine
(06.06.2005 в 12:35)
| | Схема авторизации примерно следующая: приходит посетитель, вводит своё имя, пароль. Пароль прогоняется через функцию md5(), а дальше происходит сравнение введённого имени с именами из базы данных, если имя найдено - сравниваются результат функции md5() и зашифрованный пароль в базе данных. | |
|
|
|
|
|
|
|
для: cheops
(06.06.2005 в 12:41)
| | так с этим спасибо... попробую дома на сервере...
2) я хочу, чтобы не было доступа к файлам login.php и reg_new.php из адресной строки...
делаю я это следующим образом: в индексе.пхп я вкладываю такой код:
define('IN_ADMIN', true);
|
В эти два
if ( !defined('IN_ADMIN') )
{
die("КУДА ПОЛЕЗ?!?!?!")};
|
Но заходя с индекса мне все равно выводит сообщения под die | |
|
|
|
|
|
|
|
для: $Constantine
(06.06.2005 в 12:52)
| | В этом случае нужно не направлять на отдельно стоящую страницу, а включать эти файлы в index.php при помощи конструкции include
<?php
include "login.php";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(06.06.2005 в 13:13)
| | Извините, но я не понял... можно поподробне...
да кстати с регистрацией я решил... теперь об авторизации... она проходит...
но как например на стр index.php вместо поля введения имени и пароля было Здравствуйте, <пользователь>!
у меня два header - один с формой, другой без... какое нужно поставить условие в индексе, чтобы выводилось или то или то... | |
|
|
|
|
|
|
|
для: $Constantine
(07.06.2005 в 10:47)
| | Смысл в том, чтобы обращаться можно было только к странице index.php, которая включает по условию if в себя другие страницы, например
[code]<?php
include "login.php";
?>[code]
Если констаната будет определена только в index.php, воспользоваться напрямую другими файлами не получиться. Про header не очень понял - было бы хорошо увидить кусок поясняющего кода. | |
|
|
|