Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2018-03-01 05:03:38

stephanie
Участник
Зарегистрирован: 2018-03-01
Сообщений: 13

Двойная аутентификация с помощью pgp.

Привет ребята,тут был вопрос про двойную аутентификацию с помощью pgp( https://fluxbb.qb7.ru/forum/viewtopic.php?id=4031 ).
Я тут копался в гугле и нашел эти 3 способа:
(Пробелы убрать)
1) https://github.com/hardest1/pgp-2fa
2) https://github.com/RaedsLab/GPG-2FA-WordPress
3) https://github.com/RaedsLab/gpg2factor
Мой вопрос,можно ли как нибудь поставить это на мой лысый fluxbb форум?Если да то как(Максимально понятным языком,открыл для себя язык php и fluxbb 3 дня назад).

Offline

#2 2018-03-01 08:41:33

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Двойная аутентификация с помощью pgp.

@stephanie, я видимо чего-то не понимаю, но что вы хотите добиться применяя pgp на форуме?
Или речь идет про то, чтобы в форме регистрации пользователь указывал свой открытый ключ и письмо с регистрационными данными к нему приходило в шифрованном виде?

Если нет, то опишите подробно алгоритм применения pgp как вы его видите.

Offline

#3 2018-03-02 02:20:03

stephanie
Участник
Зарегистрирован: 2018-03-01
Сообщений: 13

Re: Двойная аутентификация с помощью pgp.

Человек указывает в настройках что его устраивает двухфакторная авторизация и вписывает свой публичный ключ.
5a9358ac69c0.png

Далее при след заходе в аккаунт(вписав логин и пароль) он видит ключ который он должен расшифровать.
0ff65b1a080f.png

Человек расшифровывает ключ и вписывает код, затем благополучно заходит в свой аккаунт.

Offline

#4 2018-03-02 02:29:34

stephanie
Участник
Зарегистрирован: 2018-03-01
Сообщений: 13

Re: Двойная аутентификация с помощью pgp.

Или еще такой вариант:

Человек регистрирует аккаунт, при регистрации указывается логин, пароль и свой публичный ключ.
Затем чтобы войти в аккаунт он должен вписать свой логин и пароль.После того как он все вписал(логин и пароль) он снова видит зашифрованный ключ,который он должен расшифровать своим ключем(свой ключ - тот что указывал при регистрации)
После расшифровки получает пароль который вписывает и благополучно заходит в свой аккаунт.

Offline

#5 2018-03-02 06:12:31

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Двойная аутентификация с помощью pgp.

1. В таблице пользователей users нужно создать два поля:

pgp_public_key   TEXT
pgp_verification  VARCHAR(200)

2. Сохранение открытого ключа пользователь делает в своем профиле как на вашем скрине
5a9358ac69c0.png
Открытый ключ должен быть сохранен в поле pgp_public_key записи юзера.

3. В файле /login.php нужно внести изменения:
после

	// Remove this user's guest entry from the online list
		$db->query('DELETE FROM '.$db->prefix.'online WHERE ident=\''.$db->escape(get_remote_address()).'\'') or error('Unable to delete from online list', __FILE__, __LINE__, $db->error());

добавить

			// генерация строки проверки для пользователя имеющего ключ
			if ('' != trim($cur_user['pgp_public_key']))	{
					$db->query('UPDATE '.$db->prefix.'users SET pgp_verification=\'' . random_pass(150) . '\' WHERE id='.$cur_user['id']) or error('Unable to update user pgp_verification', __FILE__, __LINE__, $db->error());
				}

4. В файл /include/common.php нужно внести изменения:
в конец файл добавить

// редирект на файл pgp.php если у пользователя есть не проверенная строка верификации 'pgp_verification
if ('' != trim($pun_user['pgp_verification']) && 'pgp.php' != basename($_SERVER['PHP_SELF'])) {
	header('Location: pgp.php');
	exit;
}

5. В файле /pgp.php у вас должно быть реализовано это
0ff65b1a080f.png
Где в качестве шифрованного сообщения выводится $pun_user['pgp_verification'] обработанный pgp ключем $pun_user['pgp_public_key']. Результат введенный пользователей сверяется с $pun_user['pgp_verification'].

