JDK版本问题

  给一台服务器装了环境,发现程序怎么都不正常,折腾了半天,把先前装的JDK5.0换成了JDK1.4,一下就正常了。郁闷中……

MySQL错误问题

MySQL Connection Failed: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (111) 将 /tmp/mysql.sock link 到 /var/lib/mysql 目录即可: ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

Discuz!安装步骤

一、IIS安装 添加或删除程序里面的添加或删除Windows组件。 Apache1.3.22安装 二、PHP环境搭建  PHP文件拷贝及配置  1、解开php-4.3.10-Win32.zip压缩包,放在D:\PHP下面  2、把D:\PHP下面的 php.ini-dist 文件复制到C:\WINDOWS目录下 并改名成php.ini,根据不同情况修改:     extension_dir = “D:\php\extensions”     register_globals = On     Windows Extensions     extension=php_dbase.dll//可选     extension=php_gd2.dll //这个是用来支持GD库的,一般需要,必选     extension=php_ldap.dll //可选     extension=php_mbstring.dll //这不选一般用PHPMYADMIN会出红色提示,故必选 找到session.save_path,把这一项改为 session.save_path = d:\tmp  3、把D:\php\php4ts.dll 复制到 C:\windows\system32目录下  IIS配置  4、控制面版->管理工具->Internet服务管理器->点选“Web 服务扩展”->在右边窗口点击“添加一个新的 Web 服务扩展”->扩展名为 “PHP”->再点击“添加”->在出现的窗口里填上“d:\PHP\sapi\php4isapi.dll” 并确定 然后再点选 Web 服务扩展 PHP 并选择允许  5、在“网站属性”窗口上按 “主目录”标签 点“配置”按钮 在弹出的“映射”窗口中点取“添加”按钮,在弹出的“添加/编辑应用程序扩展名映像”对话框中的“可执行文件”文本框中输入“d:\PHP\sapi\php4isapi.dll” “扩展名”文本框中输入“.php”(注意一定要有那个点) 并勾选 “检查文件是否存在”项。  6、“Web站点属性”窗口上点取“ISAPI筛选器”标签,点击“添加”按钮,在弹出的“筛选器属性”窗口的“筛选器名称”中输入“PHP” “可执行文件”中浏览选定“d:\PHP\sapi\php4isapi.dll” 然后确定。 Apache配置 有两种方式使 PHP 工作于 Windows 下的 Apache 1.3.x。 一种是 CGI 方式(php.exe);另一种是使用 Apache 模块 DLL 不管哪种方式都需要停止 Apache,编辑 httpd.conf 来配置 Apache 以加入PHP支持。 值得在这里指出现在 Windows 下的 SAPI 模块更加稳定了,我们推荐使用模块方式,因为更加透明和安全。 CGI方式: ScriptAlias /php/ “c:/php/” AddType application/x-httpd-php .php .phtml Action application/x-httpd-php “/php/php.exe” 模块方式: 把 php4ts.dll 拷贝到 windows/system(Windows 9x/Me)或者 winnt/system32(Windows NT/2000)或者 windows/system32(Windows XP)目录下,覆盖原来的文件。 然后在 Apache 配置文件 httpd.conf 中加入以下两行: 找到 LoadModule 指令的部分,在其列表的最后部分加上如下一行, 对 PHP 4: LoadModule php4_module c:/php/sapi/php4apache.dll ★★★★★ 对 PHP 5: LoadModule php5_module “c:/php/sapi/php5apache.dll” 你可能发现在用 Windows Installer 安装了 Apache 之后需要为用 AddModule 指令定义 mod_php4.c。尤其是在定义了 ClearModuleList 指令时格外重要,向下滚动几行可以找到该指令。你将会看到 AddModule 项目的列表,在列表的最后加上这一行: AddModule mod_php4.c ★★★★★ 对于 PHP 5 则为: AddModule mod_php5.c 搜索类似 # AddType allows you to tweak mime.types 的短语,你会找到一些 AddType 的项目,并且在列表的最后有这一行: AddType application/x-httpd-php .php。你可以在这里选择任何想用 PHP 解析的后缀。.php 只是所建议的一个。甚至可以包括 .html,也可以加上 .php3 来向下兼容。 修改了配置文件之后记住重新启动 Apache,例如如果你的 Apache 是作为 Windows 的服务安装的,NET STOP APACHE 后面接上 NET START APACHE。或者用你通常使用的快捷方式。 有两种方式使用源程序语法彩色显示特色,但是取决于你的安装方法。如果你配置了 Apache 的 SAPI 模块方式使用 PHP,那么在 httpd.conf 中(和插入 AddType application/x-httpd-php .php 是同一个位置)加入下面一行就可以使用本特色:AddType application/x-httpd-php-source .phps。 如果你用 CGI 方式使用 PHP,那你需要用 show_source() 函数。建立一个 PHP 文件,加入以下代码:。用你想要显示源代码的文件名替换掉 original_php_script.php。 注: 在 Windows-Apache 组合中,所有路径中的反斜线例如 “c:\directory\file.ext” 都必须转换成斜线,如 “c:/directory/file.ext”。  PHP优化  下载后得到 ZendOptimizer-2.5.7-Windows-i386.exe ,直接双击安装即可,安装过程要你选择 Web Server 时,选择 IIS 三、MySQL安装  mysql-4.0.24-win,运行D:\mysql\bin\mysqld-nt.exe  修改密码。  格式:mysqladmin -u用户名 -p 旧密码 password 新密码  例如:mysqladmin -u root password 新的密码  注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 四、Discuz!安装  1、解压Discuz!_2.5F_SP1_gb.zip 2、上传 ./upload 下的所有文件到服务器(其他目录不用上传) 3、★将服务器上 ./templates, ./attachments, ./customavatar, ./forumdata, ./forumdata/cache,./forumdata/templates, ./forumdata/accesslogs 五个目录属性改为 777,否则无法继续安装或部分功能无法使用。 4、运行 install.php 根据提示安装程序,设置管理员账号。

