July 8, 2012
php下用iconv函数转换字符编码的问题
"昨天在调试 WAP 网站时发现,在增加了 GB2312 到 UTF-8 转化以后,有些页面显示不正常了——有些页面只有一半的内容,另一半被截掉了。因为被截掉的部分包含了\n的后半个标签\n,因此整个页面都显示不出来,而报告错误。经过猜测、尝试,最后终于把问题集中在了 iconv 函数上。在经过高人指点以后,发现这个函数的第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。但是我尝试了//TRANSLIT 和 //IGNORE 这两个后缀,效果还是不对。于是我想问题可能不是出在这里。\n从 GB2312 到 UTF-8 转化应该不会有不能转化的字符,因为 UTF-8 的字符集完全包含了 GB2312 中的字符,所以我想大概是前面要转化的字符集指定错了,于是我尝试着把 GB2312 改成 GBK\n$ary=addslashes(iconv(\u0026#34;GB2312\u0026#34;, …"
July 8, 2012
Nginx——关闭Nginx日志
"有时候,nginx日志十分吓人,我们有个客户受到攻击,nginx出现too many connections错误,日志5分钟就写入了10GB,硬盘很快就会满了。 那么,如何关闭Nginx日志?怎么取消/停止Nginx日志? 可以修改nginx.conf\naccess_log /dev/null; error_log /dev/null; 这样全部把他们丢到系统的黑洞里了。不用每时每刻都往系统磁盘疯狂的读写日志了 还延长硬盘的寿命。\n修改完,重启Nginx( kill -HUP cat logs/nginx.pid )即可。"
June 20, 2012
IIS启用gzip的方法,IIS如何开启gzip
"现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收 之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率。对于纯文本来讲,压缩率是相当可观的。如果每个用 户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了。\nIIS6已经内建了Gzip压缩的支持,可惜,没有设置更好的管理界面。所以要打开这个选项,还要费些功夫。\n首先,如果你需要压缩静态文件(HTML),需要在硬盘上建一个目录,并给它“IUSR_机器名”这个用户的写权限。如果压缩动态文件 (PHP,asp,aspx)就不需要了,因为它的页面是每次都动态生成的,压缩完就放弃。然后在IIS管理器中,“网站”上面右键-属性,不是下面的某 个站点,而是整个网站。进入“服务”标签,选上启用动态内容压缩,静态内容压缩。\n然后选中网站下面那个服务器扩展,新建一个服务器扩展。名字无所谓,下面的添加文件的路径是:\nc:\\windows\\system32\\inetsrv\\gzip.dll,然后启用这个扩展。\n这时 …"
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 …"