技术笔记 Java 、PHP、Python的反序列化问题

最近关于反序列化的问题很热门,从不久前的vBulletin(PHP)到Apache Commons Collections(Java)再到今天的sqlmap(Python),各个语言的反序列化问题突然从理论研究变成了大把的实例。今天吃晚饭的路上跟同事讨论这个问题,在对Python的序列化/反序列化的理解上出现了分歧,吃完饭回来一测试,直接把我吓尿了。

这就是生活啊 碎碎碎碎碎碎念

博客又断更了几个月,然而转眼间2015年就要过去了。。。

碎碎念


这段时间在干啥呢?从7月到现在经历了很多事情,期间包括连续的三次被偷等非常不愉快的事情,也发生了一些让我在环境和心态上有大调整的事件,还曾深深体会了一把绝望的感觉,然后继续前行。

说实话我一直很后悔,在大四那会没啥社会经验就用了最宝贵的时间去玩了一把创业,真是...

这就是生活啊 phpcon 北京

昨天开始的phpcon北京,到今天就已经彻底结束了。两天时间内听到了很多很赞的分享,整理以做记录。

参加phpcon主要有两个目的,一是开眼界开脑洞,看看大牛们都在做什么;二是围观大牛姿态。对了,昨天最后一个议题抽奖环节,我一不小心抽中了当日大奖——一台锤子手机,还是白色的!感谢老高,感谢韩老师红手!

专题不少,我也不排着列了,只写下印象比较深的几位。其他的参看官网:http://www.phpconchina.com/

0x01 新浪微博的MAPI

由...

技术笔记 在Django中使用Celery

celer+django执行效果

Python的异步调用有很多种方式,其中Celery是一种简单有效的异步执行队列,分分钟上手。

关于Django+Celery的组合资料比较少,搜到的都是在Django中使用Django-celery来实现的,但是这样做有个问题:

如果分布式部署,其他客户端worker也要一套django环境?

由于Celery的工作原理比较容易理解,简单来说就是向broker(我这里使用rabbitMQ)队列中增加一项任务,包括任务名称和参数,然后依次执行。执行并不在添加任务的主机,而是在worker上。因此Django server和worker client本身就应该是彼此独立的,甚至说直...

技术笔记 php的多线程curl/curl_multi

curl_multi

最近在写python,做了一个抓取150个网站标题的脚本,被python的便捷、多线程和执行稳定性感动的要哭。然后想起了去年草稿箱里面的这篇文章,回首再看感慨万分,赶紧把剩下的部分写完,关于php多线程curl的几个大坑。

需求大概是这样:

要查询150个网站的存活情况,并抓取目标网站的标题。

实现起来很简单,将150个网站添加到循环,逐一执行curl即可。但是作为一个有点追求的码农,即便是150个网站也想着怎么去优化下,于是便使用了php的多线程curl(即curl_multi_*),没想到手册资料少,坑踩了一个又一个。

特此记录,分享&备忘...

技术笔记 [失败经验]yosemite折腾mac自带的php环境

mcrypt扩展

忍不了ubuntu的丑陋,在年底换了一台mbp。作为一个phper,第一时间就是要搭建一个php开发环境,于是便有了这次失败的折腾经历。虽然是一次失败的折腾,不过过程中还是学到了很多有意思的东西,记录以做备忘。

0x01  启用自带环境

yosemite自带了apache2.4.9,不过默认是不启用的,在「系统偏好设置」->「共享」中勾选「互联网共享」,即可开启apache。使用apachectl -v查看服务器的基本信息。

mac版的apache,与ubuntu版有很大的不同(或者说是ubuntu版与其他发行版有很大的不同),没有a2ensite/a2enmod等配置命...

这就是生活啊 2015碎碎念

一直想要更新博客,可一拖又是几个月。

不过之前也确实是忙,上个月还在青岛出差,瞎忙活各种项目,代码这边倒是没停歇,不过都更在osc的私有库上了。并在可预见的未来一月内,还是各种忙,已经有两个任务书下达到我身上了,还都不是我擅长的方向,蛋碎一地。

还是想写写代码,2014想过辞职去写代码,后来BOSS挽留就没走。说实话有点后悔了,因为我觉得自己留下来也并没发挥什么大作用,想去做的几个项目都莫名其妙没有下文了。倒是后来的一个队内项目勾起了我的一点兴趣。

项目内部代号“大炮”,如其名称,扯淡用...