[转帖]Java正则表达式技巧总结

[转帖]Java正则表达式技巧总结 这里我总结了一下正则表达式: 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^\x00-\xff]/g,”aa”).length;} 匹配空行的正则表达式:\n[\s| ]\r 匹配HTML标记的正则表达式:/<(.)>.|<(.) \/>/ 匹配首尾空格的正则表达式:(^\s)|(\s$) 应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下: String.prototype.trim = function() { return this.replace(/(^\s)|(\s$)/g, “”); } 利用正则表达式分解和转换IP地址: 下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的javascript程序: function IP2V(ip) { re=/(\d+).(\d+).(\d+).(\d+)/g //匹配IP地址的正则表达式 if(re.test(ip)) { return RegExp.$1Math.pow(255,3))+RegExp.$2Math.pow(255,2))+RegExp.$3255+RegExp.$41 } else { throw new Error(“Not a valid IP address!”) } } 不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下: var ip=”10.100.20.168″ ip=ip.split(“.”) alert(“IP值是:”+(ip[0]255255255+ip[1]255255+ip[2]255+ip[3]1)) 匹配Email地址的正则表达式:\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+) 匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w– ./?%&=])? 我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。 得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1 s=”http://www.9499.net/page1.htm“; s=s.replace(/(.\/){0,}([^.]+).*/ig,”$2″) alert(s) 利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:onkeyup=”value=value.replace(/[^\u4E00-\u9FA5]/g,”)” onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\u4E00-\u9FA5]/g,”))” 用正则表达式限制只能输入全角字符: onkeyup=”value=value.replace(/[^\uFF00-\uFFFF]/g,”)” onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\uFF00-\uFFFF]/g,”))” 用正则表达式限制只能输入数字:onkeyup=”value=value.replace(/[^\d]/g,”) “onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\d]/g,”))” 用正则表达式限制只能输入数字和英文:onkeyup=”value=value.replace(/[\W]/g,”) “onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\d]/g,”))”

免费网络硬盘的归类分析(转)

http://www.newsunday.com/blogview.asp?logID=2531 在网上冲浪,总要有个网络硬盘,这样一是可以保存自己重要的资料,相当于给重要资料做个备份,毕竟有时候硬盘也不太可靠;二是如果外出,只要有网络,就可以方便地找到自己的资料进行处理;三是把网络硬盘做为一个资料分享的场所,通过它把自己的资源与好友共享。      根据我的分析和归类,现在的网络硬盘大致有四种类型:(以下只是自己一些试用的经验,如有不符,欢迎指正。)      一、专业的网络硬盘。      功能专业,只提供网络硬盘的服务,上传下载的速度以及文件共享方面做得比较好。      蜂盘 http://www.1g.cn   100M空间,基于资源管理器访问,使用非常方便,和本地硬盘使用差不多,速度也很快,蜂盘提倡资源共享,分享蜂友的蜂盘里共享的所有东东。现在使用的人也越来越多了,蜂盘是目前互联网上我用过的最好的网络硬盘。      Vdisk http://www.vdisk.cn   100M,需要客户端才可上传文件,而且速度不太稳定,类似于蜂盘的一个东东,不过现在有绿色免安装版的客户端程序,也可以共享资源,值得一提的是它可以在线搜索共享资源。      永硕E盘 http://www.ys168.com/   20M,比较稳定,平时速度还不错,而且可以收藏网址,浏览者也可以留言,对于小于0.3M的jpg,gif,bmp,txt文件可以直接打开,不爽的是有文件和流量的限量。         二、从电子邮箱或是个人主页发展而来的web方式网络硬盘。      这类一般是最初提供邮箱或是主页空间,后来把网络硬盘做为一个附加的功能加上去的。因此两者都是登录之后,统一在一起进行操作的。功能上也比较完善了。比如可以实现网络硬盘密码共享、文件批量上传等。web方式的网络硬盘随着互联网的发展,迟早要会被淘汰的,因为http文件传输协议有先天性的残疾,大文件传不上去,速度慢,传输过程是明码的。这类型的网络硬盘有:      雅虎公文包 http://cn.briefcase.yahoo.com/   30M,虽然空间不大,而且速度不太理想,不过使用它只要一个理由,可靠。有什么比可靠更能打动人呢?雅虎总不会说关闭就关闭你帐户吧?      K65 http://www.k65.net/   电子邮箱、网络硬盘、电子相册三合一,无限空间,试用感觉不错,不过不知道能不能一直免费下去?      35网络U盘 http://ud.35.com   同K65一样也是三合一的空间,有客户端和在线两种上传方式,还可以添加U盘邻居,与好友资源共享,只是不知道免费用户的时效是多久。      MSN 用户的免费网络磁盘   微软提供的免费午餐,使用非常方便,在网上邻居[MSN 上的“我的网站”]就可以进入,就是容量太小。      万吉网络硬盘 http://netdisk.9999g.com/   32M,网络硬盘与个人主页捆绑,空间共享,安装控件可实现批量上传和文件续传,并有文件共享的功能。      台湾蕃著藤网路硬碟 http://webhd.yam.com   6M,上传文件有2M限制,对中文支持不太好,可文件共享,若连续45天没登入,将被清空。要求太严格,不推荐使用。      SUPER DOG http://www.beshou.com/superdog/   这个比K65更夸张,集合了文件存储、电子相册、记事本、网址收藏、通讯薄、日程安排、涂鸦板、名站导航、网上社区、休闲娱乐等功能于一体。这么多的功能,而网址对应的却只是“全球商业搜索”网站下的一个虚拟目录,这让我有些不敢放心,不推荐使用。         三、大文件中转空间。      并不是属于你的空间,只是替你暂时保管,有存放时间限制。      中国活动通信 http://www.mofile.com/   32M的保管箱和512M的接力站,前者是永久保存,后者只能保存三天。最大的用处就是可以存放和提取大文件。也因为文件大,断线或错误的可能性大,所以有断点续传的功能(系统要安装Java虚拟机)。      无忧备份 http://www.51bak.net   跟mofile差不多,不同的是可以上传单个1G的文件,免费保存20天,安装客户端可以实现断点续传。         四、IM软件附加的网络硬盘。      比如QQ和UC的网络硬盘,不过毕竟是附加的功能,IM软件主要还是以网络即使信息联系为主,所以这类的网络都需要安装IM软件才能上传文件,而且自己要提取和朋友下载都不是太方便。所以就不详细介绍了。

谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词(转)

http://dev.csdn.net/develop/article/69/69883.shtm 这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢? 我很早前就发现Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢? 问题二: 最近在网上看到一个ConvertUTF.c,实现了UTF-32、UTF-16和UTF-8这三种编码方式的相互转换。对于Unicode(UCS2)、GBK、UTF-8这些编码方式,我原来就了解。但这个程序让我有些糊涂,想不起来UTF-16和UCS2有什么关系。 查了查相关资料,总算将这些问题弄清楚了,顺带也了解了一些Unicode的细节。写成一篇文章,送给有过类似疑问的朋友。本文在写作时尽量做到通俗易懂,但要求读者知道什么是字节,什么是十六进制。 0、big endian和little endian big endian和little endian是CPU处理多字节数的不同方式。例如“汉”字的Unicode编码是6C49。那么写到文件里时,究竟是将6C写在前面,还是将49写在前面?如果将6C写在前面,就是big endian。还是将49写在前面,就是little endian。 “endian”这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开,由此曾发生过六次叛乱,其中一个皇帝送了命,另一个丢了王位。 我们一般将endian翻译成“字节序”,将big endian和little endian称作“大尾”和“小尾”。 1、字符编码、内码,顺带介绍汉字编码 字符必须编码后才能被计算机处理。计算机使用的缺省编码方式就是计算机的内码。早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。 GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是7294=6768。其中有5个空位是D7FA-D7FE。 GB2312支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。 从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。 有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。 这里还有一些细节: GB2312的原文还是区位码,从区位码到内码,需要在高字节和低字节上分别加上A0。 在DBCS中,GB内码的存储格式始终是big endian,即高位在前。 GB2312的两个字节的最高位都是1。但符合这个条件的码位只有128128=16384个。所以GBK和GB18030的低字节最高位都可能不是1。不过这不影响DBCS字符流的解析:在读取DBCS字符流时,只要遇到高位为1的字节,就可以将下两个字节作为一个双字节编码,而不用管低字节的高位是什么。 2、Unicode、UCS和UTF 前面提到从ASCII、GB2312、GBK到GB18030的编码方法是向下兼容的。而Unicode只与ASCII兼容(更准确地说,是与ISO-8859-1兼容),与GB码不兼容。例如“汉”字的Unicode编码是6C49,而GB码是BABA。 Unicode也是一种字符编码方法,不过它是由国际组织设计,可以容纳全世界所有语言文字的编码方案。Unicode的学名是”Universal Multiple-Octet Coded Character Set”,简称为UCS。UCS可以看作是”Unicode Character Set”的缩写。 根据维基百科全书(http://zh.wikipedia.org/wiki/)的记载:历史上存在两个试图独立设计Unicode的组织,即国际标准化组织(ISO)和一个软件制造商的协会(unicode.org)。ISO开发了ISO 10646项目,Unicode协会开发了Unicode项目。 在1991年前后,双方都认识到世界不需要两个不兼容的字符集。于是它们开始合并双方的工作成果,并为创立一个单一编码表而协同工作。从Unicode2.0开始,Unicode项目采用了与ISO 10646-1相同的字库和字码。 目前两个项目仍都存在,并独立地公布各自的标准。Unicode协会现在的最新版本是2005年的Unicode 4.1.0。ISO的最新标准是10646-3:2003。 UCS规定了怎么用多个字节表示各种文字。怎样传输这些编码,是由UTF(UCS Transformation Format)规范规定的,常见的UTF规范包括UTF-8、UTF-7、UTF-16。 IETF的RFC2781和RFC3629以RFC的一贯风格,清晰、明快又不失严谨地描述了UTF-16和UTF-8的编码方法。我总是记不得IETF是Internet Engineering Task Force的缩写。但IETF负责维护的RFC是Internet上一切规范的基础。 3、UCS-2、UCS-4、BMP UCS有两种格式:UCS-2和UCS-4。顾名思义,UCS-2就是用两个字节编码,UCS-4就是用4个字节(实际上只用了31位,最高位必须为0)编码。下面让我们做一些简单的数学游戏: UCS-2有2^16=65536个码位,UCS-4有2^31=2147483648个码位。 UCS-4根据最高位为0的最高字节分成2^7=128个group。每个group再根据次高字节分为256个plane。每个plane根据第3个字节分为256行 (rows),每行包含256个cells。当然同一行的cells只是最后一个字节不同,其余都相同。 group 0的plane 0被称作Basic Multilingual Plane, 即BMP。或者说UCS-4中,高两个字节为0的码位被称作BMP。 将UCS-4的BMP去掉前面的两个零字节就得到了UCS-2。在UCS-2的两个字节前加上两个零字节,就得到了UCS-4的BMP。而目前的UCS-4规范中还没有任何字符被分配在BMP之外。 4、UTF编码 UTF-8就是以8位为单元对UCS进行编码。从UCS-2到UTF-8的编码方式如下: UCS-2编码(16进制) UTF-8 字节流(二进制) 0000 – 007F 0xxxxxxx 0080 – 07FF 110xxxxx 10xxxxxx 0800 – FFFF 1110xxxx 10xxxxxx 10xxxxxx 例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间,所以肯定要用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 110001 001001, 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。 读者可以用记事本测试一下我们的编码是否正确。 UTF-16以16位为单元对UCS进行编码。对于小于0x10000的UCS码,UTF-16编码就等于UCS码对应的16位无符号整数。对于不小于0x10000的UCS码,定义了一个算法。不过由于实际使用的UCS2,或者UCS4的BMP必然小于0x10000,所以就目前而言,可以认为UTF-16和UCS-2基本相同。但UCS-2只是一个编码方案,UTF-16却要用于实际的传输,所以就不得不考虑字节序的问题。 5、UTF的字节序和BOM UTF-8以字节为编码单元,没有字节序的问题。UTF-16以两个字节为编码单元,在解释一个UTF-16文本前,首先要弄清楚每个编码单元的字节序。例如收到一个“奎”的Unicode编码是594E,“乙”的Unicode编码是4E59。如果我们收到UTF-16字节流“594E”,那么这是“奎”还是“乙”? Unicode规范中推荐的标记字节顺序的方法是BOM。BOM不是“Bill Of Material”的BOM表,而是Byte Order Mark。BOM是一个有点小聪明的想法: 在UCS编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符”ZERO WIDTH NO-BREAK SPACE”。 这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符”ZERO WIDTH NO-BREAK SPACE”又被称作BOM。 UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符”ZERO WIDTH NO-BREAK SPACE”的UTF-8编码是EF BB BF(读者可以用我们前面介绍的编码方法验证一下)。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。 Windows就是使用BOM来标记文本文件的编码方式的。 6、进一步的参考资料 本文主要参考的资料是 “Short overview of ISO-IEC 10646 and Unicode” (http://www.nada.kth.se/i18n/ucs/unicode-iso10646-oview.html)。 我还找了两篇看上去不错的资料,不过因为我开始的疑问都找到了答案,所以就没有看: “Understanding Unicode A general introduction to the Unicode Standard” (http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=IWS-Chapter04a) “Character set encoding basics Understanding character set encodings and legacy encodings” (http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=IWS-Chapter03) 我写过UTF-8、UCS-2、GBK相互转换的软件包,包括使用Windows API和不使用Windows API的版本。以后有时间的话,我会整理一下放到我的个人主页上(http://fmddlmyy.home4u.china.com)。 我是想清楚所有问题后才开始写这篇文章的,原以为一会儿就能写好。没想到考虑措辞和查证细节花费了很长时间,竟然从下午1:30写到9:00。希望有读者能从中受益。

MediaWiki安装

  通过安装测试,最终发现,PHP的MediaWiki不错。   MediaWiKi架设非常容易,下一步下一步就安装成功了,安装成功之后,记得把配置文件LocalSettings.php移动到父目录。   不过需要注意的是PHP的执行模式,如果是IIS,在ISAPI和CGI两种工作模式之间可能需要修改它的配置文件。它缺省的是CGI模式的,即通过: #$wgArticlePath = “$wgScript/$1”;   这种方式来访问,如果你安装成功却访问失败,则修改配置文件,将这条注销,将下面这条启用: $wgArticlePath = “$wgScript?title=$1”;

动态域名解析hammernode(hn.org)

之前曾经用过hn.org,最近才发现它的动态域名功能是如何使用的,具体用法见后。 第一次用它应该是很早以前了,这么多年了,它的页面还是那么简单甚至可以说是简陋,但是它依然存在,这是否是.org的特点呢?呵呵…… 它的页面分为左右两部分,左边是.hn.org用户注册管理,右边是www..*用户注册管理,可以自主添加25条记录。不过好像只有二级域名用户才支持动态域名。 PS:hammernode动态域名解析 一般宽带接入商不一定提供固定IP给用户,每次开机动态分配的IP都有可能不同。为了方便外界连接,最好有一个动态的域名解析。Internet上提供免费域名解析的服务商很多,这里我们以hammernode为例介绍一下如何配置动态域名解析。 首先是申请一个免费的域名。访问hammernode的主页http://www.hn.org,点击Create an Account申请一个帐号。具体过程并不复杂,这里从略。假设申请到的用户名是someuser,那么我们就有了一个someuser.hn.org的域名。 然后我们要设置OpenBSD在启动获得DHCP分配的IP地址后,自动去更新someuser.hn.org对应的IP地址,我们可以在/etc/rc.local的末尾运行一个程序来完成这个更新。

Register someuser.hn.org with IP address of ne4 interface

if [ -x /usr/local/sbin/hn-register.pl ]; then /usr/local/sbin/hn-register.pl & fi 在服务器关机的时候,有必要将someuser.hn.org动态域名关闭,不知情的使用者连接到别的主机上去,修改/etc/rc.shutdown,在末尾加上:

Turn off someuser.hn.org IP address

if [ -x /usr/local/sbin/hn-turnoff.pl ]; then /usr/local/sbin/hn-turnoff.pl fi 上面的hn-register.pl和hn-turnoff.pl是根据 http://www.technopagan.org/software/hammernode.pl 改写的,这是一段用perl写的简单程序(必须先安装perl的package)。 hn-register.pl是连接到服务器,提供用户名和密码后,服务器会根据探测到的IP地址,自动进行注册,5分钟之内会生效。Hn-turnoff.pl是将IP地址注册为指定的0.0.0.0。

Apache+PHP

  相关文章网上到处都是,在自己的自留地上就留个精华吧。 httpd.conf LoadModule php4_module d:/php/sapi/php4apache.dll AddType application/x-httpd-php .php

AddType application/x-httpd-php .php4

ScriptAlias /php4/ “d:/php/”

Action application/x-httpd-php4 “/php4/php.exe”

AddType application/x-httpd-php4 .php

实际上只需要添加两行,加了#号的看情况加呗。(Apache1.3.22+PHP4.3.10通过)

震荡波手工清除

一、手工清除四部曲。 1、断网打补丁。 如果不给系统打上相应的漏洞补丁,则连网后依然会遭受到该病毒的攻击,用户应该先到以下地址http://www.microsoft.com/china/technet/security/bulletin/ms04-011.mspx下载相应的漏洞补丁程序,然后断开网络,运行补丁程序,当补丁安装完成后再上网。 2、清除内存中的病毒进程 要想彻底清除该病毒,应该先清除内存中的病毒进程,用户可以按CTRL+SHIFT+ESC三或者右键单击任务栏,在弹出菜单中选择“任务管理器”打开任务管理器界面,然后在内存中查找名为“avserve.exe”的进程,找到后直接将它结束。 3、删除病毒文件 病毒感染系统时会在系统安装目录(默认为C:\WINNT)下产生一个名为avserve.exe的病毒文件,并在系统目录下(默认为C:\WINNT\System32)生成一些名为_UP.exe的病毒文件,用户可以查找这些文件,找到后删除,如果系统提示删除文件失败,则用户需要到安全模式下或DOS系统下删除这些文件。 4、删除注册表键值 该病毒会在电脑注册表的HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Currentversion\Run项中建立名为“avserve.exe”,内容为:“%WINDOWS%\avserve.exe”的病毒键值,为了防止病毒下次系统启动时自动运行,用户应该将该键值删除,方法是在“运行”菜单中键入“REGEDIT” 然后调出注册表编辑器,找到该病毒键值,然后直接删除。 二、自动清除三部曲 1、使用瑞星杀毒软件进行清除 用户可以将瑞星杀毒软件标准版或下载版产品升级到16.24.42版本,并进行系统盘和内存的杀毒。 2、使用瑞星在线杀毒进行清除 用户还可以使用瑞星免费的在线杀毒产品(http://online.rising.com.cn/)查找系统中是否存在病毒,然后用在线杀毒进行清除。 3、使用瑞星免费专杀工具进行清除 用户还可以到http://it.rising.com.cn/service/technology/RS_sasser.htm网址下载免费的“震荡波病毒专杀工具”然后对电脑进行病毒扫描。 Windows 2000 用户:计算机感染震荡波 (Sasser) 蠕虫时应采取的措施 发布日期:2004 年 5 月 7 日 立即将本页面打印出来,为您自己提供相关说明(如果您的计算机持续关机),或者用来帮助您的朋友。 如果您使用的是 Microsoft® Windows 2000 Service Pack 2 (SP2)、Windows 2000 SP3 或 Windows 2000 SP4 并且您的计算机感染了震荡波蠕虫病毒,则可以采取这些措施来更新您的软件、移除蠕虫病毒并使您免于以后再被感染。 第 1 步:断开 Internet 连接 为了避免出现更多问题,请断开 Internet 连接: 宽带连接用户: 确定连接外置 DSL 或电缆调制解调器的电缆位置,然后从调制解调器或电话线插孔将该电缆拔下。 拨号连接用户:确定连接计算机内置调制解调器与电话线插孔的电缆位置,然后从电话线插孔或从计算机将该电缆拔下。 第 2 步:减轻漏洞隐患 您可以通过创建日志文件来暂时消除令蠕虫病毒可通过其侵入计算机的漏洞。 创建日志文件 在屏幕底部的任务栏上单击“开始”,然后单击“运行”。 键入“cmd”,然后单击“确定”。 在命令提示符下键入“ echo dcpromo >%systemroot%\debug\dcpromo.log ”,然后按 ENTER。 将日志文件设置为只读属性 在命令提示符下键入“attrib +R %systemroot%\debug\dcpromo.log”,然后按 ENTER。 第 3 步:改善系统性能 如果您的计算机反应迟缓或者 Internet 连接速度过慢,则说明蠕虫病毒可能已经在您的局域网连接内扩散。 这会使您无法下载并安装所需的软件更新。 要改善系统性能: 按 CTRL+ALT+DELETE,然后单击“任务管理器”。 对于以下可能列出的每个任务,单击并选中该任务,然后单击“结束任务”按钮,将其结束。 任意以_up.exe 结尾的任务(例如 12345_up.exe)。 任意以avserve 开头的任务(例如 avserve.exe)。 任意以avserve2 开头的任务(例如 avserve2.exe)。 任意以skynetave 开头的任务(例如 skynetave.exe)。 hkey.exe msiwin84.exe wmiprvsw.exe 注意:切勿结束 wmiprvse.exe 任务;这是一个合法的系统任 第 4 步:启用防火墙 防火墙是一个软件或硬件,能够在计算机和 Internet 之间构筑一道保护屏障。 Microsoft 并不制造独立于操作系统之外的软件防火墙。 以下资源提供了有关一些防火墙选项的详细信息。 硬件防火墙 硬件防火墙是 Windows XP 之前的 Windows 操作系统版本的理想选择。 有些家庭网络硬件,如无线接入点和宽带路由器等,都附带了嵌入式的硬件防火墙。 这些防火墙有助于保护大多数的家庭网络。 软件防火墙 Microsoft 强烈建议所有用户,在连接 Internet 之前,务必获得并安装防火墙。 不过,我们也意识到,有些用户会发现,下载软件是他们唯一的选择。 如果您选择重新连接 Internet 来获得软件防火墙,此处提供了一些选择: BlackICE PC Protection—节省 25% (http://blackice.iss.net/microsoft.php) Computer Associates—12 个月免费试用期 (http://www.my-etrust.com/microsoft/) F-secure—6 个月免费试用期 (http://www.f-secure.com/protectyourpc/) McAfee Security—节省多达 35% (http://us.mcafee.com/root/campaign.asp?cid=8437) Panda Software—90 天免费试用期 (http://www.pandasoftware.com/microsoft/) Symantec/Norton—90 天免费试用期 (http://www.symantecstore.com/dr/v2/ec_dynamic.main?sp=1&pn=46&sid=27674) Tiny Software: Tiny Personal Firewall (http://www.tinysoftware.com) ZoneAlarm—节省 20 美元 (http://download.zonelabs.com/bin/promotions/microsoftsecurity/) 第 5 步:重新连接 Internet 将电缆(参阅第 1 步)重新接回计算机、电话线插孔或调制解调器。 第 6 步:安装所需的更新 要使以后您的计算机不受此蠕虫病毒的感染,您必须下载并安装安全更新 835732,此更新以 Microsoft 安全公告 MS04-011 发布。 要下载安全更新 835732,请转到http://go.microsoft.com/?LinkID=526386 第 7 步:检查并移除震荡波蠕虫 在完成安装更新并重新启动计算机后,转到网页http://www.microsoft.com/china/technet/security/incident/sasser.asp上的“What You Should Know About the Sasser Worm and Its Variants”(对于震荡波蠕虫及其变体您应该了解的信息)。 使用震荡波蠕虫移除工具搜索您的硬盘并移除 Sasser.A、Sasser.B、Sasser.C 和 Sasser.D。 关于防火墙 要了解更多有关其它公司出品的软件防火墙、硬件防火墙和网络路由器以及选择对应于您计算机的防火墙的信息,请参见 http://www.microsoft.com/security/articles/firewall.asp上的“Why You Should Use a Computer Firewall”(为何您应该使用计算机防火墙)。 如果您有如小型网络等其它配置,或者要了解更多有关防火墙的信息,请阅读 http://www.microsoft.com/china/security/protect/firewall.asp (有关 Internet 防火墙的常见问题解答)。 http://www.microsoft.com/china/technet/security/incident/sasser_print2000.asp