Авторизация на сайте + связь регистрации с авторизацией

Форум для авторов модов для phpBB 2.0.x.
Аватара пользователя
YogSagot
phpBB 1.4.3
Сообщения: 98
Зарегистрирован: 15.04.2006 0:41
Откуда: Латвия, г.Даугавпилс
Контактная информация:

Сообщение YogSagot » 05.11.2006 18:08

Boss_ak писал(а):Fatal error: Cannot redeclare class template in D:\sait\forums\includes\template.php on line 30
Как-то не так вы, видимо, делали. Почему у вас дважды подключаеться файл common.php, это я вас должен спросить.

Аватара пользователя
OkisL
phpBB 1.2.0
Сообщения: 15
Зарегистрирован: 19.09.2006 15:25

Сообщение OkisL » 12.11.2006 17:43

Помогите, пожалуйста. Ув. YogSagot Ваш скрипт
Код:
<?php
define('IN_PHPBB', true);
$phpbb_root_path = 'phpbb/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
if (!$userdata['session_logged_in'])
{
print '<form action="'.append_sid($phpbb_root_path.'login.'.$phpEx).'" method="post">';
print 'Login: <input name="username" type="text" value=""><br />';
print 'Password: <input name="password" type="password" value=""><br />';
print 'Autologin: <input name="autologin" type="checkbox" value="ON">';
print '<input name="redirect" type="hidden" value="../index.php">';
print '<input name="login" type="submit" value="Send">';
print '</form>';
}
else
{
print 'Hallo, '.$userdata['username'].'<br />';
print '<a href="'.$phpbb_root_path.'login.'.$phpEx.'?logout=true&sid='.$userdata['session_id'].'&redirect=../index.php">Logout</a>';
}
?>
работает, но когдя пользователь не вошёл ещё, выскакивает:

Warning: Cannot modify header information - headers already sent by (output started at x:\home\my-site.ru\www\avtor.php:4) in x:\home\my-site.ru\www\forum\includes\sessions.php on line 254

Warning: Cannot modify header information - headers already sent by (output started at x:\home\my-site.ru\www\avtor.php:4) in x:\home\my-site.ru\www\forum\includes\sessions.php on line 255

А ниже нормальные окна для логина и пароля.

avtor.php в корне сайта - это страница для редиректа

Второй вопрос, как выводить аватару одновременно с именем пользователя?

Третий вопрос. Как сделать так, чтобы при ошибочном пароле я попадал не на форум, а на всё тот же avtor.php? Я имею ввиду авторизацию на сайте а не на форуме.

Всё делаю на виртуальном сервере Денвер.

Sver4koff
phpBB 1.4.0
Сообщения: 31
Зарегистрирован: 02.11.2006 4:22

Сообщение Sver4koff » 17.11.2006 2:10

помести весь код, который находиться до "End session management" в начало страницы и ошибки выскакивать не будут

ADSoft
phpBB 1.0.0
Сообщения: 9
Зарегистрирован: 06.01.2007 10:48
Контактная информация:

Сообщение ADSoft » 06.01.2007 10:54

Уважаемые, простите за неграмотность...как бы данный скрипт переделать так.. чтобы не было форм ?
то есть есть например на моем сайте переменные

Код: Выделить всё

$username = 'aaa';
$password = 'bbb';
как с их помощью авторизироваться на форуме например по ссылке?
да, да... я такой.... зато живой!

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14475
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 346 раз
Поблагодарили: 1543 раза
Контактная информация:

Сообщение rxu » 06.01.2007 11:00

ADSoft
Если конспективно, то передавать пароль в формате MD5 и редактировать login.php.
Или Вам готовое нужно?
Изображение

ADSoft
phpBB 1.0.0
Сообщения: 9
Зарегистрирован: 06.01.2007 10:48
Контактная информация:

Сообщение ADSoft » 06.01.2007 11:07

мд5 - не проблемм.... вопрос как передавать!
и в чем редактировать логин? если есть готовое и не жалко - я бы посмотрел
да, да... я такой.... зато живой!

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14475
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 346 раз
Поблагодарили: 1543 раза
Контактная информация:

Сообщение rxu » 06.01.2007 12:11

Нет, готового нет. А не боитесь (сколько уже раз обсуждалось!) передавать пароль открыто, по ссылке?

Добавлено спустя 7 минут 12 секунд:

А в принципе, Ваш выбор :)
Смысл такой. Заходите в login.php, находите:

