表单提交加了enctype="multipart/form-data"后是否会自动起到加密提交的文本内容的作用?


因为看资料说表单form默认用文本方式传输数据,数据在传输过程中明码会被截获。
加了enctype="multipart/form-data"就采用二进制方式传输了,多用于上传文件等非文本内容。

那我想如果一个表单,都是文本,但加上enctype="multipart/form-data",文本就采用二进制传输了,而二进制不是文本,数据传输过程中也不会被监控到吧,因为监控到的也只是二进制文件,没法知道文本内容是什么。

但没听说有人用这个加密文本数据的,是不是这理论有问题????

网络安全 php

ryoohki 12 years, 10 months ago

二进制和加密是两个概念。默认的所谓文本方式是指使用ASCII的低部分传输数据,即0-127一共128个字符,包括大小写字母、数字、常用符号等。这是网络传输中兼容性最好的编码方式,早期某些网络设备会把字节的最高位理解成校验位丢弃掉,因此只有这些字符才能确保被正常传输(现在已经早就没有这个问题了);而且这些字符不管在什么字符编码的操作系统上看上去都是相同的。传输超出这个范围的字符时,需要采取字符编码的方案,默认的W3C编码方案是将除了字母数字和少数符号以外的内容用%XX的形式编码。
而multipart/formdata所谓二进制传输,也就是跳过了编码部分,直接传输二进制的意思。文本不仅不会加密,反而会以不编码的形式直接传输。

kenk3 answered 12 years, 10 months ago

Your Answer