基于语法分析的PHP webshell扫描工具–WoodPecker Scanner

服务器云判断是一种根据恶意代码串的指纹,根据大量后门数据,做语法、语义分析,做业务逻辑分析,理解这段代码的用途,给出其是否为恶意代码的定位,而其他使用者,直接可以得到该代码片段是否为恶意代码的结果反馈。Pecker Scanner首先是基于语法分析,剥离token、注释、字符串、变量、语言结构,再进行php语法检测,提取恶意代码的扫描工具,来解决漏报问题。同时支持服务器云判断,尽量避免误报问题。同时,同样的一段代码,在不同的项目中,扮演着不同的角色,这也不能光凭借代码功能上判断,还得依赖所属项目。

Continue reading


为什么不能在字符组中使用反向引用

为什么不能在字符组中使用反向引用不能在字符组中使用反向引用,原因是正则表达式的\1在字符组中[\1],在大多数的正则流派中,会被正则引擎作为八进制转义,实际上的匹配结果将变成\x01。除了不能在字符组中使用反向引用,还不能使用捕获分组,这里也提到了,正则表达式的元字符括号()在字符组中将被理解为普通的字符(),也就是说,在字符组character class中,不用再转移了,即[()]是合法的表达式,且可以匹配到(或者)。比如文章中给的例子:表达式[(a)b]匹配结果并不是a或者b,如果a匹配到,再将a分配到group 1中,而是可以匹配到ab()四个字符。所以,在字符组中使用反向引用,是不能实现的了。

Continue reading


PHP API中,MYSQL与MYSQLI的持久连接区别

445b66d3jw1e3zg8ueei3j20b40go0uephp拓展的mysql跟mysqli的长连接一样使用吗?有什么区别?是否重新创建TCP链接的条件,都是HOST、PORT、USER、PASS这些参数吗?在libmysql跟mysqlnd下表现一样吗?在CLI模式跟FPM模式下表现一样吗?mysqli的长连接如何使用呢?在同一个脚本中,mysqli长连接为什么没有使用同一个链接?而又新建了链接呢?

Continue reading


Nginx模块fastcgi_cache的几个注意点

在web项目中,大家都已经非常熟悉其架构流程了。这些流程中,几乎每个环节都会进行cache。从浏览器到webserver,到cgi程序,到DB数据库,会进行浏览器cache,数据cache,SQL查询的cache等等。对于fastcgi这里的cache,很少被使用。在我的测试过程中,发现一些问题。比如nginx的fastcgi_cache没缓存这条http响应,是因为响应头里包含“Expires”、“Cache-Control”的原因吗?程序里并没有输出“Expires”、“Cache-Control” http header的代码,这是谁输出的呢?既然是fpm响应的时候,就已经有了,那么是php的core模块,还是其他拓展模块输出的?“Expires:”时间为何是“Thu, 19 Nov 1981 08:52:00 GMT”?

Continue reading


手机通讯录,或许可以增加QQ、微信之类IM用户黏度

android和葡萄在2012年底,我换了一部Android手机Google Nexus 4,这是我的第一步智能手机,我打算在它上面,做一些移动应用上的尝试。但不知道该做什么样的功能,无意中,看到通讯录中联系人的列表里,如果对方gtalk在线的话,会直接展示出来,而且,还会同步个性签名,这太棒了。Google Talk在国内,不是很流行,用户基数也少。在国内最流行的,莫过于腾讯的QQ了,以及手机专用的IM --WeChat微信,我也是腾讯的重度老用户。试想着,也把QQ联系人状态显示在通讯录里,一目了然,方便用户,也扩大了腾讯的魔爪。

Continue reading


再读《Rework重来》

大寒去年,我读过《Rework》时却不以为然。如今再读,却产生很多共鸣。可能我在去年,并无太多相关产品的经历,也没有真正去尝试,所以那时没读懂书中的真谛。 从书的简介上看,是为创业者分享的经验,其实很适合做产品的所有人。150页的PDF,除去大幅图片,也就100页左右的文字。每次做公交时,15分钟的车程上瞄上几眼,一周后才读完,但也不乏对个别章节反复揣摩联想,标注评论。通篇下来,倒也标注不少,忍耐不住,便又要开始发个牢骚,做个读书笔记。也算是Nexus 4的第一个大功劳。或许,等明年我再读Rework时,又有新的感悟、新的看法,也可能会否认我现在的观点。世界万物时刻都是在变化的,何况我呢?

Continue reading


google play购买Nexus 4手机小记(新增Nexus 5购买历程)

01692_leaftopliquidtrap_320x2402005年读大学时,我的手机是CECT,具体什么型号记不住了,在07年无法开机,200块钱在淘宝上买了黑莓7230,大约用了1年不到,硬件太差,频繁死机,又花了1500块,入手黑莓8800。从08年起,黑莓8800陪伴我到2012年的9月份,将近4年半的时间,由于很多潮流的社交软件都没有黑莓版,我也趁机冒充了一段时间的好男人。下一部手机,Nexus 4…

Continue reading


php与mysql通讯那点事

青青子衿,悠悠我心mysql,mysqli,pdo-mysql、libmysql、mysqlnd之间有什么关系?他们分别是什么?mysql_query之后的结果集是立刻从mysql server发送到客户端的吗?还是mysql_fetch_x函数递归时才获取的?mysql_query跟mysql_unbuffered_query函数那个更好些?我该如何选择mysql的API函数?mysql的客户端驱动用哪个为好?

Continue reading