Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Как авторизироваться из вне

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
vitalekmail
phpBB 1.0.0
Сообщения: 9
Стаж: 8 лет 2 месяца

Re: Как авторизироваться из вне

Сообщение vitalekmail »

Застрял на следующем: после авторизации заходя на форум юзер получает новые куки т.е. форум не определяет юзера как того самого кто только что авторизовался. При этом на форуме отмечено что онлайн зарегистрированный пользователь и гость. По каким критериям форум определяет юзера?
Аватара пользователя
Real_Haron
phpBB 1.2.1
Сообщения: 22
Стаж: 8 лет 2 месяца
Благодарил (а): 2 раза

Re: Как авторизироваться из вне

Сообщение Real_Haron »

vitalekmail писал(а): Когда пользователь авторизируется, что и где отмечается в базе? Можно ли сделать авторизацию напрямую работая с базой данных?
В общем случае поднимается новая сессия, в которой устанавливается session_user_id равный user_id нужного пользователя.
Однако, не зазорно просто взять и изменить session_user_id на нужный вам user_id на текущей анонимной сессии. Так проще.

Можно конечно прямо базу дёрнуть для этого, но это некрасиво. Можно так:

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

$user -> update_session(['session_user_id' => $user_id]);
vitalekmail
phpBB 1.0.0
Сообщения: 9
Стаж: 8 лет 2 месяца

Re: Как авторизироваться из вне

Сообщение vitalekmail »

Сессия как я понимаю у меня создается

Ещё раз опишу как я пытаюсь авторизоваться

1) На сайте ввожу мыло и пароль (на форуме авторизация по мылу работает проверенно). Куки на старте такие:

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

.site.ru	TRUE	/	FALSE	1458364616	currency	RUB
.site.ru	TRUE	/	FALSE	1458364616	language	ru
site.ru	FALSE	/	FALSE	PHPSESSID	a084578558c51e027806da0014deaec2
2) Авторизируясь скрипт вытягивает куки из такого ответа

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

41a4
<!DOCTYPE html>
<html dir="ltr" lang="ru">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />

<title>site.ru - Главная страница</title>

	<link rel="alternate" type="application/atom+xml" title="Канал - site.ru" href="/forum/app.php/feed">			<link rel="alternate" type="application/atom+xml" title="Канал - Новые темы" href="/forum/app.php/feed/topics">				

