phpbb 3.2 авторизация через свою программу

Ответить
ya
^-^
Сообщения: 2336
Зарегистрирован: 16 дек 2021, 19:56

phpbb 3.2 авторизация через свою программу

Сообщение ya »

phpbb 3.2 авторизация через свою программу

1. Установить софт

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

sudo apt update
sudo apt install python3-venv python3-pip
2. Создать виртуальное окружение

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

mkdir ~/myproject
cd ~/myproject
python3 -m venv venv
3. Активировать виртуальную среду

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

source venv/bin/activate
4. Установить bcrypt в виртуальной среде

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

pip install bcrypt
5. запустить python с установленным пакетом

bpass.py

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

import sys
import bcrypt

def main():
    if len(sys.argv) != 3:
        print(f"Usage: {sys.argv[0]} <password> <hashed_password>")
        sys.exit(1)

    # Получаем входные параметры
    password = sys.argv[1].encode('utf-8')  # Кодируем пароль в байты
    hashed = sys.argv[2].encode('utf-8')     # Кодируем хэш в байты

    # Проверка пароля
    if bcrypt.checkpw(password, hashed):
        print("Пароль соответствует хешу!")
    else:
        print("Пароль не соответствует хешу.")

if __name__ == "__main__":
    main()
запуск:

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

python bpass.py "пароль" 'значение из таблицы phpbb_users.user_password'
6. Деактивировать виртуальное пространство

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

deactivate
7. Автоматизация процесса
bpass.sh

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

#!/bin/bash

# Путь к виртуальной среде
VENV_PATH="../myproject/venv/bin/activate"

# Активируем виртуальную среду
source $VENV_PATH

# Запускаем вашу программу с аргументами
python3 bpass.py "$1" "$2"

# Деактивируем виртуальную среду
deactivate
Выставляем права доступа на выполнение

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

chmod +x bpass.sh
Запуск:

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

./bpass.sh "пароль" 'начение из таблицы phpbb_users.user_password'
Пояснение

source: Эта команда активирует виртуальную среду, чтобы включить нужные зависимости и окружение Python.

python3 bpass.py: Эта строка запускает вашу программу с переданными аргументами (пароль и хэш).

deactivate: Эта команда деактивирует виртуальную среду после завершения работы программы.
ya
^-^
Сообщения: 2336
Зарегистрирован: 16 дек 2021, 19:56

Re: phpbb 3.2 авторизация через свою программу

Сообщение ya »

Установка пакетов

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

sudo apt install --no-install-recommends php-cli
bpass.php

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

<?php
// Функция для проверки пароля
function checkPassword($password, $hashedPassword) {
    // Используем password_verify для проверки пароля
    if (password_verify($password, $hashedPassword)) {
        return true; // Пароль совпадает
    } else {
        return false; // Пароль не совпадает
    }
}

// Основной код
$password = "пароль"; // Пароль, который нужно проверить
$hashed = 'пароль из таблицы phpbb_users.user_password'; // Хэшированный пароль

if (checkPassword($password, $hashed)) {
    echo "Пароль верный!";
} else {
    echo "Пароль неверный!";
}
?>
запустить напрямую через cli

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

php bpassd.php
password_verify: Это встроенная функция PHP, которая проверяет пароли. Она автоматически обрабатывает различные алгоритмы хеширования и подходит для работы с bcrypt.
Ответить