Какие методы используются для защиты от уязвимостей
Python
Middle
Без компании
Какие методы используются для защиты от уязвимостей
Ответы
В Python для защиты от уязвимостей применяют несколько ключевых методов:
- **Валидация и санитизация ввода** – проверка и очистка пользовательских данных перед обработкой:
```
import re
def sanitize_input(input_str):
return re.sub(r'[^a-zA-Z0-9]', '', input_str)
```
- **Использование ORM или параметризованных запросов** для защиты от SQL-инъекций:
```
cursor.execute("SELECT * FROM users WHERE username = %s", (username,))
```
- **Экранирование HTML/JS** (например, с помощью `html.escape()`):
```
import html
safe_output = html.escape(user_input)
```
- **Хеширование паролей** с солью:
```
import hashlib, os
salt = os.urandom(32)
hashed = hashlib.pbkdf2_hmac('sha256', password.encode(), salt, 100000)
```
- **HTTPS и безопасные куки** (флаги Secure, HttpOnly)
- **Ограничение прав** (принцип минимальных привилегий)
- **Регулярное обновление зависимостей** (pip-audit, safety)
- **CSRF-токены** для веб-форм
- **Логирование и мониторинг** для обнаружения атак
- **Статический анализ кода** (bandit, pylint)