<!--
	phpBB style name: prosilver
	Based on style:   prosilver (this is the default phpBB3 style)
	Original author:  Tom Beddard ( http://www.subBlue.com/ )
	Modified by:
-->

<link href="./assets/css/font-awesome.min.css?assets_version=2" rel="stylesheet">
<link href="./styles/prosilver/theme/stylesheet.css?assets_version=2" rel="stylesheet">
<link href="./styles/prosilver/theme/ru/stylesheet.css?assets_version=2" rel="stylesheet">



<!--[if lte IE 9]>
	<link href="./styles/prosilver/theme/tweaks.css?assets_version=2" rel="stylesheet">
<![endif]-->





</head>
<body id="phpbb" class="nojs notouch section-index ltr ">


<div id="wrap" class="wrap">
	<a id="top" class="top-anchor" accesskey="t"></a>
	<div id="page-header">
		<div class="headerbar" role="banner">
			<div class="inner">

			<div id="site-description" class="site-description">
				<a id="logo" class="logo" href="./index.php" title="Список форумов"><span class="site_logo"></span></a>
				<h1>site.ru</h1>
				<p>forum</p>
				<p class="skiplink"><a href="#start_here">Пропустить</a></p>
			</div>

									<div id="search-box" class="search-box search-header" role="search">
				<form action="./search.php" method="get" id="search">
				<fieldset>
					<input name="keywords" id="keywords" type="search" maxlength="128" title="Ключевые слова" class="inputbox search tiny" size="20" value="" placeholder="Поиск…" />
					<button class="button button-search" type="submit" title="Поиск">
						<i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">Поиск</span>
					</button>
					<a href="./search.php" class="button button-search-end" title="Расширенный поиск">
						<i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">Расширенный поиск</span>
					</a>
					
				</fieldset>
				</form>
			</div>
			
			</div>
		</div>
				<div class="navbar" role="navigation">
	<div class="inner">

	<ul id="nav-main" class="nav-main linklist" role="menubar">

		<li id="quick-links" class="quick-links dropdown-container responsive-menu" data-skip-responsive="true">
			<a href="#" class="dropdown-trigger">
				<i class="icon fa-bars fa-fw" aria-hidden="true"></i><span>Ссылки</span>
			</a>
			<div class="dropdown">
				<div class="pointer"><div class="pointer-inner"></div></div>
				<ul class="dropdown-contents" role="menu">
					
											<li class="separator"></li>
													<li>
								<a href="./search.php?search_id=egosearch" role="menuitem">
									<i class="icon fa-file-o fa-fw icon-gray" aria-hidden="true"></i><span>Ваши сообщения</span>
								</a>
							</li>
																			<li>
								<a href="./search.php?search_id=newposts" role="menuitem">
									<i class="icon fa-file-o fa-fw icon-red" aria-hidden="true"></i><span>Новые сообщения</span>
								</a>
							</li>
												 
							<li>
								<a href="./search.php?search_id=unreadposts" role="menuitem">
									<i class="icon fa-file-o fa-fw icon-red" aria-hidden="true"></i><span>Непрочитанные сообщения</span>
								</a>
							</li>
													<li>
								<a href="./search.php?search_id=unanswered" role="menuitem">
									<i class="icon fa-file-o fa-fw icon-gray" aria-hidden="true"></i><span>Сообщения без ответов</span>
								</a>
							</li>
							<li>
								<a href="./search.php?search_id=active_topics" role="menuitem">
									<i class="icon fa-file-o fa-fw icon-blue" aria-hidden="true"></i><span>Активные темы</span>
								</a>
							</li>
							<li class="separator"></li>
							<li>
								<a href="./search.php" role="menuitem">
									<i class="icon fa-search fa-fw" aria-hidden="true"></i><span>Поиск</span>
								</a>
							</li>
					
											<li class="separator"></li>
													<li>
								<a href="./memberlist.php" role="menuitem">
									<i class="icon fa-group fa-fw" aria-hidden="true"></i><span>Пользователи</span>
								</a>
							</li>
																			<li>
								<a href="./memberlist.php?mode=team" role="menuitem">
									<i class="icon fa-shield fa-fw" aria-hidden="true"></i><span>Наша команда</span>
								</a>
							</li>
																<li class="separator"></li>

									</ul>
			</div>
		</li>

				<li data-last-responsive="true">
			<a href="/forum/app.php/help/faq" rel="help" title="Часто задаваемые вопросы" role="menuitem">
				<i class="icon fa-question-circle fa-fw" aria-hidden="true"></i><span>FAQ</span>
			</a>
		</li>
							<li data-last-responsive="true">
				<a href="./adm/index.php?sid=fecaa500f9fb439279c3faba98947e0a" title="Администраторский раздел" role="menuitem">
					<i class="icon fa-cogs fa-fw" aria-hidden="true"></i><span>Администрировать</span>
				</a>
			</li>
							<li data-last-responsive="true">
				<a href="./mcp.php?i=main&mode=front&sid=fecaa500f9fb439279c3faba98947e0a" title="Модераторский раздел" role="menuitem">
					<i class="icon fa-gavel fa-fw" aria-hidden="true"></i><span>Модерировать</span>
				</a>
			</li>
		
					<li id="username_logged_in" class="rightside " data-skip-responsive="true">
						<div class="header-profile dropdown-container">
				<a href="./ucp.php" class="header-avatar dropdown-trigger"> <span style="color: #AA0000;" class="username-coloured">admin</span></a>
				<div class="dropdown">
					<div class="pointer"><div class="pointer-inner"></div></div>
					<ul class="dropdown-contents" role="menu">
							
					
						<li>
							<a href="./ucp.php" title="Личный раздел" role="menuitem">
								<i class="icon fa-sliders fa-fw" aria-hidden="true"></i><span>Личный раздел</span>
							</a>
						</li>
						<li>
							<a href="./memberlist.php?mode=viewprofile&u=2" title="Профиль" role="menuitem">
								<i class="icon fa-user fa-fw" aria-hidden="true"></i><span>Профиль</span>
							</a>
						</li>
	
							
						<li class="separator"></li>
						<li>
							<a href="./ucp.php?mode=logout&sid=fecaa500f9fb439279c3faba98947e0a" title="Выход" accesskey="x" role="menuitem">
								<i class="icon fa-power-off fa-fw" aria-hidden="true"></i><span>Выход</span>
							</a>
						</li>
					</ul>
				</div>
			</div>
					</li>
					<li class="rightside" data-skip-responsive="true">
				<a href="./ucp.php?i=pm&folder=inbox" role="menuitem">
					<i class="icon fa-inbox fa-fw" aria-hidden="true"></i><span><span>Личные сообщения [</span><strong>0</strong><span>]</span></span>
				</a>
			</li>
							<li class="dropdown-container dropdown-right rightside" data-skip-responsive="true">
				<a href="./ucp.php?i=ucp_notifications" id="notification_list_button" class="dropdown-trigger">
					<i class="icon fa-bell fa-fw" aria-hidden="true"></i><span><span>Уведомления [</span><strong>0</strong><span>]</span></span>
				</a>
				<div id="notification_list" class="dropdown dropdown-extended notification_list">
	<div class="pointer"><div class="pointer-inner"></div></div>
	<div class="dropdown-contents">
		<div class="header">
			Уведомления
			<span class="header_settings">
				<a href="./ucp.php?i=ucp_notifications&mode=notification_options">Настройки</a>
							</span>
		</div>

		<ul>
							<li class="no_notifications">
					Нет уведомлений
				</li>
								</ul>

		<div class="footer">
			<a href="./ucp.php?i=ucp_notifications"><span>Показать все</span></a>
		</div>
	</div>
</div>
			</li>
						</ul>

	<ul id="nav-breadcrumbs" class="nav-breadcrumbs linklist navlinks" role="menubar">
						<li class="breadcrumbs">
										<span class="crumb"  itemtype="http://data-vocabulary.org/Breadcrumb" itemscope=""><a href="./index.php" accesskey="h" data-navbar-reference="index"><i class="icon fa-home fa-fw"></i><span>Список форумов</span></a></span>

								</li>
		
					<li class="rightside responsive-search">
				<a href="./search.php" title="Параметры расширенного поиска" role="menuitem">
					<i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">Поиск</span>
				</a>
			</li>
			</ul>

	</div>
</div>
	</div>

	
	<a id="start_here" class="anchor"></a>
	<div id="page-body" class="page-body" role="main">
		
		
<p class="right responsive-center time rightside">Предыдущее посещение: Ср фев 17, 2016 8:13 pm</p>
<p class="responsive-center time">Текущее время: Чт фев 18, 2016 9:17 am</p>
	<div class="action-bar compact">
		<a href="./index.php?hash=329535e3&mark=forums&mark_time=1455772667" class="mark-read rightside" accesskey="m" data-ajax="mark_forums_read">Отметить форумы как прочтённые</a>
	</div>


	
				<div class="forabg">
			<div class="inner">
			<ul class="topiclist">
				<li class="header">
										<dl class="row-item">
						<dt><div class="list-inner"><a href="./viewforum.php?f=1">Your first category</a></div></dt>
						<dd class="topics">Темы</dd>
						<dd class="posts">Сообщения</dd>
						<dd class="lastpost"><span>Последнее сообщение</span></dd>
					</dl>
									</li>
			</ul>
			<ul class="topiclist forums">
		
	
	
	
			
					<li class="row">
						<dl class="row-item forum_read">
				<dt title="Нет непрочитанных сообщений">
										<div class="list-inner">
													<!-- 
								<a class="feed-icon-forum" title="Канал - Your first forum" href="/forum/app.php/feed?f=2">
									<i class="icon fa-rss-square fa-fw icon-orange" aria-hidden="true"></i><span class="sr-only">Канал - Your first forum</span>
								</a> 
							-->
																		<a href="./viewforum.php?f=2" class="forumtitle">Your first forum</a>
						<br />Description of your first forum.												
												<div class="responsive-show" style="display: none;">
															Темы: <strong>1</strong>
													</div>
											</div>
				</dt>
									<dd class="topics">1 <dfn>Темы</dfn></dd>
					<dd class="posts">1 <dfn>Сообщения</dfn></dd>
					<dd class="lastpost">
						<span>
																						<dfn>Последнее сообщение</dfn>
																										<a href="./viewtopic.php?f=2&p=1#p1" title="Welcome to phpBB3" class="lastsubject">Welcome to phpBB3</a> <br />
								 
									 <a href="./memberlist.php?mode=viewprofile&u=2" style="color: #AA0000;" class="username-coloured">admin</a>
																	<a href="./viewtopic.php?f=2&p=1#p1" title="">
										<i class="icon fa-external-link-square fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only"></span>
									</a> 
																<br />Пт янв 22, 2016 8:16 pm
													</span>
					</dd>
							</dl>
					</li>
			
				</ul>

			</div>
		</div>
		




	<div class="stat-block online-list">
		<h3><a href="./viewonline.php">Кто сейчас на конференции</a></h3>		<p>
						Всего <strong>1</strong> посетитель :: 1 зарегистрированный, 0 скрытых и 0 гостей (основано на активности пользователей за последние 5 минут)<br />Больше всего посетителей (<strong>2</strong>) здесь было Ср фев 10, 2016 5:00 am<br /> <br />Зарегистрированные пользователи: <a href="./memberlist.php?mode=viewprofile&u=2" style="color: #AA0000;" class="username-coloured">admin</a>
			<br /><em>Легенда: <a style="color:#AA0000" href="./memberlist.php?mode=group&g=5">Администраторы</a>, <a style="color:#00AA00" href="./memberlist.php?mode=group&g=4">Супермодераторы</a></em>					</p>
	</div>

	<div class="stat-block birthday-list">
		<h3>Дни рождения</h3>
		<p>
						Сегодня нет дней рождения.					</p>
	</div>

	<div class="stat-block statistics">
		<h3>Статистика</h3>
		<p>
						Всего сообщений: <strong>1</strong> &bull; Всего тем: <strong>1</strong> &bull; Всего пользователей: <strong>1</strong> &bull; Новый пользователь: <strong><a href="./memberlist.php?mode=viewprofile&u=2" style="color: #AA0000;" class="username-coloured">admin</a></strong>
					</p>
	</div>


			</div>


<div id="page-footer" class="page-footer" role="contentinfo">
	<div class="navbar" role="navigation">
	<div class="inner">

	<ul id="nav-footer" class="nav-footer linklist" role="menubar">
		<li class="breadcrumbs">
									<span class="crumb">
				<a href="./index.php" data-navbar-reference="index">
					<i class="icon fa-home fa-fw" aria-hidden="true"></i><span>Список форумов</span>
				</a>
			</span>
					</li>
		
				<li class="rightside">Часовой пояс: <span title="Европа/Самара">UTC+04:00</span></li>
							<li class="rightside">
				<a href="./ucp.php?mode=delete_cookies" data-ajax="true" data-refresh="true" role="menuitem">
					<i class="icon fa-trash fa-fw" aria-hidden="true"></i><span>Удалить cookies конференции</span>
				</a>
			</li>
							<li class="rightside" data-last-responsive="true">
					<a href="./memberlist.php" title="Просмотр всего списка пользователей" role="menuitem">
						<i class="icon fa-group fa-fw" aria-hidden="true"></i><span>Пользователи</span>
					</a>
				</li>
												<li class="rightside" data-last-responsive="true">
				<a href="./memberlist.php?mode=team" role="menuitem">
					<i class="icon fa-shield fa-fw" aria-hidden="true"></i><span>Наша команда</span>
				</a>
			</li>
									<li class="rightside" data-last-responsive="true">
				<a href="./memberlist.php?mode=contactadmin" role="menuitem">
					<i class="icon fa-envelope fa-fw" aria-hidden="true"></i><span>Связаться с администрацией</span>
				</a>
			</li>
			</ul>

	</div>
</div>

	<div class="copyright">
				Создано на основе <a href="https://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Limited
		<br /><a href='http://www.phpbbguru.net/'>Русская поддержка phpBB</a>						<br /><strong><a href="./adm/index.php?sid=fecaa500f9fb439279c3faba98947e0a">Администраторский раздел</a></strong>	</div>

	<div id="darkenwrapper" class="darkenwrapper" data-ajax-error-title="Ошибка AJAX" data-ajax-error-text="При обработке запроса произошла ошибка." data-ajax-error-text-abort="Запрос прерван пользователем." data-ajax-error-text-timeout="Время запроса истекло; повторите попытку." data-ajax-error-text-parsererror="При выполнении запроса возникла непредвиденная ошибка, и сервер вернул неверный ответ.">
		<div id="darken" class="darken">&nbsp;</div>
	</div>

	<div id="phpbb_alert" class="phpbb_alert" data-l-err="Ошибка" data-l-timeout-processing-req="Время выполнения запроса истекло.">
		<a href="#" class="alert_close">
			<i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
		</a>
		<h3 class="alert_title">&nbsp;</h3><p class="alert_text"></p>
	</div>
	<div id="phpbb_confirm" class="phpbb_alert">
		<a href="#" class="alert_close">
			<i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
		</a>
		<div class="alert_text"></div>
	</div>
</div>

</div>

<div>
	<a id="bottom" class="anchor" accesskey="z"></a>
	</div>

<script type="text/javascript" src="./assets/javascript/jquery.min.js?assets_version=2"></script>
<script type="text/javascript" src="./assets/javascript/core.js?assets_version=2"></script>


<script type="text/javascript" src="./styles/prosilver/template/forum_fn.js?assets_version=2"></script>
<script type="text/javascript" src="./styles/prosilver/template/ajax.js?assets_version=2"></script>



</body>
</html>

0
т.е. скрипт отработал и пользователь как бы уже авторизирован

3) После выполнения авторизации на сайте я естественно авторизирован. Смотрю куки

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

