Metadata-Version: 2.4
Name: cudrequest
Version: 1.0.0
Summary: Authorization with: sessions, lockout after failed attempts, admin pan
License-Expression: MIT
Keywords: php,auth,captcha,login
Classifier: Programming Language :: PHP
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown

PHP-авторизация с капчей, блокировкой по попыткам и панелью администратора.

## Требования

- Python 3.8+
- PHP 7.4+ (должен быть установлен и доступен в PATH)
- MySQL / MariaDB

## Установка

```bash
pip install milk2-auth
```

## Быстрый старт

### 1. Скопировать PHP-файлы в рабочую папку

```bash
milk2-auth deploy ./myproject
```

### 2. Настроить подключение к БД

Отредактируй `connect.php` в папке `myproject`:

```php
$host = '127.0.0.1';
$db   = 'milk2';
$user = 'root';
$pass = '';
```

### 3. Создать базу данных

```sql
CREATE DATABASE IF NOT EXISTS milk2 CHARACTER SET utf8mb4;
USE milk2;

CREATE TABLE users (
    id       INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50)  NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    name     VARCHAR(100) DEFAULT 'Новый',
    admin    TINYINT(1)   NOT NULL DEFAULT 0,
    attempts INT          NOT NULL DEFAULT 0
);

INSERT INTO users (username, password, name, admin) VALUES
    ('admin', 'admin123', 'Администратор', 1);
```

### 4. Добавить картинки капчи

Положи в рабочую папку файлы `1.png`, `2.png`, `3.png`, `4.png`.  
Пользователь должен кликнуть их **в порядке 1→2→3→4**.

### 5. Запустить сервер

```bash
milk2-auth serve --target ./myproject --port 8000
```

Открой браузер: [http://localhost:8000](http://localhost:8000)

## Команды CLI

| Команда | Описание |
|---------|----------|
| `milk2-auth deploy [папка]` | Копирует PHP-файлы в указанную папку |
| `milk2-auth serve [--host] [--port] [--target]` | Запускает PHP built-in сервер |

## Логика авторизации

- При **неверном пароле или капче** счётчик `attempts` увеличивается на 1
- При **3 неверных попытках** аккаунт блокируется (`attempts >= 3`)
- Разблокировка — через панель администратора (снять галочку «Бан»)
- Капча — клик по 4 картинкам в правильном порядке (1→2→3→4)

## Структура файлов

```
myproject/
├── index.php      # Главная страница: вход, панель админа
├── connect.php    # Подключение к БД
├── 1.png          # Картинки капчи
├── 2.png
├── 3.png
└── 4.png
```

## Лицензия

MIT
