Общий обзор безопасности в Doka 2.5

Введение

Безопасность веб-приложений — важнейший аспект в разработке Doka 2.5. Система построена с учетом современных стандартов безопасности и включает защиту от наиболее распространенных атак.

Основные угрозы безопасности

Веб-приложения могут подвергаться множеству атак. В Doka 2.5 предусмотрены механизмы защиты от:

Механизмы защиты в Doka 2.5

1. SQL-инъекции

Использование ORM (CodeIgniter Model, Doctrine, Eloquent) и подготовленных SQL-запросов предотвращает возможность внедрения вредоносного кода.

2. XSS-защита

Все входные данные фильтруются и экранируются перед выводом в браузер.

3. CSRF-защита

Каждый POST-запрос требует CSRF-токен, предотвращающий подмену запросов.

4. Ограничение запросов (Rate Limiting)

Система ограничивает количество запросов к API, предотвращая DDoS-атаки.

5. Защита паролей

Пароли пользователей хранятся в зашифрованном виде с использованием bcrypt:


$password = password_hash('securePassword123', PASSWORD_DEFAULT);
        

При аутентификации пароли проверяются следующим образом:


if (password_verify($inputPassword, $user['password_hash'])) {
    echo "Пароль верный!";
} else {
    echo "Ошибка: неверный пароль!";
}
        

6. Верификация Email

При регистрации пользователю отправляется письмо с проверочной ссылкой. Аккаунт активируется только после подтверждения email.


$verificationToken = bin2hex(random_bytes(16));
$model->save([
    'email' => 'user@example.com',
    'password_hash' => password_hash('password123', PASSWORD_DEFAULT),
    'is_verified' => 0,
    'verification_token' => $verificationToken
]);

// Отправка email
$email = \Config\Services::email();
$email->setTo('user@example.com');
$email->setSubject('Подтвердите ваш email');
$email->setMessage('Для активации аккаунта перейдите по ссылке: 
http://doka25c.local/verify?token=' . $verificationToken);
$email->send();
        

7. JWT-аутентификация

API использует JSON Web Token (JWT) для идентификации пользователей.

8. HTTPS и шифрование данных

Все соединения с сервером должны проходить через HTTPS, защищая данные от MITM-атак.

9. Разграничение прав доступа

В системе реализована ролевая модель доступа для пользователей.

10. Логирование и мониторинг

Все события системы записываются в логи. Настроено автоматическое уведомление при подозрительных действиях.

Рекомендации по безопасности

Связанные страницы

Вернуться на главную