Встречается на собеседованиях • сегодня

Всегда ли нужно валидировать только POST запрос

Нет, валидация данных нужна не только для POST-запросов. Валидировать следует любые входящие данные, независимо от метода HTTP-запроса (GET, POST, PUT, DELETE и т.д.), так как злоумышленник может передать вредоносные данные через любой из них.

Пример валидации GET-параметров в Flask:

python
from flask import request, abort
import re

@app.route('/search')
def search():
    query = request.args.get('q', '')
    if not re.match(r'^[\w\s-]+$', query):
        abort(400, 'Invalid search query')
    # обработка запроса

Особенности:

  1. GET-параметры могут содержать вредоносные строки
  2. PUT/DELETE запросы часто содержат ID ресурсов, которые нужно проверять
  3. Даже заголовки (Headers) могут требовать валидации

Главное правило: доверять нельзя никаким входящим данным, независимо от их источника или метода передачи.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы