2009年10月20日 21:07
如果博客地址是http://www.auiou.com/blog/,对外公布或者制作超链接时,使用http://www.auiou.com/blog/较好,最后的一个斜杠最好不要省略。如果网站内部的链接指向一个含有默认文档的文件夹,同样最后的一个斜杠也最好不要省略。 因为http://www.auiou.com/blog与http://www.auiou.com/blog/不同的是,前者是一个并不存在的文件,后者是一个文件夹。无论是Windows主机,还是Linux主机,访问前者,都会返回301代码(重定向),然后浏览器再迅速找到http://www.auiou.com/blog/。 如果你使用Apache在本地建立了虚拟主机,如之前的例子,http://www.auiou.com/relevant/00000572.jsp。例如使用http://ww2.auciou.com访问本机硬盘的网站,网站导航条的超链接、图片连接、背景图片的路径,都可以在href=,src=等后面的值的前面加一个斜杠,表示网站根目录,十分方便,避免了很多路径的问题,例如<a href="/blog/">博客首页</a>,<src="/image/3.jpg">。如果使用“http://localhost/别名”的方式访问本机的网站,将无法实现这种便利。
固定链接 | 发表评论(12) | Trackback(1)
2009年10月18日 20:04
下列测试都是在Windows XP系统SP3/IE 6.0/3G CPU/1G内存,Apache+PHP的环境中,如下程序: <?$j=0; 上述程序循环1亿次,运行结果:100000000,使用18秒完成。 <?$j=0; 上述程序循环1亿次,使用21秒完成。 <?$j=0; 上述程序循环100000001次,使用21秒完成。 上述的第1个和第2个程序中,不同的是“循环到”的方式不一样,第1个程序是直接循环到1亿,第2个程序则是在“循环到”做了一个运算,慢了3秒钟。如果是循环1000万次或以内,差别不大。因此,经过上述程序的测试,在“循环到”做运算,对程序的速度是有轻微影响的,尽可能避免在“循环到”这里做运算。
$au=100000000;
for ($i=1; $i<=$au; $i++) $j++;
echo $j;?>
$au=99999999;
for ($i=1; $i<=$au+1; $i++) $j++;
echo $j;?>
$au=100000000;
for ($i=1; $i<=$au+1; $i++) $j++;
echo $j;?>
2009年10月12日 18:37
防spam的规则,通常不会冲突,规则越多,越减少spam。如果你有时间,一个博客可以设置几条,几十条规则。如之前的规则,http://www.auiou.com/relevant/00000564.jsp,已经可以很有效地防止spam。因为博客是个人博客,再加上判断的程序仅在用户发送表单时才会生效,只要规则不是很多,可能不会影响博客的速度。如果你的博客或者论坛访问量很大,留言数很多,可以将多条规则用include()函数将程序分开,当符合条件时才会调用相应的程序,这是PHP的一大优点,不符合条件不会调用,可有效地大大提高程序的速度。 网友的绝大多数留言都是友好的。如果博客中偶尔出现一条陌生人的恶意留言,可能会影响博主的心情,如果在意,会与这些发布恶意留言的网友的命运发生牵连,与他们的业力发生牵连。留言者,没有权利审判别人。如上面的链接中的方法,可以直接封闭IP。 可以给博客建立留言的安全级别分类,建立信任级别列表,在程序上实现起来较容易。信任级别列表如下: 上述一共有6个列表,分别是好友的用户名列表、好友的URL列表、spam的用户名列表、URL列表、封IP的用户名列表、IP列表。建立的方法是整个列表作为一个字符串,用“|”符号可巧妙地判断用户的关键字是否在其中,这样不用循环程序,用strpos()函数就可以一次判断完成。例如好友的URL列表是: |www.abc.com|wwww.auiou.com|www.cctv.com|www.ad.com| 其它的列表都是如法炮制,注意最前面和最后的“|”不要省略。然后,使用strpos()函数判断www.abc.com是否在$ac的方法是: <$url="www.abc.com"; 这里在$url左右两边各加了一个“|”的符号,就可以准确判断。其它列表的建立和判断方法,都是一样的。http://www.abc.com去掉http://的方法如这里的2、3楼的回复,http://www.auiou.com/relevant/00000466.jsp。 附:这里有一种很特殊的情况,使用strpos()直接使用if (strpos($ac,$ur5)){}的形式,而无需使用if (strpos($ac,$ur5)!==false){},程序不会出错,是因为从第2个字符开始是URL列表。假如用户的URL如www.abc.com位于URL列表的第1个网址,那么strpos($ac,$ur5)的值是1。
假设上面这一行的值是$ac,用户留言时的URL是http://www.abc.com。
$ur5="|".$url."|";
if (strpos($ac,$ur5)){} //此语句表示$url是否在$ac其中。
?>
2009年10月11日 09:26
在本地建立虚拟主机,可以模拟远程,便于调试,之前已经写过几篇,本文介绍的方法与之前的这篇基本上是一样的,阅读这篇也可以实现,http://www.auiou.com/relevant/00000572.jsp。本文介绍的语句是直接用ServerAlias,而不使用ServerName来建立虚拟主机。经过测试,ServerName可以用ServerAlias代替。ServerAlias的使用更为强大方便,ServerAlias可以同一空间绑定多个域名,同一空间泛域名解析,同一空间多个域名的泛域名解析。 在Apache的conf/httpd.conf文件原来的基础上,写入如下4行,就在本地建立了虚拟主机: <VirtualHost *:80> 重启Apache。在C:\WINDOWS\system32\drivers\etc\hosts文件中,添加如下一行: 127.0.0.1 blo2.auciou.com 然后就可以用http://blo2.auciou.com在本地测试博客了。如果你想用http://blog.auciou.com在本地做测试,也是可以的,如上面相同的步骤。但经常需要更改hosts文件的IP,不方便。使用blo2,或者其它4位数的二级域名,是为了与“blog”的4个字母的位数保持一致,便于调试。此方法较易成功,成功后如下截图: Apache+PHP的简便安装,请见我写的这篇http://www.auiou.com/relevant/00000453.jsp。
ServerAlias blo2.auciou.com
DocumentRoot F:/site/auciou
</VirtualHost>
2009年10月10日 11:28
因为xml的Trackback方式,时常会收到批量的spam,并且xml有时会发送失败,所以我放弃这种方式很久了。取而代之的是类似于发表评论的方式,直接在网页上发表Trackback。事实上,评论程序与这里要谈的直接发送Trackback的程序,95%以上是一样的。因为程序大致相同,所以我现在将评论程序、Trackback程序的公共部分写在另外的文件如gr.php,然后gr.php被这2个程序用include()函数调用。 因为www.auciou.com整个Blog都是最近重新编写的,所以Trackback程序也需要重新编写。我的评论程序与Trackback程序的表单名称相同的是:用户名、留言内容;不同的是URL代表的含义不同,Trackback程序有文章标题。相同的表单,可以做相同的处理。 因为我的评论采用审核的方式,所以每个帖都有单独的序号,以便于在后台处理时能够直接找到这个帖子,Trackback在序号后面加个字母“t”。例如3楼帖子的序号是3,4楼正好发了一条Trackback,4楼的序号为4t,5楼评论的序号是5。有了字母“t”,程序就能识别是评论,还是Trackback。 批量审核一篇博客的评论时,$tn值为含有“t”的序号数量,可以计算出本篇博客共有多少个Trackback待审核,$ne计算出共有本篇博客多少个评论(包含Trackback数,因为评论和Trackback都是写在同一组数据库),$ne2=$ne-$tn,$ne2计算出本篇博客有多少个非Trackback的评论。 这样计算$tn的值,假设$ac是帖子的序号: <?$tn=0; 在数据统计中,需要实现的功能是当审核Trackback时,网站的Trackback总数统计加一,评论总数不变;单篇博客的Trackback数和评论数的统计,各加一。 用了4个多小时,程序重新调整完毕,是在原有的评论程序comments.php上,以及审核程序上做的调整,已含有多条规则的防spam功能,与原有功能整合起来很方便。实例:http://www.auciou.com/commence/trackback/79
if (strpos($ac,"t")) $tn++; //此语句用于循环程序中
?>
2009年10月10日 09:46
如之前的方法《Apache在本地建立泛域名虚拟主机简法》,http://www.auiou.com/relevant/00000573.jsp,正文已列出能够实现的步骤,实现起来是比较容易的。主要是归功于Apache强大简便的别名功能ServerAlias和强大简便的泛域名解析功能。 如上面文章中的代码实例,在Apache的conf/httpd.conf文件原来的基础上,再加入一行ServerAlias *.aucgra.com,如下代码: <VirtualHost *:80> 上述代码省略了 ServerAlias aucgra.com这样一行,如果读者需要用如http://aucgra.com在本地测试,可以添加这一行。然后在C:\WINDOWS\system32\drivers\etc\hosts这个hosts文件中,添加需要在本地测试的二级域名,例如: 127.0.0.1 ww2.aucgra.com 之前在hosts添加的域名保留,这样就可以在本地同时实现2个域名的泛域名解析来访问同一个空间,同时使用ww2.auciou.com,ww2.aucgra.com,auciou.com,aucgra.com等等任意域名来访问这个空间。 如果需要添加单独的一个域名,再加入一行ServerAlias www5.webshu.com,如下代码: <VirtualHost *:80> 最后不要忘记重启Apache。Apache+PHP的简便安装,请见我写的这篇http://www.auiou.com/relevant/00000453.jsp。
ServerName auciou.com
ServerAlias *.auciou.com
ServerAlias *.aucgra.com
DocumentRoot F:/site/auciou
</VirtualHost>
127.0.0.1 ww3.aucgra.com
ServerName auciou.com
ServerAlias *.auciou.com
ServerAlias *.aucgra.com
ServerAlias www5.webshu.com
DocumentRoot F:/site/auciou
</VirtualHost>
2009年10月08日 08:55
在本地建立泛域名虚拟主机,可以修改Apache的安装目录下的conf/httpd.conf,如下: <VirtualHost *:80> 重启Apache,就可以在本地同时使用auciou.com和xxx.auciou.com在本地访问,xxx为任意的二级域名,实现了泛域名解析。用此方法,也可以在本地建立多个不同域名的泛域名解析的虚拟主机。 在本地测试时,需要修改hosts文件,打开C:\WINDOWS\system32\drivers\etc\hosts,写入这样的句子: 127.0.0.1 ww2.auciou.com 因为hosts本身没有泛域名解析,所以在本地做测试时,二级域名需要在本地的hosts文件一个一个添加。然后手动备份hosts文件,重装系统之后,覆盖此文件即可。 有关泛域名解析,也可以参考我之前写的2篇:
ServerName auciou.com
ServerAlias *.auciou.com
DocumentRoot F:/site/auciou
</VirtualHost>
127.0.0.1 ww3.auciou.com
127.0.0.1 ww4.auciou.com
127.0.0.1 wwa.auciou.com
127.0.0.1 user.auciou.com
127.0.0.1 blog.auciou.com
http://www.auiou.com/relevant/00000519.jsp
http://www.auiou.com/relevant/00000432.jsp
http://www.auiou.com/relevant/00000453.jsp (Apache+PHP的简便安装)
固定链接 | 发表评论(11) | Trackback(4)
2009年10月07日 21:23
Apache的虚拟目录,或者虚拟主机建立很方便。在Apache里,虚拟主机实际上是一个虚拟目录,所以Apache建立虚拟目录、虚拟主机的方法是完全一样的。如下图,是默认的http://localhost在httpd.conf中的设置方法, 如法炮制,如果我想用http://ww2.auciou.com在本地浏览测试我的博客,将上图的4行复制一遍,然后修改第2行的ServerName和第3行的DocumentRoot的值。修改后如下图: 即: <VirtualHost *:80> 然后重启Apache。你也可以在本地同时建立多个虚拟主机。 打开C:\WINDOWS\system32\drivers\etc\hosts,写入这样的一行: 然后就可以将Apache作为本地虚拟主机预览自己的博客,如下图: Apache+PHP的简便安装,请见我写的这篇http://www.auiou.com/relevant/00000453.jsp。我现在的开发环境,都是基于这个Apache+PHP后台,重装系统后不需要再重新安装Apache+PHP。

