Перейти к содержанию

Авторизация подтвержденным юзером PHP


MiXeR54

Рекомендуемые сообщения

Суть:

есть скрипт на авторизацию в удаленном приложении. 

<?php
header("Content-Type: text/plain; charset=UTF-8");

// Verify login and password
$login = $_GET['login'];
$password = $_GET['password'];
if(empty($login) || empty($password)) {
    exit('Empty login or password');
}

// Load IPB init script
\define('REPORT_EXCEPTIONS', TRUE);
$_SERVER['SCRIPT_FILENAME']	= __FILE__;
require_once 'init.php';

// Try authenticate
$member = NULL;
$ipsLogin = new \IPS\Login();
foreach($ipsLogin->usernamePasswordMethods() as $method) {
    try {
        $member = $method->authenticateUsernamePassword($ipsLogin, $login, $password);
        \IPS\Login::checkIfAccountIsLocked($member, TRUE);
        if ($member->isBanned()) {
            $member = NULL;
            continue;
        }
        break;
    } catch (\Exception $e) {
        // Do nothing
    }
}

// We're done
echo($member ? 'OK:' . $member->name : 'Incorrect login or password');
?>

работает чудесно, но как добавить проверку - подтвердил ли пользователь свой email?

Может кто откликнется за денежку. Открыт к предложениям.

Ссылка на комментарий
Поделиться на другие сайты

if ( !\IPS\Db::i()->select( 'COUNT(*)', 'core_validating', array( 'member_id=? AND lost_pass!=1 AND forgot_security!=1', $member->member_id ) )->first() )
{
	// Подтвердил
}

 

Ссылка на комментарий
Поделиться на другие сайты

В 27.07.2019 в 11:47, WaNted сказал:

if ( !\IPS\Db::i()->select( 'COUNT(*)', 'core_validating', array( 'member_id=? AND lost_pass!=1 AND forgot_security!=1', $member->member_id ) )->first() )
{
	// Подтвердил
}

 

не могли бы поделиться остальной частью кода? разобраться не могу, толи как то надо подключить \IPS\Db толи еще что.

Ссылка на комментарий
Поделиться на другие сайты

Вы же уже подключили init.php, этого достаточно.

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, WaNted сказал:

Вы же уже подключили init.php, этого достаточно.

Да. Только что допилил, я почему то решил что first(); мне не нужен и в этом была ошибка. Спасибо за помощь. Вопрос решен.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...