.site.ru	TRUE	/	FALSE	1487308667	phpbb3_7no6i_sid	fecaa500f9fb439279c3faba98947e0a
.site.ru	TRUE	/	FALSE	1487308667	phpbb3_7no6i_u	2
.site.ru	TRUE	/	FALSE	1487308667	currency	RUB
.site.ru	TRUE	/	FALSE	1487308667	language	ru
.site.ru	TRUE	/	FALSE	1487308667	PHPSESSID	a084578558c51e027806da0014deaec2
site.ru	FALSE	/	FALSE	PHPSESSID	a084578558c51e027806da0014deaec2
Проверяю phpbb_session:

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

fecaa500f9fb439279c3faba98947e0a 	2 	1455725598 	1455772667 	1455772667 	5.101.152.101 	Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.... 		index.php 	1 	0 	0 	0
4) Проверяю авторизацию на форуме. Ввожу в адресную строку http://site.ru/forum
Вижу что я не авторизован на форуме. Проверяю куки:

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

.site.ru	TRUE	/	FALSE	1487308667	phpbb3_7no6i_sid	fecaa500f9fb439279c3faba98947e0a
.site.ru	TRUE	/	FALSE	1487308667	phpbb3_7no6i_u	2
.site.ru	TRUE	/	FALSE	1487308667	currency	RUB
.site.ru	TRUE	/	FALSE	1487308667	language	ru
.site.ru	TRUE	/	FALSE	1487308667	PHPSESSID	a084578558c51e027806da0014deaec2
site.ru	FALSE	/	FALSE	1487308911	phpbb3_7no6i_sid	11c1b9445bdd43732715a6a44648c4af
site.ru	FALSE	/	FALSE	1487308911	phpbb3_7no6i_k	
site.ru	FALSE	/	FALSE	1487308911	phpbb3_7no6i_u	1
site.ru	FALSE	/	FALSE	PHPSESSID	a084578558c51e027806da0014deaec2
Проверяю phpbb_session:

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

11c1b9445bdd43732715a6a44648c4af 	1 	1455772911 	1455772911 	1455772911 	92.241.221.34 	Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:44.0) G... 		index.php 	1 	0 	0 	0
	
	fecaa500f9fb439279c3faba98947e0a 	2 	1455725598 	1455772667 	1455772667 	5.101.152.101 	Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.... 		index.php 	1 	0 	0 	0
Добавились три куки и новая сессия. Почему?
Смотрю сейчас в сессии ip разные и user-agent может быть из-за этого?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Как авторизироваться из вне

Сообщение rxu »

Что в настройках куки на форуме? Попробуйте поставить путь куки от корня сайта, если оттуда авторизация идет.
Изображение
vitalekmail
phpBB 1.0.0
Сообщения: 9
Стаж: 8 лет 2 месяца

Re: Как авторизироваться из вне

Сообщение vitalekmail »

Установлено так
Путь cookie: /

Вернуться в «Для разработчиков»