早期,http协议和html语言都是基于文本的,与是眉山网页设计出不同的编码方案,确保这些机制能够安全处理不常见的字符和二进制数据。许多情况下,攻击者甚至能够控制应用程序所有使用的编程方案,造成其重庆网站制作人员无法预料的事。攻击web程序通常需要相关数据进行编码,web应用程序对其数据采用几种不同的编码方案。
url编码,只允许使用us-ascⅱ字符集中的客打印字符。而且由于其在url方案或http协议内具有特殊含义,这个范围内的一些字符也不能用在url中。url编程主要用于对扩展ascⅱ字符集中的任何有问题的字符进行编码,使用其通过http安全传输。任何url编程的字符都以%为前缀,其后是这个字符的两位是十六进制ascⅱ代码,当然也包括象 =,&;,和 % 这些特殊的字符。其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。那么汉字的url编码呢?很简单,看例子:“胡”的ascii码是-17670,十六进制是bafa,url编码是“%ba%fa”。
unicode编码,是一种支持全世界各种编写系统而设计的字符编码标准,它采用各种编码方案骑着一下可用于表示web应用程序中的不常见的字符。unicode也称“统一码”“万国码”。16位unicode编码的工作原理与url类似。为通过http进行传输,16位unicode编码的字符以%u为前缀,其后是这个字符的十六进制unicode码点。比如:%u2215代表/; %u00e9代表é。
base64编码,是用一个可打印的ascⅱ字符就可以安全转换任何二进制数据,它常用于对电子邮件附件进行的编码,其通过smtp安全传输。base64是网络上最常见的用于传输8bit字节代码的编码方式之一。base64是网络上最常见的用于传输8bit字节代码的编码方式之一标准的base64并不适合直接放在url里传输,因为url编码器会把标准base64中的“/”和“+”字符变为形如“%xx”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ansi sql中已将“%”号用作通配符。
html编码,是一种用于表示问题字符以其安全并入html文档的方案。有许多字符具有特殊的含义,为了安全使用这些字符将其用在文档内容中,就必须对其进行html编码。html编码定义了字符html实体来表示特殊字面字符,比如:"代表“;'代表’;&代表&;<代表<;>代表>。
十六进制编码,是许多应用程序在传送二进制数据时直接使用十六进制编码,用ascⅱ字符表示十六进制数据块。比如对cookie中的用户daf进行十六进制编程,会得到这样的结果:646166 和base64编码的数据一样,在十六进制编码数据通常容易辨认。
扬州到慈利物流专线金华到进贤物流专线烟台到成都物流专线塔城网站建设_网站制作_网站设计与关键排名优化手机网站开发的注意事项福州到邵东物流专线绍兴到洛阳物流专线SEO快速排名的真相