CentOS下如何在防火墙中打开端口

条评论
CentOS安装好,默认只打开了22端口,如果希望开放其他端口的话,需要打开所需端口。比如打开http的默认端口80编辑iptablesvi /etc/sysconfig/iptables添加-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3001 -j ACCEPT  重新启动服务/sbin/service iptables restart查看端口是否开放/sbin/iptables -L -n

阅读全文

HOOK的根源

条评论
我一直在避免写HOOK的技术实现,想尽可能地将一些看不到的东西收集起来。相对于了解一个成熟的技术,还不如去了解其中的思想吧。我是这样认为的。这一章会暂时远离HOOK本身,我们会尝试着去思考这些技术出现的根源。很多人象我一样,从OP的衰败中走向OO的繁荣。软件的复杂度也是突飞猛进。当年“没有银弹”的断言,非常准确地说明了软件的发展趋势,当新技术发展的时候,软件的复杂度也随之发展。我们现在的软件,已经不再是OP时代的软件了。大家需要的不再是一段会计算的代码。大家需要图形界面,大家需要管理流程,大家需要信息共享!假设我们以前那些单一功能的软件都可以比喻成一条路的话。它非常简单,你只要考虑从A如何走到B就可以了。 后来,我们的软件慢慢复杂起来,他们已经不再满足于一个功能,进行多功能整合的软件比比皆是。事实上,那个时候,好多软件都是一个功能的集合。 随着技术的发展,我们不再满足于这些简单功能的叠加。事实上,正是这个时候,我们的软件产业才真正发展起来。在中国,2000年以来,软件企业开始尝试工业化生产技术,发展速度明显加快,与国际差距明显缩小。随着工业化发展,我们的软件复杂度是急剧的增加。它的功能...

阅读全文

HOOK的发展

条评论
非常遗憾,HOOK的发展史不是那么清晰可见。事实上,HOOK到底是什么,很多人的说法都不一样。 最早是在操作系统中出现的HOOK概念。在Unix/Linux/Windows中都有类似概念。当时提出的目的在于,允许用户在系统调用过程中,插入自己的代码处理特殊事情。典型的HOOK就是用自己的功能替换原有的函数点,在处理完成之后,又恢复原有的函数点。(这里“点”就是表示一个可以使用HOOK勾住的位置)。 下面是《关于钩子》中,描述的Windows是中的钩子: 在Windows中,钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的...

阅读全文

WordPress MU 更新分类名字时分类ID也发生变化 问题解决

条评论
在使用WordPress MU作为CMS二次开发一个多用户多站点的网站,遇到了一个问题:在修改文章分类(category)名字的时候,这个名字对应的分类ID(cat_id)也会发生变化,这样就没有办法建立一个统一的网站分类框架,也就没办法批量操作。 为了解决这个问题,开始从后台修改分类的页面查起,逐渐找到问题所在,路径如下: wp-admin/category.php在category.php页面查看源文件找到修改分类的表单action指向category.php,同时传递了名为action值为editedcat的隐藏表单变量;于是查看category.php源码,找到关键词editedcat,发现处理传入的POST表单变量是被wp_update_category()这个函数处理的;在wp-admin/includes/taxonomy.php文件里找到这个函数的定义,这个函数又调用了wp_insert_category()函数。函数wp_insert_category()首先判断是更新(updating)还是新增(creating),如果是update,...

阅读全文

Limesurvey 1.85+ 统计模块pChart中文乱码问题解决

条评论
由于Jpgraph是收费的,并且需要自己安装,Limesurvey在1.8的某个小版本上抛弃了Jpgraph,改用开源的pChart,并且内置在程序内。这类PHP画图的库默认对中文的支持都不完美,Jpgraph默认中文也会乱码。 针对pChart乱码问题,网上一般的解决方法就是说需要选择一个支持中文的字体,有一篇文章提供了较多的经验:另外需要注意的是中文支持1.如果有中文需要配置一个ttf的中文字体,否则会乱码;2.数据,php,显示页面编码都设置成统一的编码,否则也会乱码,我统一用UTF8. 然后在/admin/statistics.php里设置字体,不起作用;按照编码的思路检查数据库编码、页面显示编码以及php编码,都是清一色的UTF-8 无奈了,突然想到既然pChart被集成进去,Limesurvey的设置文件是不是有关于pChart的设置,找了一下config.php,没有,原来在config-default.php里,在这里设置了字体,然后删除/tmp里的png图片缓存,刷新刷新刷新,不起作用 过了一会儿再试一下 好了。。。 总结一下,设置好中文...

