Встречается на собеседованиях • сегодня
Как улучшить безопасность кода проекта
- Валидация ввода: Всегда проверяйте пользовательский ввод, используя библиотеки типа
reдля регулярных выражений илиpydanticдля валидации данных.
python
from pydantic import BaseModel
class UserInput(BaseModel):
username: str
password: str # Должен быть хеширован- Используйте ORM вместо сырых SQL-запросов для предотвращения SQL-инъекций.
python
# Плохо:
cursor.execute(f"SELECT * FROM users WHERE login = '{user_input}'")
Хорошо:
session.query(User).filter(User.login == user_input).first()
text
3. **Хешируйте пароли** с помощью `bcrypt` или `argon2`.
```python
import bcrypt
hashed = bcrypt.hashpw(password.encode(), bcrypt.gensalt())-
Ограничивайте права зависимостей: Проверяйте
requirements.txtчерезsafetyилиpip-audit. -
Используйте HTTPS, защищайте куки (
Secure,HttpOnly,SameSite). -
Логируйте безопасно: Удаляйте чувствительные данные из логов.
-
Регулярно обновляйте зависимости для закрытия уязвимостей.
-
Настройте CORS для API, чтобы ограничить источники запросов.
-
Применяйте принцип минимальных привилегий для сервисов и пользователей.
-
Тестируйте безопасность: Используйте
banditдля статического анализа иOWASP ZAPдля динамического.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы