一晃有一年多没有写博客了,每次想提笔写写,由于总是感觉要写的太多了,总是对自己说:“想清楚想明白再写”,这样就一直拖延。 另外一个原因是,觉得也没有什么人看,就这样耽搁下来了。 人是个有惰性的物种,只要惰性战胜了自己,就会找到很多理由让自己偷懒下。好了,闲话少说了,言归正传了。 做了多年的web开发,遇到过很多刚刚毕业的兄弟以及刚入行的朋友。 经常在做一些功能时候,从技术设计本身出现各种问题。 他们在程序语言方面非常熟悉,但是做出来经常出现重大安全隐患!主要是用代码实现需求时候,考虑不全面,因此存在各种设计缺陷,产生技术漏洞!一些书本只会教我们 怎么样去实现功能, 而不会说 怎么样完美、无bug实现。...
阅读全文
Xxencode编码,也是一个二进制字符转换为普通打印字符方法。跟UUencode编码原理方法很相似,唯独不同的是可打印字符不同。通个UUencode编码,我们知道它有个缺点就是,64个可打印字符中,有很多的特殊字符。而XXencode编码方法,对64个原字符有做规范。这里它有跟Base64类型了。都有指定可打印字符范围、及编号。Xxencode编码在上世纪后期,IBM大型机中得到很广泛的应用。现在逐渐被Base64编码转换方法所取代了。 Xxencode编码原理 XXencode将输入文本以每三个字节为单位进行编码。如果最后剩下的资料少于三个字节,不够的部份用零补齐。这三个字节共有24个Bit,以6bit为单位分为4个组,每个组以十进制来表示所出现的数值只会落在0到63之间。以所...
阅读全文
UUencode编码起先用在unix网络中,先是Unix系统下将二进制的资料借由uucp邮件系统传输的一个编码程式,也是一种二进制到文字的编码。不属于MIME编码中一员。它也是定义了用可打印字符表示二进制文字一种方法,并不是一种新的编码集合。主要解决,二进制字符在传输、存储中问题。它早期在电子邮件中使用较多,最近这些年来基本上被MIME 中Base64所取代了。E-mail中一般采用UU、MIME、BINHEX三种编码标准! 我想,了解下这种编码将二进制字符转换为可打印字符实现思路!对我们以后做类似处理工作,应该会有很多的启示。 UUencode编码过程 Uuencode将输入资料以每三个字节为单位进行编码,如此重复进行。如果最后剩下的资料少于三个字节,不够的部份...
阅读全文
Base64编码,是我们程序开发中经常使用到的编码方法。它是一种基于用64个可打印字符来表示二进制数据的表示方法。它通常用作存储、传输一些二进制数据编码方法!也是MIME(多用途互联网邮件扩展,主要用作电子邮件标准)中一种可打印字符表示二进制数据的常见编码方法!它其实只是定义用可打印字符传输内容一种方法,并不会产生新的字符集!有时候,我们学习转换的思路后,我们其实也可以结合自己的实际需要,构造一些自己接口定义编码方式。好了,我们一起看看,它的转换思路吧! Base64实现转换原理 它是用64个可打印字符表示二进制所有数据方法。由于2的6次方等于64,所以可以用每6个位元为一个单元,对应某个可打印字符。我们知道三个字节有2...
阅读全文
Quoted-printable 可译为“可打印字符引用编码”、“使用可打印字符的编码”,我们收邮件,查看信件原始信息,经常会看到这种类型的编码! 最多时候,我们在邮件头里面能够看到这样的编码!Content-Transfer-Encoding:quoted-printable
它是多用途互联网邮件扩展(MIME) 一种实现方式。其中MIME是一个互联网标准,它扩展了电子邮件标准,致力于使其能够支持非ASCII字符、二进制格式附件等多种格式的邮件消息。目前http协议中,很多采用MIME框架!quoted-printable 就是说用一些可打印常用字符,表示一个字节(8位)中所有非打印字符方法!
Quoted-printable编码方法
任何一个8位的字节值可编码为3个字符:一个等号"="后跟随两个十六进制数字(0...
阅读全文
这些编码,早些时候在一些应用软件中经常看到,估计很多朋友也看到了,这些编码了!
从这个图,我们可以看到这类编码应用很广泛,那么我们一起看看,iso-8859-1字符集,到底是什么样字符集,有那些字符!为什么,它应用可以这么广泛!
计算机上面流行第一个字符集,是ascii码,是0-127 一个128字符。每个字符在里面有个对应编号,分别是0-127。如果用二进制表示,刚好是7位。这个字符集,在前期表示英文字符已经足够。后来,随着计算机普及,越来越多国家(欧洲),开始应用计算机,他们发现7位,共128字符。已经不能描述他们常用的字符了。因此想到要兼容ascii字符集,就指定了扩展ASCII字符集。最多是0-255,256个字符。其中0-127 128字符及位...
阅读全文
前面我们说到,web应用安全的基数是,做好参数检测!就像是小区防止小偷,必须把好所有进入门。然后,对进入人员进行检测!这些我们都清楚的,就是有时候在web应用中,对输入参数检测时候发现困难!因为,输入参数字符可以各种各样,长度也不相同!我们从什么维度准确标识出我所需要的格式呢? 这里我观点是,应用对参数检测可以分为2个关卡,第一个关卡可以是,保证参数输入安全。第二个关卡是保证它是业务所需要的值。一个应用,保证安全是最基础的。我们第一关检测参数,怎么样做比较好呢? 标识参数方法? 所有web传入都是字符串,我们怎么样标识字符串呢?字符串都是有字符组成的,常见是ascii码,对于中文网站,有gb2312,gbk等字符。从这里...
阅读全文
定义和用法 head头标签里面,有另一个不起眼的标签。那就是:Link标签。<link> 标签的作用是定义文档与外部资源的关系,最常用的是链接样式表。
<head>
<link rel="stylesheet" type="text/css" href="header.css" />
</head>以上是链接样式表,这是常用的方法。其实它还可以做文件导航、以及seo方面都可以有用途。我们继续往下吧!
Link属性介绍
属性
值
描述
rel
alternateappendixbookmarkchaptercontentscopyrightglossaryhelphomeindexnextprevsectionstartstylesheetsubsectionicon (后来补充)
定义当前文档与被链接文档之间的关系
rev
alternateappendixbookmarkchaptercontentscopyrightglossaryhelpho...
阅读全文
meta标签,是在head标签里面,一般用做页面描述的。它的内容,用来描述页面一些信息的,如类型、编码、作者、简介等!虽然,它不作为页面布局显示,但实际上用途非常广的!具体的html定义在:meta定义 meta组成部分 meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。 name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。 http-equiv相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内...
阅读全文
好几天没有写了,电脑一直有问题,还没有修好!本来开机故障,修理了下!现在是彻底开机不了!算了,随它去吧,该换个品牌了!先不说这些,我们进入正题,看看web应用安全基数,为什么是输入参数检查!开发web应用,工作中代码审核、漏洞修复!基本是我们对输入参数检查不够! 主要问题出现在3个方面: 1、对检查认识不够!经常忘记必要参数检测,特别对于一些页面只是传值,而没有写入到后端存储的参数,更是很容易遗漏! 2、对那些是输入的、那些是系统环境参数 有些没有明白,导致错误的放过该检查的参数! 3、检查方法不正确、往往检查过后,还存在问题! 我说说自己的一些看法吧,所有一切首先要认识到参数检查的重...
阅读全文