Если проверка прошла успешно поле pgp_verification должно быть очищено

$db->query('UPDATE '.$db->prefix.'users SET pgp_verification=\'\' WHERE id='.$pun_user['id']) or error('Unable to update user pgp_verification', __FILE__, __LINE__, $db->error());

и проведен редирект на index.php.

Offline

  • Нравится: 1

#6 2018-03-02 13:20:16

stephanie
Участник
Зарегистрирован: 2018-03-01
Сообщений: 13

Re: Двойная аутентификация с помощью pgp.

Черт,как же сложно.Можно более подробную инструкцию для умственно отсталых?
Я имею на данный момент:
Основная OS linux mint
Apache 2
PHP7.0
MySQL,
PhpMyAdmin
На этом деле стоит чистый FluxBB v1.5.8. с русификатором.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Где найти таблицу пользователей users и как в нее добавлять?
Прошу прощение за очень глупые вопросы,ну мне это действительно нужно...

Offline

#7 2018-03-02 17:21:54

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Двойная аутентификация с помощью pgp.

Где найти таблицу пользователей users и как в нее добавлять?

В вашей базе данных. В большинстве случаев для этого используется phpMyAdmin

чистый FluxBB v1.5.8

Последняя версия 1.5.10 и лучше использовать ее сразу, чем потом на нее переходить.

Можно более подробную инструкцию

У вас какой опыт программирования на php есть? Если опыта нет (или его мало), то лучше найти форумный движок в котором уже реализована данная возможность.

P.S. С автором соседней темы про pgp свяжитесь, может у него реализация есть в наличии.

Offline

#8 2018-03-02 21:48:35

stephanie
Участник
Зарегистрирован: 2018-03-01
Сообщений: 13

Re: Двойная аутентификация с помощью pgp.

Последняя версия 1.5.10 и лучше использовать ее сразу, чем потом на нее переходить.

Многие плагины не поддерживаются на 1.5.10, поэтому использую 1.5.8.

У вас какой опыт программирования на php есть?

У меня нет вообще никакого опыта в php.


Если опыта нет (или его мало), то лучше найти форумный движок в котором уже реализована данная возможность.

Речь о Двойной аутентификации с помощью pgp?!

Offline

#9 2018-03-03 06:20:36

stephanie
Участник
Зарегистрирован: 2018-03-01
Сообщений: 13

Re: Двойная аутентификация с помощью pgp.

Правильно выполнил первый шаг?
R3mJ980pal.jpg
n3lGH4vKR8.jpg
5o5JnY5VJL.jpg
50ciGJ46Fg.jpg
rcC6xgtj5Q.jpg
6j1a9yjS16.jpg

Offline

#10 2018-03-03 06:23:53

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Двойная аутентификация с помощью pgp.

Речь о Двойной аутентификации с помощью pgp?!

Да, возможно данная вещь есть на каком-то другом форумном движке.

И я уже писал, что от этой вещи мало толку будет из-за https://fluxbb.qb7.ru/forum/viewtopic.p … 028#p30028 А куками может завладеть не только человек посередине, но и троян на компьютере пользователя или фейковое расширение браузера.

Offline

#11 2022-04-09 19:29:52

kekerki
Новичок
Зарегистрирован: 2022-04-09
Сообщений: 1

Re: Двойная аутентификация с помощью pgp.

Visman пишет:

2. Сохранение открытого ключа пользователь делает в своем профиле как на вашем скрине
5a9358ac69c0.png
Открытый ключ должен быть сохранен в поле pgp_public_key записи юзера.

5. В файле /pgp.php у вас должно быть реализовано это
0ff65b1a080f.png
Где в качестве шифрованного сообщения выводится

вы можете пожалуйста продублировать эти скрины? 5a9358ac69c0.png и 0ff65b1a080f.png
без них не совсем понятно. спасибо.

Редактировался kekerki (2022-04-09 19:30:37)

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens