摘要: 下面这一小段“劣质”的PHP代码是一道简化了的测试题。这种问题就像在问:你该怎样优化这段代码?searchresultsforquery:”).$_GET['query'].”.”;?>这段代码的主要问题在于它把用户提交的数据直接显示到了网页上,从而产生XSS漏洞。其实有很多方法可以填补这个漏洞。那么,什么代码是我们想要的呢?searchresultsforquery:”).htmlspecialchars($_GET['query']).”.”;?>这是最低要求。XSS漏洞用htmlspecialchars函数填补了,从而屏蔽了非法字符。searc 阅读全文
posted @ 2014-02-17 00:27 小虾米囧rz 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 我们都知道.echo中是可以用逗号来连接字符串的.并且经过测试.这样的连接字符串方式要比直接用点号要快.比如:echo’abc’.'def’;//用点号连接字符串echo’abc’,'def’;//用逗号连接字符串也许很多人都知道逗号要比点号快.但是不知道为什么.更不知道这两者到底有什么区别.那么下面我们就举一些例子.来认清楚他们之前的区别.echo’1+5=’. 1+5;看看上面的.输出的结果是6..而不是1+5=6.有些神奇吧?更神奇的是你看下面的例子.echo”1+5=”. 5+1;//输出2结果十分奇怪.我们看到.我们把5和1换下位置.结果就变成2了.为什么会这样.难道 阅读全文
posted @ 2014-02-17 00:24 小虾米囧rz 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:\n\s*\r评注:可以用来删除空白行匹配HTML标记的正则表达式:]*>.*?|评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力匹配首尾空白字符的正则表达式:^\s*|\s*$评注:可以用来删 阅读全文
posted @ 2014-02-17 00:23 小虾米囧rz 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 今天帮忙改了下网站在不同浏览器下的兼容问题,感觉小问题是用内部属性Hack更有效率些.下面是一些主流的内部属性Hack:_: 选择IE6及以下。连接线(中划线)(-)亦可使用,为了避免与某些带中划线的属性混淆,所以使用下划线(_)更为合适。*:选择IE7及以下。诸如:(+)与(#)之类的均可使用,不过业界对(*)的认知度更高。\9:选择IE6+。\0:选择IE8+和Opera。例子:.test{color:#000; /* 正常写法普遍支持 */color:#00F\9; /* 所有IE浏览器(ie6+)支持 *//*但是IE8不能识别“ * ”和“ _ ” */[color:#000;col 阅读全文
posted @ 2014-02-17 00:22 小虾米囧rz 阅读(153) 评论(0) 推荐(0) 编辑