PHP5中初次使用phplib小记

阅读http://www.phpe.net/articles/256.shtml《在PHP世界中选择最合适的模板–比较PHPLIB Template和FastTemplate》后决定使用phplib。 安装步骤: 1、http://phplib.sourceforge.net下载 phplib-7.4a.tar.gz; 2、解压到G:\php5\phplib目录; 3、修改php.ini: 。。。 ;;;;;;;;;;;;;;;;;;;;;;;;; ; Paths and Directories ; ;;;;;;;;;;;;;;;;;;;;;;;;; ; UNIX: "/path1:/path2" ;include_path = ".:/php/includes" ; ; Windows: "\path1;\path2" ;include_path = ".;c:\php\includes" include_path = &[……]

继续阅读 »

文件夹隐藏属性为灰色,无法修改的解决方案

最近vbs病毒十分猖獗 今天遇到一个阿塞拜疆mm的电脑文件夹都不见了,全是快捷方式;显示隐藏文件,删除这些快捷方式之后,隐藏的文件夹可以看到了,不过默认隐藏属性 而且是灰色无法修改 找到这篇文章 解决问题: 解决方法:   1:"开始"-"运行"输入"cmd"   2:进入出问题的盘 接输入如"F:"回车    其中.入文件夹用cd 如cd changefile (changefile为文件夹名字)   3:attrib /s /d -s -h 每个盘重复步骤2,3即可. 以下是attrib的原理: 现在很多通过u盘进行传播的病毒又新出了这么一个特性:就是感染之后你的文件夹都被隐藏了,你想通过改文件属性改出来的时候却发现属性里面的隐藏项是灰色的!!! 那怎么办呢 下面就是解决这个问题的办法 接下来是相关的命令知识 在cmd中可以用ATTRIB [+R | -R] [+A | -A ] [+S | -S] [[……]

继续阅读 »

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

CentOS安装好,默认只打开了22端口,如果希望开放其他端口的话,需要打开所需端口。 比如打开http的默认端口80 编辑iptables vi /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,则调用函数wp_updat[……]

继续阅读 »

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);  &#1[……]

继续阅读 »

extract compact函数~

很好用的两个php函数,一个将数组元素解压出来,一个是将元素压缩到数组里,与WinRAR之类的压缩解压程序神似哈~

compact() 函数创建一个由参数所带变量组成的数组。如果参数中存在数组,该数组中变量的值也会被获取。
本函数返回的数组是一个关联数组,键名为函数的参数,键值为参数中变量的值。

本函数执行的行为与 extract() 正好相反。
<?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[……]

继续阅读 »