Код: Выделить всё

		$username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
		$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';
Заменяете на

Код: Выделить всё

		$username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : isset($HTTP_GET_VARS['username']) ? phpbb_clean_username($HTTP_GET_VARS['username']) : '';
		$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : isset($HTTP_GET_VARS['password']) ? $HTTP_GET_VARS['password'] : '';
После этого можно авторизоваться по ссылке типа
http://localhost/login.php?login=1&user ... ssword=222
Изображение

ADSoft
phpBB 1.0.0
Сообщения: 9
Зарегистрирован: 06.01.2007 10:48
Контактная информация:

Сообщение ADSoft » 06.01.2007 14:34

rxu писал(а):Нет, готового нет. А не боитесь (сколько уже раз обсуждалось!) передавать пароль открыто, по ссылке?

...
После этого можно авторизоваться по ссылке типа
http://localhost/login.php?login=1&user ... ssword=222
а каков безопасный вариант? пусть не по ссылке... но без формы? и с отключеными куки...

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14475
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 346 раз
Поблагодарили: 1543 раза
Контактная информация:

Сообщение rxu » 06.01.2007 15:26

ADSoft
Вы хоть поясните условие задачи. Что требуется получить?
Изображение

ADSoft
phpBB 1.0.0
Сообщения: 9
Зарегистрирован: 06.01.2007 10:48
Контактная информация:

Сообщение ADSoft » 06.01.2007 15:46

rxu писал(а):ADSoft
Вы хоть поясните условие задачи. Что требуется получить?
Есть сайт на CMS ... вопрос совместной регистрации решил...
теперь хочется так - если чел зарегился на сайте и в данный момент аутентифицирован системой.... то при нажатии например на ссылку Форум - переходит на phpBB и там уже тоже залогинен и свободно общается..... вот
кроме как передачей в ссылке простого способа не вижу....

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14475
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 346 раз
Поблагодарили: 1543 раза
Контактная информация:

Сообщение rxu » 06.01.2007 16:09

Если без ссылки и без формы, тогда, видимо, придётся портировать на главную страницу сайта часть кода из login.php, связанную с созданием форумной сессии (session_begin), с подключением ряда файлов пакета phpBB (т.е. include extension.inc, common.php).
Изображение

ADSoft
phpBB 1.0.0
Сообщения: 9
Зарегистрирован: 06.01.2007 10:48
Контактная информация:

Сообщение ADSoft » 06.01.2007 23:56

ладна... спасиба... буду думать[/list]

Добавлено спустя 7 часов 38 минут 27 секунд:

нда.. думать - видимо не мой конек... :D

1. Переделал как было продложено, по ссылке типа .... не заходит ... грит типа нету такого пользователя/пароля вот

2. Что значить портировать и что именно?
мне бы смысл авторизациии догнать ....
да, да... я такой.... зато живой!

wce
phpBB 1.2.1
Сообщения: 20
Зарегистрирован: 10.02.2006 15:50

Сообщение wce » 09.01.2007 18:59

phpbb 2.0.21.

сделал проверку логина юзера по мануалу. без append_sid. открываю скрипт в браузере: извините вы не вошли на форуме. залогиньтесь на форуме и возвращайтесь. и пишет логин снизу текущий: anonymous.

мой код:

Код: Выделить всё

<?php

define('IN_PHPBB', true);
$phpbb_root_path = '../forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);

if( $userdata['session_logged_in'] ) {
    [здесь у меня еще пару конструкций if else]
}
else {
    [сообщение о том что не залогинился на форуме]
}
то есть проверка на логин, я так понимаю, проходит, но потом почему отфутболивает.

если поставить if( !$userdata['session_logged_in'] ) { - открывает мою оболочку но проверка на логин не производится я так понимаю.

где грабли?

wce
phpBB 1.2.1
Сообщения: 20
Зарегистрирован: 10.02.2006 15:50

Сообщение wce » 10.01.2007 19:42

добавка к своему посту выше:
перемещаю свой скрипт из внешней папки в папку форума - проверка авторизации работает как часы. даже ник мой показывает. перемещаю обратно во внешнюю папку - опять не работает.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14475
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 346 раз
Поблагодарили: 1543 раза
Контактная информация:

Сообщение rxu » 10.01.2007 19:53

wce
Может, с $phpbb_root_path что-то напутали?
Изображение

Закрыто

Вернуться в «Для авторов (phpBB 2.0.x)»