行得太快,記得太少 Living in IT…

6一/120

修复php-5.2.x和php-5.3.x hash dos漏洞

最近爆发出来的hash dos漏洞威力十足,杀伤力很大。随便一台服务器就可以发起ddos攻击,导致cpu长期占用100%,从而使服务器down机。下面给出php-5.2.x和php-5.3.x的修复方法。
php-5.2.x:
到这里https://github.com/laruence/laruence.github.com/tree/master/php-5.2-max-input-vars下载对应的补丁版本,进入php目录,执行patch -p1 < php-5.2.*-max-input-vars.patch打上补丁,之后make 和make install即可。
php-5.3.x:
php-5.3.x没有提供相应的补丁版本,laruence建议使用php5.3.x的升级到5.3.9RC4或者按照php5.2.x的补丁修改适应成php5.3.x的补丁。下面我们提供直接修改文件的方法,虽然比较麻烦。
1、修改/main/main.c文件,把STD_PHP_INI_ENTRY宏加到main.c的PHP_INI_BEGIN()和PHP_INI_END()宏之间来注册PHP INI指令:

  1. STD_PHP_INI_ENTRY(" max_input_vars", "1000", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateLongGEZero, max_input_vars, php_core_globals, core_globals)

2、修改文件/main/php_globals.h,_php_core_globals结构体内加上:

  1. long max_input_vars;

3、修改文件/main/php_variables.c,在:

  1. zend_symtable_update(symtable1, escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p);

之前加入:

  1. if (zend_hash_num_elements(symtable1) >= PG(max_input_vars)) {
  2. php_error_docref(NULL TSRMLS_CC, E_ERROR, "Input variables exceeded %ld. To increase the limit change max_input_vars in php.ini.", PG(max_input_vars));
  3. }

一共有两处,第一处数组中的键时的操作,而第二处是普通变量时的操作。

分类: PHP 没有评论
21十二/110

Zend Studio 9 破解方法

第一步:如果已经安装过Zend Studio 9.0的,请打开Zend Studio
9.0,在菜单中“help>Unregister”,如果显示是灰的跳过此步退出Zend
Studio。如果显示可以点击的请点击,这时Zend Studio会重启,重启到要求你填注册码时点“QUIT”按钮
第二步:下载com.zend.php.core_9.0.0.201111081531文件,下载成功后复制到你安装Zend Studio 9.0的plugins目录下,覆盖同名文件。
第三步:启动Zend Studio 9.0,输入如下注册码License key:(注意没有空格也没有换行)

34E606CF10C3E4CF202ABCEAA9B0B7A64DD2C5862A514B944AAAB38E3EB8A5F2CD735A2AB4CF9B952590EFA62BA0AB2B3E5D99C33C55309EE143165AC7F1817D626574615F3B32312F31312F323031313B392E303B3030313B313B3330



21十二/110

Zend Studio 9.0.0 正式版官方下载地址

Zend Studio 9.0.0 正式版官方下载地址(未包含IBM i edition下载)

zend studio 8 注册码(适用于7.0、8.0所有版本)
Username: zendstudio.net
Serial Number: 3727234F6095F72034F6095F
15十二/110

Unix Domain套接字的Java包 junixsocket

junixsocket 是一个通过 Java JNI (Java本地接口)实现的基于 Unix Domain 套接字(AF_UNIX )进行通讯的 Java 开发包。

junixsocket 扩展了 Java 的 Socket API ,支持基于 AF_UNIX 的 RMI 通讯,还可以使用 Unix Domain 套接字直接连接本地的 MySQL 服务器。

下面是一段使用 junixsocket 连接 MySQL 的代码示例:

import org.newsclub.net.mysql.AFUNIXDatabaseSocketFactory;

Class.forName("com.mysql.jdbc.Driver").newInstance();

Properties props = new Properties();
props.put("user", "test");
props.put("password", "test");
props.put("socketFactory", AFUNIXDatabaseSocketFactory.class.getName());
props.put("junixsocket.file", "/tmp/mysql.sock");

Connection conn = DriverManager.getConnection("jdbc:mysql:///库名", props);

 

需要在/opt/newsclub/lib-native 目录下添加

libjunixsocket-linux-1.5-amd64.so
libjunixsocket-linux-1.5-i386.so
libjunixsocket-macosx-1.5-i386.dylib
libjunixsocket-macosx-1.5-x86_64.dylib

 

以上四个文件可以在以下压缩包中获取到,目录在 junixsocket-1.3\lib-native

需要JAR包,可通过下面链接下载

http://junixsocket.googlecode.com/files/junixsocket-1.3-bin.tar.bz2

分类: JAVA 没有评论
9十二/110

PHP FastCGI Server: php5-fpm的配置

FPM配置文件位于/etc/php5/fpm下,包含main.conf(全局配置)和pool.d/*.conf。主要设定在pool.d下的*.conf文件,例如创建一个配置文件www.conf

其中pmpm.max_children等设置Fastcgi process manager能创建的child processes的个数。可以根据服务器的内存大小网站所要承受的负载来调整恰当的值。

 

如果内存有限(例如使用VPS),则可以考虑将max_children设置得小一些以节省内存。

 pm = dynamic 
pm.max_children = 8 
pm.start_servers = 5 
pm.min_spare_servers = 2
pm.max_spare_servers = 8 

或者设置成静态个数:

pm = static 
pm.max_children = 2 

完后重启php5-fpm FastCGI server: sudo /etc/init.d/php5-fpm reload

26十/111

Office 2010 Toolkit(Office2010激活工具)V2.2.3绿色版

Office 2010 Toolkit是一个简单的好用的MS Office2010激活工具。office2010密钥生成器原理就是利用KMS来激活,不是新的激活技术:( 180天后必须手工再次激活一次。网上流传的MAK密钥激活甚称完美,但有次数限制,激活后要备份激活信息,以便重装系统恢复激活。Office2010 Toolkit也有备份激活信息功能,建议下载一个Office 2010 Toolkit备用。

解压后以管理员身份运行,点击工具界面的“Main” 选项, 单击下面的“EZ-Activator” 按钮,工具会自动检测系统安装的Office程序并进行激活,稍后片刻,Office was successfully actived。

重新打开Office2010,查看激活状态你会发现已经激活了。

http://www.mediafire.com/?r90ffd2h80cj6

25十/110

MyEclipse6.6安装SVN

http://subclipse.tigris.org/update_1.6.x

分类: JAVA 没有评论
12十/110

mysql远程访问的设置

登陆以后运行以下命令,给予远程访问客户端权限.. 

grant all on *.* to 'remote'@'172.16.21.39' identified by 'password';

remote表示用户名.

'172.16.21.39' 远程ip地址

password表示远程登陆密码.

 

12十/110

-bash: killall: command not found 没有killall命令的解决方法

执行如下命令安装就行:

apt-get install psmisc

20九/110

Nginx下WordPresss URL静态化配置

在nginx.conf下添加以下配置,然后
serivce nginx restart

               location / {
                            if (-f $request_filename/index.html){
                                rewrite (.*) $1/index.html break;
                            }
                            if (-f $request_filename/index.php){
                                rewrite (.*) $1/index.php;
                            }
                            if (!-f $request_filename){
                                rewrite (.*) /index.php;
                            }
                }
   下一页