ServerName ww2.auciou.com
DocumentRoot F:/site/auciou
</VirtualHost>
127.0.0.1 ww2.auciou.com

| (点击申请) |
文章分类 Category:
Blog的发展 Development
为什么写博客 W-do we Blog
互联网 Internet
社会 Society
教育 Education
BBS社区研究 Community
编程 Program
友人 Younet
QQ研究 QQ Research
公告 Announcement
最新的评论 Comments:
» 毁谤别人的匿名者
» 一家门户网站的博客管理
» Entropay(欧贝
» 又一位不可思议的扮音天
» Google搜索结果在
» 声卡无声硬件排除一例
» 如何关闭ixwebho
» 今天值得纪念的数字
近期的主题:
2012-01-26:多了解一些信息没有坏处
日益低效的快递
关于香港地铁吃东西事件的翻译
2012-01-15:怜悯和爱
惨不忍睹的网站空间(人为造成)
QQ空间不能发表日志/说说/微博解决一例
新年的钟声敲响了
惠州之印象
2011-10-20:最近4个不好的用户体验
女童遭辗压无人帮助视频之感想
网络才是真实的,现实一切都是幻象
本博客的程序有发布的计划
真正的神曲和一些圣乐分享和回顾
Go Daddy的97.74 IP段又被大规模killed
时间过得很快
国外的域名查询也不安全
祝我31周岁生日快乐
有关国内近两年史无前例的清晰的UFO
Android(安卓)平板电脑的使用体验
2011-08-24:经验 & 近期动态
2011-08-03 养花
2011-06-18
2011-06-02:同龄人年轻程度却相差10岁
2011-05-28:随谈(浅谈)中英文输入速度
Go Daddy空间切换系统更换IP时现在需要慎选4GH主机
2011-05-18:随谈现实与理想(8)
随谈:2011-05-18 贴吧与新闻评论的管理
随谈:2011-05-13 心情很沉重很沉重
随谈:2011-05-08 有良知的人会提升
博客不应大量转载
随谈:2011-04-28 通过网络调查真相当中的一个途径之一
有关UFO与2012的谦卑交流与解答(1)
cPanel的主机网页长时间500错误解决一例
版权声明:本博客所有文章,均符合原创和创作共用的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
和平海底2 | Auciou | 自由勇专栏
公益:UFO与真相研究交流区
Gratitude | Time
Blog存档 Archives
2012年01月(N)
2011年10月(8)
2011年09月(4)
2011年08月(2)
2011年06月(2)
2011年05月(6)
2011年04月(10)
2011年03月(16)
2011年02月(16)
2011年01月(15)
2010年12月(12)
2010年11月(9)
2010年10月(3)
2010年05月(4)
2010年01月(7)
2009年12月(10)
2009年11月(4)
2009年10月(8)
2009年09月(24)
2009年08月(20)
2009年07月(6)
2009年06月(11)
2009年05月(16)
2009年04月(20)
2009年03月(29)
2009年02月(18)
2009年01月(15)
2008年12月(17)
2008年11月(10)
2008年10月(13)
2008年09月(8)
2008年08月(4)
2008年07月(5)
2008年06月(9)
2008年05月(12)
2008年04月(15)
2008年03月(26)
2008年02月(22)
2008年01月(29)
2007年12月(30)
2007年11月(28)
2007年10月(30)
2007年09月(8)
2007年08月(8)
2007年07月(21)
2007年06月(23)
2007年05月(31)
2007年04月(34)
2007年03月(29)
2007年02月(18)
2007年01月(41)
2006年12月(23)
2006年11月(10)
2006年10月(10)
2006年09月(29)
2006年08月(33)
2006年07月(17)
2006年06月(30)
2006年05月(4)
2006年01月(3)
2005年09月(4)