Цитата:
Сообщение от user6334
user6334 said:
↑
А вот и рандомно, да не всегда. Написано же, по спец. Алгоритму. Как узнать алгоритм? Я подставил другие значения и запрос не проходит. Вообще зачем генерировать что-то? Как проверяется потом валидность сгенерированного значения?
|
Алгоритм, как написали выше выбираешь ты сам
Смотри
В том случае, когда ты используешь application/x-www-form-urlencoded ты посылаешь несколько параметров разделенных амперсандом
Код:
Code:
param1=qwerty¶m2=123
Сервер получая такой запрос, знает, что между & и = находится название параметра, между = и & - значение и он может распарсить их
Multipart/form-data часто используется для передачи файлов и никто не может гарантировать, что в бинарном формате твоего файла не встретится что-то вроде & или =
Поэтому ты говоришь: сервер, смотри, я использую Asrf456BGe4h для разделения разных частей запроса
Код:
Code:
Content-Type: multipart/form-data; boundary=Asrf456BGe4h
и дальше формируешь запрос
Код:
Code:
--Asrf456BGe4h
Content-Disposition: form-data; name="DestAddress"
(пустая строка)
brutal-vasya@example.com
--Asrf456BGe4h
Content-Disposition: form-data; name="MessageTitle"
(пустая строка)
--Asrf456BGe4h
Content-Disposition: form-data; name="MessageText"
(пустая строка)
Привет, Василий! Твой ручной лев, которого ты оставил
у меня на прошлой неделе, разодрал весь мой диван.
Пожалуйста забери его скорее!
Во вложении две фотки с последствиями.
--Asrf456BGe4h
Content-Disposition: form-data; name="AttachedFile1"; filename="horror-photo-1.jpg"
Content-Type: image/jpeg
(пустая строка)
(двоичное содержимое первой фотографии)
--Asrf456BGe4h
Content-Disposition: form-data; name="AttachedFile2"; filename="horror-photo-2.jpg"
Content-Type: image/jpeg
(пустая строка)
(двоичное содержимое второй фотографии)
--Asrf456BGe4h--
(отсутствующий эпилог - пустая строка)
и сервер прочитав хедер content-type может распарсить этот запрос и при генерации boundary рандомно и достаточно большой длины с высокой долей вероятности не возникнет проблем с тем, что внутри приаттаченного файла есть данные, которые сломают серверу парсинг
|