阅读全文

php中搜集了几个常用函数

条评论
文件读取函数    //文件读取函数   function PHP_Read($file_name) {   $fd=fopen($file_name,r);   while($bufline=fgets($fd, 4096)){   $buf.=$bufline;    }   fclose($fd);   return $buf;    }   ?> 文件写入函数    //文件写入函数   function PHP_Write($file_name,$data,$method=”w”) {   $filenum=@fopen($file_name,$method);   flock($filenum,LOCK_EX);   $file_data=fwrite($filenum,$data);   fclose($filenum);   return $file_data;    }   ?> 静态页面生成函数    //静态页面生成函数   func...

阅读全文

extract compact函数~

条评论
很好用的两个php函数,一个将数组元素解压出来,一个是将元素压缩到数组里,与WinRAR之类的压缩解压程序神似哈~ compact() 函数创建一个由参数所带变量组成的数组。如果参数中存在数组,该数组中变量的值也会被获取。本函数返回的数组是一个关联数组,键名为函数的参数,键值为参数中变量的值。 本函数执行的行为与 extract() 正好相反。 1234567<?php$firstname = "Peter";$lastname = "Griffin";$age = "38";$result = compact("firstname", "lastname", "age");print_r($result);?>

阅读全文

SecureCRT 中文字体解决方案

条评论
利用SecureCRT远程访问Linux主机,经常会出现中文内容乱码的情况,经过综合搜索解决了这个问题: 1.在“会话选项”的“终端->仿真”里面选“Linux”或者x-term,如果需要显示颜色的话需要把“ANSI颜色”选上2.在“外观->字体”中选择喜欢的字体,但这里对字体是有要求的,只有等宽字体才行。如果要正常显示中文的话,所选择的字体还必须包含中文字符。编程最合适的字体之一,也是我最喜欢的字体Monaco不行的,这个字体显示英文非常好,但是不含中文字体;有网友做了修改,著名的YaHei.Consolas就是其中的一个,但是我在SecureCRT测试并不能选择中文字符集;又找到一个叫做“Yahei Mono”的网友修改版,非常好用 在字体设置页面可以选择GB2312的中文字符集 简单的说这部分需要注意两点:**a.选择一个支持中文的字体 b.这个中文字体必须支持GB2312的字符集**3.会话选项->终端->外观->字符编码 一般选择UTF-8,如果不确定可以在远程linux主机上,用echo $LANG看一下系统默认编码 一般是zh_CN.UTF-...

阅读全文

分区丢失 显示未格式化或者为空的解决办法

条评论
        昨天某客户扛着ASUS F3SR找上门来,进入PE之后,发现磁盘最后一个分区变成了空白可用空间。        首先请出Winhex(下载地址:http://www.newhua.com/soft/1509.htm),这位强大的十六进制编辑器。点击“工具→打开磁盘”打开硬盘,发现丢失的分区。不过分区DBR全部丢失,欲通过修改主引导记录修复没能成功。        客户比较担心丢失分区里面的数据,千叮万嘱让我尽量不动该分区。我用了两步搞定:        第一步:克隆磁盘,通过Winhex把能识别出来的丢失分区的底层数据,克隆到另一分区(如图1)。选中来源磁盘为本机硬盘,目标盘为选定的空白分区(不小于丢失分区容量),不能选择复制整个媒体,使用默认的扇区数据(如图2)。经过一段时间等待后成功克隆,不过此时分区无法打开,双击盘符提示格式化,变成了不可识别的RAW分区。        第二步:不用格式化,请出R-studio(下载地址:http://www.newhua.com/soft/8654.htm),选择该盘之后右击选择“Scan”(扫描),扫描出来很多东西。双击扫描结...

阅读全文

在linux服务器 使用php mail发送邮件慢 解决方法

条评论
出现这样的状况的并发症还有,sendmail服务启动缓慢 查看sendmail的日志 1cat /var/log/maillog 大致看出是hostname有问题 首先对比这两个文件 12/etc/hosts/etc/mail/local-hosts-name 保持一致,并确认 hostname 无误 查看和变更本机hostname方法是 hostname [newhostname:string] 编辑/etc/mail/sendmail.cf 查找到Dj$w一行,vi查找命令是/string 可以看到出示状态是被注释掉的,在这里增加一行 Dj$w. 设置完毕 1/etc/init.d/sendmail restart 飞快重启

阅读全文