Junior — Middle
98
Wie haben Sie den Schutz der Anfragen in Ihrem Projekt organisiert und welche Maßnahmen haben Sie ergriffen, um die Sicherheit zu gewährleisten?
Unternehmen wurden gefragt
Ubic
Antwort von AI
sobes.tech KI
Для защиты запросов в Python-проектах обычно применяются следующие меры:
- Аутентификация и авторизация: Использование токенов (JWT, OAuth), сессий или API-ключей для проверки прав доступа.
- Валидация и санитизация входных данных: Чтобы предотвратить SQL-инъекции, XSS и другие атаки.
- Использование HTTPS: Для шифрования трафика между клиентом и сервером.
- Ограничение частоты запросов (rate limiting): Для защиты от DDoS и brute force атак.
- CSRF-защита: В веб-приложениях для предотвращения межсайтовых подделок запросов.
- Логирование и мониторинг: Для обнаружения подозрительной активности.
Пример использования Flask с JWT для защиты эндпоинта:
from flask import Flask, request, jsonify
from flask_jwt_extended import JWTManager, jwt_required, create_access_token
app = Flask(__name__)
app.config['JWT_SECRET_KEY'] = 'super-secret'
jwt = JWTManager(app)
@app.route('/login', methods=['POST'])
def login():
username = request.json.get('username')
password = request.json.get('password')
# Проверка пользователя
if username == 'user' and password == 'pass':
access_token = create_access_token(identity=username)
return jsonify(access_token=access_token)
return jsonify({'msg': 'Bad credentials'}), 401
@app.route('/protected', methods=['GET'])
@jwt_required()
def protected():
return jsonify({'msg': 'Доступ разрешён'})
if __name__ == '__main__':
app.run(ssl_context='adhoc') # Запуск с HTTPS
Такой подход обеспечивает базовую защиту запросов и данных.