У меня есть Flask Web-приложение с множеством разных подстраниц, которые перенаправляют друг на друга. До сих пор я всегда передаю HTTP-параметр следующим.
Допустим, пользователь пришел от
/old/url
и посещения
/new/url?next=/old/url
тогда я просто анализирую запрос Http и проверяю, есть ли следующий параметр:
return redirect(request.args.get('next') or url_for('.index'))
Проблема, которую я обнаружил, заключается в том, что у меня также есть конечная точка API для удаления.
Так что может быть созданная вредоносная ссылка типа:
/new/url?next=/item/delete/<item_id>
Таким образом, при перенаправлении пользователя этот элемент удаляется. А поскольку пользователь, скорее всего, прошел проверку подлинности, сервер будет рассматривать запрос как действительный запрос
Есть ли лучшие практики для подобных вещей (или моя конечная точка API или перенаправления)?
Привет