更改表单提交后发送的默认XMLHTTPRequest

时间:2010-06-04 10:33:23

标签: html forms xmlhttprequest

我有一些形式的字段,让我们说:

 <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>

并且在提交此表单时生成XMLHTTPrequest,例如:

内容类型: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 个答案:

答案 0 :(得分:1)

我不确定我是否掌握了这种情况,但我认为你的意思是普通的POST请求,而不是特定于JavaScript的XMLHTTPrequest(Ajax请求基于这种方法)。

如果您在询问如何修改请求时浏览器在使用multipart/form-data时发送到服务器,那么我很确定答案是:您不能。这完全超出了网站的控制范围。

我还强烈怀疑有一种基于JavaScript的方法,因为您正在使用文件上传。出于安全原因,上传文件的内容不可用于网页,因此您将无法自己编码该文件并使用XMLHTTPRequest或任何其他客户端方法发出原始请求。