Изменение стандартного XMLHTTPRequest, который отправляется после отправки формы - PullRequest
0 голосов
/ 04 июня 2010

У меня есть поле в форме, скажем:

 <FORM action="http://server.com/cgi/handle"
       enctype="multipart/form-data"
       method="post">
   <P>
   What is your name? <INPUT type="text" name="submit-name"><BR>
   What files are you sending? <INPUT type="file" name="files"><BR>
   <INPUT type="submit" value="Send"> <INPUT type="reset">
 </FORM>

и при отправке этой формы генерируется запрос XMLHTTP, например:

Content-Type: multipart / form-data; граница = AaB03x

   --AaB03x
   Content-Disposition: form-data; name="submit-name"

   Larry
   --AaB03x
   Content-Disposition: form-data; name="files"; filename="file1.txt"
   Content-Type: text/plain

   ... contents of file1.txt ...
   --AaB03x--

и я хочу изменить этот запрос, мне нужно изменить имя и содержимое отправляемого файла. Можно ли это сделать? Разве это не проблема безопасности?

1 Ответ

1 голос
/ 04 июня 2010

Я не уверен, что понимаю ситуацию, но думаю, что вы имеете в виду обычный запрос POST, а не запрос XMLHTTP, специфичный для JavaScript (запросы Ajax основаны на этом методе).

Если вы спрашиваете, как изменить запрос, который браузер отправляет на сервер при использовании multipart/form-data, то я почти уверен, что ответ таков: вы не можете. Это совершенно не зависит от сайта.

Я также сильно сомневаюсь, что есть способ сделать это на основе JavaScript, потому что вы используете загрузку файлов. Содержимое загруженного файла недоступно для веб-страницы по соображениям безопасности, поэтому у вас не будет возможности самостоятельно кодировать этот файл и делать необработанный запрос с использованием XMLHTTPRequest или любого другого метода на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...