我有一些形式的字段,让我们说:
<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--
我要更改此请求,我需要更改发送文件的名称和内容。可以吗?这不是安全问题吗?
答案 0 :(得分:1)
我不确定我是否掌握了这种情况,但我认为你的意思是普通的POST请求,而不是特定于JavaScript的XMLHTTPrequest(Ajax请求基于这种方法)。
如果您在询问如何修改请求时浏览器在使用multipart/form-data
时发送到服务器,那么我很确定答案是:您不能。这完全超出了网站的控制范围。
我还强烈怀疑有一种基于JavaScript的方法,因为您正在使用文件上传。出于安全原因,上传文件的内容不可用于网页,因此您将无法自己编码该文件并使用XMLHTTPRequest或任何其他客户端方法发出原始请求。