存档

2011年12月 的存档

PHP HashDos测试

2011年12月31日 3 条评论

昨晚在微博看到 laruence提到PHP Hash 冲突拒绝服务的信息,便在自己的机器上做了下测试,测试代码来自laruence
环境:

Kernel:Linux ubuntu 3.0.0-14-generic #23-Ubuntu
PHP:PHP 5.3.6-13ubuntu3.3 with Suhosin-Patch (cli) (built: Dec 13 2011 18:18:37) 
CPU:Pentium(R) Dual-Core  CPU E5400  @ 2.70GHz

local-hashdos.php

<?php
    $size = pow(2, 16);

    $startTime = microtime(true);
    $array = array();
    for ($key = 0, $maxKey = ($size - 1) * $size; $key <= $maxKey; $key += $size) {         $array[$key] = 0;     }     $endTime = microtime(true); 
?>

对比图

执行中:

执行完成后,系统负载正常

事实证明,BUG确实存在,而且很容易被别有用心的人利用,所以抓紧打补丁吧。
下载补丁点这里

分类: 关于技术 标签: , ,

Wine RTX中文乱码解决方法

2011年12月30日 没有评论

到了新公司,必须使用RTX,我又用的是Linux系统,所以只有用wine来安装RTX。
我的系统是Ubuntu 11.10,安装完后,出现中文方块,分析是因为字体问题,Linux下没有win下的字体导致的,查了不少网页都没解决,就自己动手,去查看注册表有关字体的项,逐项的去看去改,最后解决了。
下面就是整个解决过程: 阅读全文…

分类: 关于技术 标签: , , ,

Post by QTM on Unbuntu11.10

2011年12月30日 没有评论

Just for Testing

分类: 未分类 标签:

iOS发布测试

2011年12月6日 1 条评论

20111206-114409.jpg

分类: 关于生活 标签:

ImportError:No module named _sqlite3 错误解决

2011年12月5日 1 条评论

前几天在VPS上安装Ipython,安装后执行,抛出这个错误,上周深夜整理出思路,昨天一口气解决,mark之。
环境:编译安装的python2.6.5 Ipython0.11
症状:运行ipython抛出ImportError:No module named _sqlite3错误
解决方法:重新安装python-sqlite-1.1.7-0.1.2.2.el4 ,sqlite-devel-3.3.6-0.3.el4,sqlite-1.1.7-0.1.2.2.el4 三个包并重新编译Python。
分析过程:开始觉得是缺少sqlite3的相关包,但是

rpm -qa|grep sqlite

后,返回

sqlite-3.3.6-0.3.el4python-sqlite-1.1.7-0.1.2.2.el4sqlite-devel-3.3.6-0.3.el4

说明包是存在的(这里走了弯路,存在但是不完整),然后就怀疑是版本问题,在google搜索了,确认版本无问题,然后怀疑是编译安装的过程出了问题,以为需要在编译过程中指定sqlite3库文件的目录,来到python源码目录,执行

./configuer --help|grep sqlite

,发现无返回,说明编译中没有sqlite选项,然后动了查看setup.py的念头, 发现了这个

# The sqlite interface
 sqlite_setup_debug = False   # verbose debug prints from this script?
# We hunt for #define SQLITE_VERSION "n.n.n"
# We need to find >= sqlite version 3.0.8
        sqlite_incdir = sqlite_libdir = None
        sqlite_inc_paths = [ '/usr/include',
                             '/usr/include/sqlite',
                             '/usr/include/sqlite3',
                             '/usr/local/include',
                             '/usr/local/include/sqlite',
                             '/usr/local/include/sqlite3',
                           ]

至此确定了2件事,sqlite的版本没有问题,python编译是从

'/usr/include',
'/usr/include/sqlite',
'/usr/include/sqlite3',
'/usr/local/include',
'/usr/local/include/sqlite',
'/usr/local/include/sqlite3',

这几个目录去找sqlite的头文件的。

rpm -ql sqlite-devel-3.3.6-0.3.el4 

返回中有这么一行

/usr/include/sqlite3.h

我就去那目录去查看是否存在sqlite的头文件,结果发现没有。至此可以定位是因为sqlite开发包不完整引起的,重新安装sqlite相关的三个包,重新编译python问题解决。

分类: 关于技术 标签: , ,