Как вывисти авторизацию на другие страницы сайта - Страница 3 - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

api

  • 4 Страниц +
  • 1
  • 2
  • 3
  • 4

Как вывисти авторизацию на другие страницы сайта

#31 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 288
  • Регистрация: 20-Март 09
  • Репутация: 2 085
  • IPB version:3.1.x
 

Отправлено 16 Октябрь 2013 - 16:28

Просмотреть сообщениеJ.Daniels сказал(а):

Но она работает только если находится либо в корневом, либо непосредственно в /forum/. Это решаемо? (пишет страница не найдена)

define('IPS_ENFORCE_ACCESS', true); перед подключением api
0

#32 Пользователь не на сайте   zyv4yk ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 5
  • Регистрация: 13-Декабрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 13 Декабрь 2014 - 23:06

Просмотреть сообщениеsiv1987 15 Октябрь 2013 - 21:46 сказал(а):

В 3.4 в api
$this->request['username']
заменить на $this->request['ips_username']

$this->request['password']
заменить на $this->request['ips_password']


я конечно извиняюсь за подъем столь давней темы, но у меня проблема с этим api, на версии 3.4.6 , адаптировал логин, но вот выход не работает , может есть какой-то способ ?
0

#33 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 288
  • Регистрация: 20-Март 09
  • Репутация: 2 085
  • IPB version:3.1.x
 

Отправлено 14 Декабрь 2014 - 01:34

Что значит не работает? Как по вашему вам должны помочь, если вы не умеете эффективно сообщать о проблеме? Не работает - тогда обращайтесь к специалистом в соответствующем разделе. Это не настройка на форуме которую включили и она "не работает".
0

#34 Пользователь не на сайте   zyv4yk ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 5
  • Регистрация: 13-Декабрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 14 Декабрь 2014 - 11:26

siv1987, прошу прощения, вот более подробное описание проблемы
поставил api , взял ваш код
global $do;
if($_GET['do'] == 'logout')
{
    $ipbMemberLoginApi -> logout();
    echo('<html><head><meta http-equiv="refresh" content="1;url=test_forum.php"></head><body>Выход из системы</body><html>');
    exit;
}

при нажатии на кнопку выхода, страница перезагружается но пользователь остается залогинен
0

#35 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 288
  • Регистрация: 20-Март 09
  • Репутация: 2 085
  • IPB version:3.1.x
 

Отправлено 14 Декабрь 2014 - 13:09

Почитайте топик, возможно ваш случай http://ipbskins.ru/f...topic13324.html
Все равно вводных данных мало. А вообще, не вижу смысла в апи для человека не знакомый с основами программирования. Апи уже подрозумевает что вы разработчик, который хочет интегрировать свое приложение с форумом.
0

#36 Пользователь не на сайте   zyv4yk ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 5
  • Регистрация: 13-Декабрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 14 Декабрь 2014 - 13:14

