June 17, 2012
FCKeditor + SyntaxHighlighter 让代码高亮着色
"FCKeditor是现在最为流行的开源编辑器,SyntaxHighlighter是一个用JS实现的代码高亮显示插件,可以最小化修改您的程序实现效果,最终效果截图:\n演示网页:\n下载FCKeditor + SyntaxHighlighter插件包:fck_SyntaxHighlighter.zip\n下面分步介绍如何在FCKeditor环境中使用SyntaxHighlighter。\n后台FCKeditor编辑器的修改\n1、将包解压后,把 insertcode 文件夹上传到 FCKeditor编辑器的editor\\plugins\\目录下,然后修改FCKeditor编辑器的fckconfig.js此文件,在此文件中 FCKConfig.PluginsPath = FCKConfig.BasePath + ‘plugins/’ ;下面加入以下代码: FCKConfig.Plugins.Add(‘insertcode’);\n2、打开FCKeditor编辑器的editor\\lang文件夹里的zh-cn.js,在DlgDivInlineStyle : “CSS 样式”,(注意这句后面一定要加一个逗 …"
June 12, 2012
CAP理论十二年回顾:”规则”变了
"本文首发于 Computer 杂志,由InfoQ和IEEE呈现给您。\nCAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间的平衡。\n自打引入CAP理论的十几年里,设计师和研究者已经以它为理论基础探索了各式各样新颖的分布式系统,甚至到了滥用的程度。NoSQL运动也将CAP理论当作对抗传统关系型数据库的依据。\nCAP理论主张任何基于网络的数据共享系统,都最多只能拥有以下三条中的两条:\n数据一致性(C),等同于所有节点访问同一份最新的数据副本; 对数据更新具备高可用性(A); 能容忍网络分区(P)。 CAP理论的表述很好地服务了它的目的,即开阔设计师的思路,在多样化的取舍方案下设计出多样化的系统。在过去的十几年里确实涌现了不计其数的新系 统,也随之在数据一致性和可用性的相对关系上产生了相当多的争论。“三选二”的公式一直存在着误导性,它会过分简单化各性质之间的相互关系。现在我们有必 要辨析其中的细节。实际上只有“在分区存在的前提下呈现完美的数据一致性和可用性” …"
June 4, 2012
linux nginx php木马排查及加固整理
"1、改变目录和文件属性,禁止写入\nfind -type f -name *.php –exec chmod 444 {} ; find -type d -exec chmod 555 {} ;\n注:当然要排除上传目录、缓存目录等; 同时最好禁止chmod函数,攻击者可通过chmod来修改文件只读属性再修改文件\n2、php配置 禁用危险函数\npassthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter, ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,popen,dl, syslog,show_source\n3、nginx配置\n限制一些目录执行php文件\nlocation~^/images/.*.(php|php5)$ { denyall; } …"
May 26, 2012
Linux下独立添加PHP扩展模块mbstring 和 curl
"环境php5.2.13, 不支持mbstring扩展 假如php的源码包在/usr/local/src/php-5.2.13 php安装目录是/usr/local/php\n# cd /usr/local/src/php-5.2.13/ext/mbstring/ # rpm -qa|egrep “autoconf|gcc” 这个是检测这些组件是否安装,没有安装请执行下面这句,否则会报错 # yum -y install autoconf gcc gcc-c++ # phpize # ./configure –with-php-config=/usr/local/bin/php-config # make # make install\n执行完毕后在php.ini里增加\nextension=mbstring.so\n重启web服务器, 看一下phpinfo, 应该支持mbstring了!\n=================================== 1.安装curl\nwget http://curl.haxx.se/download/curl-7.19.6.tar.gz tar …"
May 26, 2012
You could try using –skip-broken to work around the problem 解决办法
"–\u0026gt; Missing Dependency: libevent-1.4.so.2()(64bit) is needed by package mysql-proxy-0.5.1-2.el5.x86_64 (epel)\nError: Missing Dependency: libevent-1.4.so.2()(64bit) is needed by package mysql-proxy-0.5.1-2.el5.x86_64 (epel)\nYou could try using –skip-broken to work around the problem\nYou could try running: package-cleanup –problems\npackage-cleanup –dupes\nrpm -Va –nofiles –nodigest\nThe program package-cleanup is found in the yum-utils package.\n解决:\n[root@oracle10g bin]# yum –skip-broken update"
May 26, 2012
CentOS 5.1安装php mcrypt和mbstring的扩展
"还是先说系统及php相应的版本:\nCentOS 5.1 内核 2.6.18; php 5.2.6 ;phpmyadmin3.2.2\n其 实大家遇到的问题是phpmyadmin 3.2.2 这个版本需要更高的php版本来支持,当然CentOS 5.1 5.2 5.3这些版本的php都是5.1的,所以问题就自然来了。如果我们要安装php-mcrypt和php-mbstring 的扩展,用系统自带的yum 来升级安装是不行的。但是用rpm 或源码安装也是没有问题的。可是我从网上找了很多帖子不是这里有问题就是那里不行。今天就尝试下看是否有更快捷的方法。\n结果还真是让我三番五次的试出来了,下面我就给大家说明下。\n因为很多博客系统和网站都需要一个GD库的支持,默认情况下很多是不直接支持的,需要我们单独安装,所以为了升级安装我的php版本我从网上找了一个yum升级的源:http://www.jasonlitka.com\n这样我们要具体做得就是更改 /etc/yum.reposd 里面的文件,我们先把原有的文件全部进行重命名的备份,然后新件一个 .repo后缀的文件 名字自己随便起,在这个文件中添加内 …"
May 26, 2012
解决办法The page you are looking for is temporarily unavailable错误,php-cgi没启动
"今天访问WordPress程序做的网站,突然出现The page you are looking for is temporarily unavailable错误,服务器环境为: Linux+Nginx+MySQL+PHP。于是上网查找解决方法,找到以下两个解决方法,作为参考:\n** 解决方法一:**\n访问discuz论坛很正常,但是一旦访问uc_server的后台就这样nginx就提示以下错误:\nThe page you are looking for is temporarily unavailable. Please try again later.\n1.先检查PHP FastCGI进程数是否够用:\nnetstat -anpo|grep “php-cgi”|wc -l 如果输出为0的话,则表示FastCGI 进程数够大,可通过修改php-fpm.conf或者使用 http://blog.haohtml.com/archives/5530 介绍的命令修改\n2.此时则修改scgi_params文件,找到:\nscgi_param SCGI 1;\n把它改为:\nscgi_param …"
May 25, 2012
New HTTP status codes
"RFC 6585 has been published quite recently. This document describes 4 new HTTP status codes.\nSo in case you were wondering, yes.. HTTP is still evolving :), and these new statuses may be quite useful for developing your REST, or otherwise HTTP-based service. This post describes why they are important, and when you should use them.\n428 Precondition Required A precondition is something a client can send along with a HTTP request."
May 25, 2012
MySQL数据库的IO操作
"导读:\n淘宝丁奇分享的PPT:MySQL数据库的IO操作,详细分享了四块的内容,并且告诉大家如何调整MySQL数据库IO操作相关的参数,给出了详细的选择策略,现替其整理成文章分享与此。\nPPT内容提纲:\n1.MySQL的文件及简介\n2.数据访问流程\n3.文件访问模式\n4.影响io行为的一些参数和选择策略\n1.MySQL的文件及简介\n2.数据访问流程\n一个简单的查询 select * from t where id\u0026gt;=( select id from t where k1=100 limit 100000,1) limit 2;\n表结构:\nCREATE TABLE t (\nid int(11) NOT NULL,\nk1 int(11) DEFAULT NULL,\ndata char(100) DEFAULT NULL,\nPRIMARY KEY (id),\nKEY k1 (k1)\n) ENGINE=InnoDB DEFAULT CHARSET=gbk;\n3.数据访问流程\n4.数据访问流程\n一个简单的更新 insert into t values(1, 100, ‘abcd’);\n5. …"
May 25, 2012
从PHP客户端看MongoDB通信协议
"MongoDB的 PHP 客户端有一个 MongoCursor 类,它是用于获取一次查询结果集的句柄(或者叫游标),这个简单的取数据操作,内部实现其实不是那么简单。本文就通过对 MongoCursor 类一些操作进行分析,向大家揭开 MongoDB 客户端服务器通信的一些内部细节。\ngetNext与网络请求 通常来说,每一次find操作都会返回一个MongoCursor对象,在这个对象上调用getNext方法,就能够获得一条结果数据。循环调用getNext方法就能获取多条数据。下面我们就来看看其内部取数据的具体逻辑。\n首先我们用最简单的方法来生成一个MongoCursor对象:\n$m = new Mongo(); $collection = $m-\u0026gt;demoDb-\u0026gt;demoCollection; $cursor = $collection-\u0026gt;find(); 当我们调用 find 方法的时候,会生成一个 MongoCursor 对象,而这时候只是生成一个内存中的对象而已,并不会把我们的 find 查询发送到服务端,因为在生成 MongoCursor 对象后,我们还可能对 …"