в том то и дело что php я знаю, а вот разобраться с функциями форума составляет мелкие трудности (
спасибо за ссылку обязательно прочитаю
0

#37 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 288
  • Регистрация: 20-Март 09
  • Репутация: 2 085
  • IPB version:3.1.x
 

Отправлено 14 Декабрь 2014 - 13:25

Если вы знаете пхп, попробуйте сделать отладку. Основное предназначение logout это удаление кукисов и конвертации сессии пользователя. Для начала нужно проверить тем же апи если определяется пользователь, если нет - значит есть проблемы с видимостью cookie. Если юзер загрузился то выход тем более должен работать. У вас там объявлена глобальная переменная, значит код отрабатывает внутри какой-то функции. Проверьте переменные, условия и тд.
0

#38 Пользователь не на сайте   zyv4yk ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 5
  • Регистрация: 13-Декабрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 14 Декабрь 2014 - 14:35

разобрался в проблеме , отпишу в друг кому пригодиться

в самом апи надо поменять две строчки в функции logout
c
        IPSCookie::set( "member_id" , "0"  );
        IPSCookie::set( "pass_hash" , "0"  );
        IPSCookie::set( "anonlogin" , "-1" );

на
        IPSCookie::set( "member_id" , "0" , 1 , 0 , FALSE , TRUE );
        IPSCookie::set( "pass_hash" , "0" , 1 , 0 , FALSE , TRUE );
        IPSCookie::set( "anonlogin" , "-1" );

0

#39 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 288
  • Регистрация: 20-Март 09
  • Репутация: 2 085
  • IPB version:3.1.x
 

Отправлено 14 Декабрь 2014 - 17:03

* $local        bool        If false, will set a cookie on the entire domain
* $usePrefix    bool        If $local is false, controls if the cookie prefix should be used
*/
static public function set( $name, $value="", $sticky=1, $expires_x_days=0, $local=TRUE, $usePrefix=FALSE )


Поддомены? Указать глобальный домен для cookie не пробовали?

Цитата

Если $local false, куки будут устанавливаться на весь домен.

0

#40 Пользователь не на сайте   zyv4yk ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 5
  • Регистрация: 13-Декабрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 14 Декабрь 2014 - 17:10

ну решение которое я с кинул я вытянул прямо из файла где происходит выход из форума , проверил и все работает
да и меня висит 10 разных поддоменов и для половины нужны свои куки
0

#41 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 288
  • Регистрация: 20-Март 09
  • Репутация: 2 085
  • IPB version:3.1.x
 

Отправлено 14 Декабрь 2014 - 17:25

Просмотреть сообщениеzyv4yk сказал(а):

да и меня висит 10 разных поддоменов и для половины нужны свои куки

Логически правильно прописать глобальный домен в настройках cookie (в теме которая указана выше как раз об этом говорится). Это в последних версиях IPS почему-то начали в коде форсировано устанавливать глобальные cookie авторизации, а было как у нормальных людей. Ну, можете юзать и такой способ.
0

#42 Пользователь не на сайте   rtest ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 5
  • Регистрация: 17-Август 16
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 17 Август 2016 - 10:23

Подниму тему т.к. схожий вопрос, делаю форум с нуля, версия не так важна, поставил как локалхост 3.4.6, нужно сделать внешнюю страницу авторизации, допустим вот стандартная форма

Цитата

<form method="post" action="" class="login">
<p>
<label for="login">Логин:</label>
<input type="text" name="login" id="login" value="name@example.com">
</p>

<p>
<label for="password">Пароль:</label>
<input type="password" name="password" id="password" value="4815162342">
</p>

<p class="login-submit">
<button type="submit" class="login-button">Войти</button>
</p>

<p class="forgot-password"><a href="index.html">Забыл пароль?</a></p>
</form>

с ней css'ка еще идет, использовал api_member_login.php с первой страницы но не выходит у меня, нету опыта(
В идеале должно быть так - заходишь на сайт.ру, если куки с авторизацией есть, открывается сразу форум, если нет то логинформ просто, где ввел логин/пароль и попал на форум.
Я кладу файл в папку, в форме меняю экшн на путь к файлу, но что дальше не понятно для меня(
0

#43 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 288
  • Регистрация: 20-Март 09
  • Репутация: 2 085
  • IPB version:3.1.x
 

Отправлено 17 Август 2016 - 10:49

Если у вас нет опыта и вы не знакомы с программированием вам проще просто отправить форму авторизации с сайта на обработчик форума.

<?php

define( 'IPB_THIS_SCRIPT', 'public' );
define( 'IPS_PUBLIC_SCRIPT', 'index.php');
define( 'IPS_ENFORCE_ACCESS', true);
require_once( './forum/initdata.php' );

require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );

$registry = ipsRegistry::instance();
$registry->init();

$settings   =& $registry->fetchSettings();
$memberData =& $registry->member()->fetchMemberData();

if($memberData['member_id']):
	header('Location: '.$settings['board_url'].'/');
	exit;
else:
?>

<form method="post" action="<?=$settings['board_url']?>/index.php?app=core&module=global&section=login&do=process" class="login">
 <input type="hidden" name="auth_key" value="<?=$registry->member()->form_hash?>"/>
 <p>
	 <label for="login">Логин:</label>
	 <input type="text" name="ips_username" id="ips_username">
 </p>
 <p>
	 <label for="password">Пароль:</label>
	 <input type="password" name="ips_password" id="ips_password">
 </p>
 <p>
	 <label for="password">Запомнить:</label>
	 <input type="checkbox" id="inline_remember" checked="checked" name="rememberMe" value="1"/>
 </p>
 <p class="login-submit">
	<button type="submit" class="login-button">Войти</button>
 </p>
</form>
 
 <?php
endif;
 ?>

1

#44 Пользователь не на сайте   rtest ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 5
  • Регистрация: 17-Август 16
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 17 Август 2016 - 12:26

Сделал, что то не пойму, после нажатия "войти" открывается Object not found по ссылке

Цитата

http://localhost/%7B$settings['board_url']%7D/index.php?app=core&module=global&section=login&do=process

форум сразу в корне, я же должен в скрипте заменить board_url на свой путь, в данном случае слеш просто.. даже без слеша

Цитата


0

#45 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 288
  • Регистрация: 20-Март 09
  • Репутация: 2 085
  • IPB version:3.1.x
 

Отправлено 17 Август 2016 - 12:30

Скопируйте еще раз кодю
1

Сообщить об этой теме:


  • 4 Страниц +
  • 1
  • 2
  • 3
  • 4


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна