分类文档:编程 221篇

Orshu论坛程序最新进度(16)
2011年03月19日 09:52

Orshu的论坛程序已经调整4天了,这4天做了很多的调整。调整期间不会影响网站的使用,当这次大修改完毕之后,新程序上传到服务器和调试需要3~5个小时以上的时间,因此届时服务器需要临时暂停几个小时。数据结构再做了新的变化,以前每个论坛的容量为1000×500=50万个主帖,超过这个数量就无法发表新帖了,只能开新的论坛,或者到那时必须修改程序。现在趁着修改,也把这些都做了调整,现在调整为每个论坛的主帖容量是1000×1000×1000个主帖(10亿个),容量足够了。每位用户的站内短消息原来的容量为1000×20=2万条短消息,现在调整为1000×1000×1000×20条(200亿条)。允许注册数最大值原来是1000×1000×1000=10亿个(1000的3次方),为了避免以后不够用再改程序,趁这次修改程序再乘以1000,也就是1000的4次方(1万亿)。在程序上理论上可以支持这么多而尽可能不会影响访问的速度,因为现在是使用虚拟主机,所以网站空间在几年后,或者十几年后可能会爆满,当空间满之后,就需要使用独立服务器,或者将数据拆分到多个服务器上。一台独立服务器约合4000多~6000多元人民币/年以上,一个虚拟主机一年几百元人民币。一台独立服务器大约可以容纳10万人~100万人/每天的访问量,一个虚拟主机的空间大约可以容纳1000人~10万人/每天的访问量。除了与硬件有关系之外,与程序和数据结构也有很大的关系。……

固定链接 | 发表评论(0) | Trackback(0)

Orshu论坛程序最新进度(15)
2011年03月15日 10:01

这次的大修改是因为上次的大修改把多个不同域名的数据全部合并在一起,用户在不同域名的论坛中登录不用重新注册帐号,但是缺点是所有的论坛必须使用同一个空间,所以这次要把论坛拆分为多个不同的空间,但可以使用原来的帐号。这次的大修改,进展比想象中顺利一些,原来计划用15天的时间修改Orshu帐号程序,用10天的时间修改论坛程序,用5天的时间修改英文版的所有相应程序,用5~10天再次修改aufor.com的程序。因为这些站点都是使用Orshu帐号和Orshu的论坛程序,所以只要Orshu程序有修改,相关的站点都需要修改。

现在已经进行5天了,Orshu帐号程序基本上已经修改完了,只差最后的一些测试,估计再过两三天就能完成Orshu帐号程序的修改。修改后在功能上的变化是“站内短消息”,也就是收件箱功能,原来是不同域名是使用相同的数据。例如有网友在ufoaq.com的站内短消息给我发了一条留言,我在ufoaq.com或salusa.net的收件箱都可以看到这条留言。这次改版之后,不同域名的站内短消息的数据库是各自独立的。也就是例如在ufoaq.com,只能看到在这个域名中网友发来的短消息;例如在salusa.net,只能看到网友在salusa.net的平台上发来的短消息。但是,在不同的域名中,登录时的用户名和密码,仍然是同一个帐号,无需重新注册。……

固定链接 | 发表评论(2) | Trackback(0)

关于Orshu帐号密码安全的新说明(拟密码安全使用说明)
2011年03月12日 08:24

ufoaq.com,salusa.net,aufor.com等等,都是使用Orshu帐号,您只要在这当中的任意一个网站申请了帐号,就可以在任意的其它域名中用相同的用户名和密码登录。过去因为论坛的数据是合并在一起的,现在开始拆分,在拆分之后,安全问题会出现一些新的变化。

首先关于密码本身,数据库中不会记录您的密码,它记录的是一个加密之后的校验码。这个校验码是经过加密、再经过截取某些字符而产生的,例如123会转化为53575955866542,数据库中可能会从第2位开始截取、倒数第4位结束,也就是截取357595586。数据库中记录的是357595586,任何人都无法还原为53575955866542。并且,53575955866542也无法还原为123。好比24×15=360,175+185=360,当我们获得一个数字360的时候,是无法还原构成它的结果的数字和顺序的,可能是12×30,也可能是30×12,也可能是2×180,也可能是4×90,也可能是2×6×5×6,也可能是72+288,等等。……

固定链接 | 发表评论(1) | Trackback(1)

又要经历一次论坛大修改了
2011年03月09日 17:19

去年底用了30多天的时间把Orshu论坛做了大修改,当时是把多个域名的帐号、数据库全部合并在一起。最近这几天因为meeting,很多国外空间的线路被限制了,Gmail、Google企业邮箱变得很慢,时常打不开。ufoaq是Orshu的子论坛,它所在的空间,这两天白天已经彻底不能访问了,早上还能访问一会儿,白天需要用代理才能访问。估计要在3月18日之后,国外的网络才能恢复正常的速度。人为的因素,您懂得。俗话说,“大水冲了龙王庙”,原本都是一家人,何必做这些事情呢?

Orshu论坛和帐号的程序要做新的修改,工作量同样很大,这一次是拆分,估计同样至少要30天的全天工作日,因为是使用不同的多个服务器上的空间,所以这次必须开始大规模地使用远程数据库。我没想到日子来得这么快,原本计划也许要在一两年后才需要拆分。这一次拆分之后,流量较大的子论坛可以随时拆分出去,流量小的子论坛的数据可以合并在一起。比如ufoaq.com现在不能访问的问题,如果是在已经拆分的情况下,现在直接转移到另一个空间即可访问。可是因为它现在所在的空间还有其它的域名,不能单独拆分出去。……

固定链接 | 发表评论(2) | Trackback(0)

全能空间能够实现静态化(3):小结
2011年02月28日 09:46

每写这个标题的文章,就需要先重复声明一下,使用全能空间是不得已,因为国内支持PHP的空间目前绝大多数都是全能空间,这是很可悲的现实,这篇文章并不是鼓励读者使用全能空间,而是相反地鼓励读者使用Linux+PHP空间,因为Linux+Apache+PHP的空间,几乎都是支持.htaccess文件的,使用.htaccess可以直接实现网址静态化。全能空间运行ASP,速度不会受影响;但全能空间运行PHP,在流量大的时候会有很大的瓶颈,全能空间是使用Windows+IIS+PHP,正如前面在本机的实际测试,有HTML代码或文本输出的时候,循环100万次,都是在Windows XP系统下,IIS+PHP运行31秒完成,Apache+PHP使用1秒完成,速度差别如此之大。

对于使用全能空间的PHP用户,只要阅读《全能空间能够实现静态化》第1篇即可,不用阅读第2篇,PHP的实现较容易;对于使用全能空间的ASP用户,如果想实现静态化,需要阅读第1篇和第2篇。并且,需要认真通读,一定要阅读“说明”的部分。阅读这一两篇文章,是否值得?很值得,因为这项功能的重要性大家都知道,这里用一两篇的篇幅免费分享给读者。过去很少人能够在全能空间下实现静态化,因为全能空间不支持.htaccess文件;也可能有人通过.config文件在Windows下实现了静态化。但是国内的主机商可能有很多人不会做.config文件的相关的设置,我也没有成功过。也许你在这一家主机商支持.config文件,当换到另一家时,他们又不支持,而且又无法配置,这样就会相当的麻烦,要么再换一家主机商,要么放弃静态化,把整个站点的超链接改为动态地址,工作量相当大。并且,国内大多数的Windows主机商,可能不支持.config文件。……

固定链接 | 发表评论(5) | Trackback(0)

全能空间能够实现静态化(2):ASP及其它语言
2011年02月26日 16:03

在前面一篇的404.php这个文件,是我编写的程序实例,这段程序是一个主要的原理,你也可以根据需要来编写或者改进程序。由于时间的关系,当中没有写ASP实现静态化的程序。首先使用全能空间是迫不得已,这2篇文章并不是鼓励读者使用全能空间,而是鼓励读者、以及服务商使用Linux空间,转向PHP,国外很多的网站,都是使用PHP语言开发,甚至也有很多的主机服务商只有使用Linux系统的PHP主机,而不提供Windows主机。PHP的确有很多的优势、优点,是ASP无法媲美的,最显而易见的优点是程序简洁、函数丰富。程序简洁是因为其语句每句都以分号结束,而ASP必须回行,对于常用的程序,PHP可以把它们放在一行,这样在视觉上能大量地减少程序的复杂程度,这也是PHP比ASP开发速度快很多倍的原因之一。学习编程,并不需要精通,因为无论是大型的项目,还是小型的项目,实际的开发中,使用到的编程知识可能不到千分之一,虽然程序总是很复杂(实际上就是麻烦),复杂是因为有大量的问题需要处理,使程序经常是处于凌乱的状态。由于凌乱、以及大量语句的堆积,使其变得复杂。并且有时编程工作越做越多,永远都有做不完的事,永无止境。……

固定链接 | 发表评论(3) | Trackback(1)

全能空间能够实现静态化(伪静态)(已测试成功)
2011年02月25日 12:08

全能空间是中国的主机商广泛使用的,在国外相对成熟的主机商几乎是没有全能空间的。在有HTML代码或文本输出的时候,循环100万次,都是在Windows XP系统下,IIS+PHP运行31秒完成,Apache+PHP使用1秒完成,速度差别如此之大。当时之所以做这个测试,是因为当时有一个循环几十次的页面,在IIS+PHP下数据是逐行显示,后来安装了Apache+PHP是一瞬间全部显示。

除了在大流量的情况下,IIS+PHP的速度远不如Apache+PHP之外,使用IIS+PHP的全能空间,不支持.htaccess文件。当然,在小流量的情况下,速度差别可能不是很大。如果不得不使用全能空间(因为国内的Linux主机实在是太少了),可喜的是,大多数使用IIS平台的服务器商,都支持自定义404错误页。Apache可以使用一个.htaccess文件可以为整个网站自定义404错误页,也可以每个文件夹单独使用一个.htaccess文件。但IIS,服务商可能一个站点只允许设置一个404错误页,所以本文的方法是使用根目录的404.asp或404.php,用这个文件来判断、自动包含相关的程序文件。总的来说,IIS+PHP有很多功能还是不如Apache+PHP那样方便的。今天经过测试,全能空间也能够使用用错误页,所以写了本文。由于本文是使用IIS的错误页实现静态化,所以不需要配置其它的文件如.htaccess文件、.config文件、也不需要配置Rewrite模块,是比较简单的。……

固定链接 | 发表评论(3) | Trackback(2)

Alexa与实际的访问量
2011年02月05日 09:49

Alexa是网站访问量的世界排名,可以在alexa.com查询每个域名的访问量排名。过年前我开始编写了一个访问统计的程序,使用JavaScript包含调用远程的程序,最初使用file_get_contents()调用远程数据库,测试使用了几天,由于是不同空间服务商的远程数据库,经过测试,速度会慢好几秒,如果是同一空间服务商、同一地区的远程数据库,一般不会影响速度。于是使用<img src=…….php>来激活远程的程序,这样不会影响速度,并且这个img元素使用CSS设置为隐藏,例如将图片高度设置为0,使用position:absolute将这个元素的位置设置为负值,如top:-99;left:-99。使用远程数据库来编写计数器的程序,一是网站访问统计的程序相对于论坛、博客的程序的编写要简单很多,便于程序的设计、练习、调试,二是便于数据的管理,三是程序与数据库可以用不同的空间,甚至可以使用GD强劲的免费空间作为远程数据库。远程数据库的很多优点,如前所述:http://www.auiou.com/relevant/00000633.jsp。……

固定链接 | 发表评论(3) | Trackback(0)

为什么需要自己开发程序
2011年01月29日 17:16

前些天朋友的企业网站被攻击了,被人挂了木马、修改了首页。原因是他们的企业网站的程序不是自己开发的,而是使用别人开发的公用程序。本来使用这些公用程序应该不会有太多安全的问题,但如果因为使用公用程序而发生了这样网站被黑的事情,原因一是没有修改默认的一些参数和密码,二是或者专门从事做坏事的人熟悉这些公用程序的漏洞。一个公用程序的漏洞如果被做坏事的知道,他们会在网上搜索同样使用这个程序的站点来攻击、修改网页,来获得利益。

如何知道这些漏洞在哪里?一般只有程序开发者自己知道,或者用户在使用中无意中发现的漏洞,或者专门从事干坏事的人熟悉各种漏洞。如果不是程序的原作者,一般人想查找研究程序的漏洞并修补,是相当困难的。很多时候查找别人的程序中潜在的漏洞,比猜银行密码还要难很多倍。一旦被攻击了,也找不出原因。……

固定链接 | 发表评论(2) | Trackback(0)

建站经验分享:远程数据库的重要性
2011年01月21日 22:53

PHP的确是一种十分优秀的网页的程序语言,优秀之处有很多,当你经常使用PHP开发,会发现PHP的创造者对PHP下的功夫,以至于让原本很难实现的功能,PHP直接就能实现,所以PHP是一种相对更为简单易用的语言。使用PHP的另2个原因是国外主机有很多是PHP主机,ASP主机相对较少,如果你想使用国外主机,就必须使用PHP的程序;原因2是国内外使用PHP开发程序的人多,网上能搜索到更多的参考资料。

PHP对于远程数据库方面,有很多种方法可以让我们使用远程数据库。既然PHP在远程数据库方面能够实现,那么就应该适当地使用起来。在什么情况下需要使用远程数据库?对于数据量较大,或者数据量庞大的站点,或者程序项目较多的站点,使用远程数据库便于数据的管理。数据量庞大的站点,如果主站点和数据库的服务器分开,不在同一个域名,或者不在同一个机房,便于站点的转移,或者流量的拆分。程序项目较多的站点,如果项目太多,主站点会越来越凌乱,这时候必须使用子域名来拆分管理,相应的数据库使用远程数据库会比较方便。……

固定链接 | 发表评论(1) | Trackback(1)

建站经验分享:修改DNS、或域名解析在本机真正立即生效简法
2011年01月13日 17:27

过去有很多人是使用修改本机hosts文件的方法,这种方法虽然十分好,但还有更好一些的方法。因为修改本机hosts文件的不方便之处在于,等域名生效之后,需要删除hosts文件中添加的域名。另一方面,我的电脑中保存了3个hosts文件,也就是3个不同的版本,需要用到的时候,执行.bat文件将其替换。你也可以建立很多个hosts文件,用的时候将其替换。由于这3个文件中没有写入要使新修改的域名解析在本机生效,所以每次替换一下,本机C:\WINDOWS\system32\drivers\etc\hosts文件中的记录就会被清除,有些不方便。

于是最近无意中摸索到不用修改hosts文件的方法而使修改的域名解析在本机立即生效。方法就是先在网上搜索各地的DNS,例如你的宽带是广州电信,能否使用湖北的DNS服务器,经过测试,是可以的,全国各地的都可以。如果你的ADSL是电信,就在Google搜索“电信 DNS”,网通则搜索“网通 DNS”,会有很多全国各地的DNS,然后分别ping这些DNS,点击“开始→运行”,输入“ping ***.***.***.** -t”,应该使用与自己的宽带同省,或者邻近省份的DNS,ping值在50ms以内是最佳的,70ms左右也可以,如果没有返回ping值,则不能用。……

固定链接 | 发表评论(4) | Trackback(0)

再谈cPanel与泛域名解析
2011年01月07日 17:32

本文的话题并不是cPanel与泛域名解析之间的关系,而是分别再谈这2个话题。我用的主机使用cPanel的程序版本有一个bug,添加域名有时候会显示“***.com is already configured”,但这时域名并不在Addon Domains栏目里,只能联系客服手动删除,这很明显是程序设计中的一个遗漏而导致的失误,修补这一bug对于程序开发者并不困难,只要发现问题,就能够修复。bug是由于编写程序的过程中,在测试的时候不是每种情况都会想到去测试,用户却出现了这种情况,而在程序中恰好缺少这一种条件,于是出现了bug,程序设计者如果及时收到用户反馈,就可以迅速修正此bug。当然,这类bug通常出现的机率也比较小,合格的程序员,这类bug应该不会超过10%。因为测试的过程中,很多的条件也会考虑到,同一个小程序测试十几次、几十次是很平常的事情,这也是开发程序特别花时间的原因之一,例如用户重复提交信息、或者重复刷新某页面,或者没有完成提交信息而出现的错误等等,很多情况都需要在程序中进行判断,如果判断的条件不足,会导致出错。或者多个程序文件对同一个数据库进行操作,如果其中一个程序文件忘记了编写对此数据库进行处理的程序,这时候就会出现bug。世界上没有完美的程序,没有无漏洞的程序。……

固定链接 | 发表评论(1) | Trackback(0)

cPanel支持泛域名解析
2011年01月01日 10:12

CP是cPanel的简称,是cPanel公司开发的产品。CP十分强大,目前最为珍贵的功能是它支持泛域名解析,这样不需要独立IP也能实现泛域名解析,我购买独立IP仅仅是为了实现泛域名解析。最近购买了3个使用cPanel的主机控制面板的国外空间,3个空间都是不同的服务商。经过测试,这3个空间都能支持泛域名解析,添加的办法是先在Addon Domains添加主域名如abc.com,然后再在Subdomains添加二级域名,子域名的名称输入*号即可。

泛域名解析的原理很容易理解,Apache可以轻松在本机或者服务器建立泛域名解析,原理和步骤如前所述:http://www.auiou.com/relevant/00000573.jsp。由这个原理和步骤可以看出,Apache建立泛域名解析和普通的域名解析是一样容易的,只是很多的主机商关闭了此权限,不允许添加名称为*的二级域名。……

固定链接 | 发表评论(7) | Trackback(1)

随谈:2010-12-21 谈二级域名/三级域名
2010年12月21日 13:24

现在国内很多大的网站,都使用三级域名。例如一级域名是abc.com,二级域名是news.abc.com,三级域名是aa.news.abc.com。子域名与网站目录的排列顺序正好是相反的,子域名是倒着排列。例如通常认为news.abc.com是abc.com的子域名,aa.news.abc.com是news.abc.com的子域名。事实上如果有需要的话,我们也可以设定为news.aa.abc.com,将news与aa互换。如果服务器同一个目录里有多个站点,修改相关的程序,使news与aa互换。

在域名的DNS功能控制面板里,添加二级域名和三级域名、四级域名、甚至更多级的方法是完全一样的,所不同的是二级域名添加的名称中不含“.”(点)这个符号。在这个意义上,二级域名和三级域名、四级域名其实都是一级域名的子域名,也就是news.abc.com和aa.news.abc.com实际上是并列的关系,这个“.”(点)既可以当作是是无实际意义的分隔符,也可以当作是有意义的从属关系,在这个意义上无需区分是二级域名和三级域名、四级域名;也可以认为是子子域名、子子子域名的关系。增加了一个“.”(点)的符号,既可以扩展新的子域名的子域名、子子域名、子子子域名,也可以将它们认为是并列的关系。……

固定链接 | 发表评论(0) | Trackback(0)

快完成了
2009年11月29日 08:24

经过这段时间的持续努力,这项工作终于快完成了。2005年~2008年4月做的一个网站,断断续续做了3年的时间才完成。因为程序结构不够理想,有些部分现在觉得有些繁琐,很阻碍新的开发。今年整个删除,重新编写程序。

当全力以赴地写程序的时候,使用的时间似乎是非常“精确”的,不多不少,就是那些时间,总是有一个极限。这个极限时间无法突破,不能再快了。需要半年的时间,就是半年;需要300小时,就是300小时。假如每天编程10小时,连续30天可以编完;如果换成每天编程2小时,实际上可能不是150天完成,每天的有效编程时间可能不到半小时,所以可能需要600天才完成。因为程序有很强的连续性,持续不休息地工作,能够记住前面的思路,间断的时间越长,忘得越多。我在2006年写的一段搜索程序,2年后用了3天的时间才能回忆起来当时的思路,那段程序看了3天,所以现在养成了记笔记的习惯。……

固定链接 | 发表评论(1) | Trackback(0)

网页中的路径/
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/。……

固定链接 | 发表评论(12) | Trackback(1)

循环程序的写法与速度对比
2009年10月18日 20:04

下列测试都是在Windows XP系统SP3/IE 6.0/3G CPU/1G内存,Apache+PHP的环境中,如下程序:

<?$j=0;……

固定链接 | 发表评论(4) | Trackback(0)

博客防spam/陌生人恶意留言另一方案
2009年10月12日 18:37

防spam的规则,通常不会冲突,规则越多,越减少spam。如果你有时间,一个博客可以设置几条,几十条规则。如之前的规则,http://www.auiou.com/relevant/00000564.jsp,已经可以很有效地防止spam。因为博客是个人博客,再加上判断的程序仅在用户发送表单时才会生效,只要规则不是很多,可能不会影响博客的速度。如果你的博客或者论坛访问量很大,留言数很多,可以将多条规则用include()函数将程序分开,当符合条件时才会调用相应的程序,这是PHP的一大优点,不符合条件不会调用,可有效地大大提高程序的速度。

网友的绝大多数留言都是友好的。如果博客中偶尔出现一条陌生人的恶意留言,可能会影响博主的心情,如果在意,会与这些发布恶意留言的网友的命运发生牵连,与他们的业力发生牵连。留言者,没有权利审判别人。如上面的链接中的方法,可以直接封闭IP。……

固定链接 | 发表评论(6) | Trackback(0)

二级域名的博客在本地建立虚拟主机
2009年10月11日 09:26

在本地建立虚拟主机,可以模拟远程,便于调试,之前已经写过几篇,本文介绍的方法与之前的这篇基本上是一样的,阅读这篇也可以实现,http://www.auiou.com/relevant/00000572.jsp。本文介绍的语句是直接用ServerAlias,而不使用ServerName来建立虚拟主机。经过测试,ServerName可以用ServerAlias代替。ServerAlias的使用更为强大方便,ServerAlias可以同一空间绑定多个域名,同一空间泛域名解析,同一空间多个域名的泛域名解析。

在Apache的conf/httpd.conf文件原来的基础上,写入如下4行,就在本地建立了虚拟主机:……

固定链接 | 发表评论(3) | Trackback(2)

重新编写了Trackback程序
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程序有文章标题。相同的表单,可以做相同的处理。……

固定链接 | 发表评论(4) | Trackback(0)

Apache实现多域名解析同一空间简法
2009年10月10日 09:46

如之前的方法《Apache在本地建立泛域名虚拟主机简法》,http://www.auiou.com/relevant/00000573.jsp,正文已列出能够实现的步骤,实现起来是比较容易的。主要是归功于Apache强大简便的别名功能ServerAlias和强大简便的泛域名解析功能。

如上面文章中的代码实例,在Apache的conf/httpd.conf文件原来的基础上,再加入一行ServerAlias *.aucgra.com,如下代码:……

固定链接 | 发表评论(2) | Trackback(1)

Apache在本地建立泛域名虚拟主机简法
2009年10月08日 08:55

在本地建立泛域名虚拟主机,可以修改Apache的安装目录下的conf/httpd.conf,如下:

<VirtualHost *:80>……

固定链接 | 发表评论(12) | Trackback(5)

使用Apache作为本地虚拟主机预览博客
2009年10月07日 21:23

Apache的虚拟目录,或者虚拟主机建立很方便。在Apache里,虚拟主机实际上是一个虚拟目录,所以Apache建立虚拟目录、虚拟主机的方法是完全一样的。如下图,是默认的http://localhost在httpd.conf中的设置方法,

……

固定链接 | 发表评论(9) | Trackback(6)

博客+论坛的方式
2009年09月28日 12:18

我的博客评论设置为不分页,超过500回复,或者一个网页内的评论字数超过200K,设置为关闭此篇评论。本博客也有一篇超过500回复。有网友曾经提问,为什么我不设置为评论分页?主要是为了某种主流风格,将帖子集中在一起,有某一种用户体验。例如MOP,PCPOP的论坛帖子分页,每页是100条或50条帖子,而天涯每页的帖子特别多,他们都保持一定的风格。分页可以节省服务器资源,论坛因为在线人数多,分页可以大大降低服务器的CPU,内存资源。博客因为在线人数相对少,不分页可使内容集中,便于读者浏览。用户体验、程序的效率设计,在于访问量的多少来取舍和设计。

当你的博客评论因为回复太多时,你可以在最后回复,给大家发一个网址,指向一个论坛的帖子,让大家继续在那里讨论,然后关闭这篇博客的评论。……

固定链接 | 发表评论(5) | Trackback(0)

博客存档的命名
2009年09月24日 12:52

博客存档文件的命名我使用数字的方式,假设http://www.auciou.com/peace/72,也有很多Blogger使用英文的方式,假设http://www.auciou.com/peace/make-an-easy-audio-converter。

使用数字的方式好处在于:……

固定链接 | 发表评论(5) | Trackback(0)

防止批量spam的方法
2009年09月24日 12:24

  1. 防灌水程序,可自由设置N秒内不能再发帖,在线及时封闭IP,如 http://www.auiou.com/relevant/00000524.jsp
  2. 使用判断来源防止本地硬盘网页表单post,以及隐含表单域的验证码,定期更新此验证码,这样的好处是不用更换post的地址,如 http://www.auiou.com/relevant/00000440.jsp
  3. 当留言者的留言符合一定条件时,弹出验证码,或者自动封闭IP,如 http://www.auiou.com/relevant/00000276.jsp
  4. 将上述的72转化为72gh,73转化为73gw,再增加此隐含表单域,防止批量spam。
  5. 不得已开启手工验证码,验证码对人工spam十分有效,如 http://www.auiou.com/relevant/00000303.jsp
  6. 不得已临时设置复杂的验证码。
  7. 紧急时刻临时关闭博客全站评论。

我的博客已使用这些规则。……

固定链接 | 发表评论(6) | Trackback(3)

auciou.com重新调整完毕
2009年09月15日 20:20

auciou.com已经重新调整完毕。cutegd.com是我的第一个Blog,在2005年的过年开通。后来域名改为auciou.com,cutegd不再使用。

auciou.com的程序与auiou.com的程序不一样。前几天重新编写和修改了auciou.com的程序,有很多都是新写的程序。还有Trackback和URL认证功能有待处理,现在此博客已经编写了防灌水的程序。……

固定链接 | 发表评论(8) | Trackback(0)

Apache的Rewrite与404错误页面的区别
2009年07月26日 17:04

Rewrite与404错误页面各有优势。它们的一些区别:
  1. 404错误页面的优势可能在于不用调用Rewrite模块,Rewrite需要调用此模块。因此404错误页面可能会更节省资源,使大型网站的速度更快一些。我编写的静态化网页,目前大多数都是使用404错误。
  2. 使用404错误页面,不能被POST和GET。例如305.php?name1=auiou,假如此305.php页面是用404错误产生,则此$_GET['name1']的值不会被读取。其它页面的<form>使用POST方法将action指向此404错误产生的305.php,也无法被接收,例如<form method=post action=305.php>所发送的信息无法被305.php接收。

    如果您希望产生的虚拟路径如305.php被POST和GET,使用Rewrite可解决。

  3. 404错误页面的开头有一些Linux空间必须写入这句<?Header('HTTP/1.1 200 OK');?>,有一些Linux空间则必须写为<?Header('Status: 200 OK');?>才可以被搜索引擎收录,否则会被认为是404页面。调试时,可以在网上搜索“404 检测工具”进行测试。……

固定链接 | 发表评论(5) | Trackback(2)

我设计的防灌水和封IP程序原理
2009年07月25日 23:38

我设计的防灌水程序和封IP程序,已经在ufoaq实施了一个多月,效果很好,既简单又高效,比我在2006年设计的封IP程序又简单了一些。防灌水程序主要是通过写入Cookies,封IP程序是通过写入Cookies兼直接从数据库读封IP的列表,本文以PHP为例。因为本程序需要写入Cookies,请在最外层的程序如post.php、reply.php、submit.php等等的最开头写入<?ob_start();?>这句,否则会报错。

防灌水程序的原理如下,本程序写在一个留言判别的公用组件如judge.php,此文件被其它文件使用include()函数包含引用:……

固定链接 | 发表评论(4) | Trackback(2)

编程必备工具:文本替换专家
2009年07月17日 12:06

“文本替换专家”是一款优秀的批量文本文件的替换/查找工具,体积小,运行速度快。批量文件的查找功能十分便捷,可以从批量的文本文件中找出有搜索的关键词的文件。例如您编写的程序中,需要查找以前写过的程序中是否使用过某个变量名,可以点击该软件的“查找文件”,“查找内容”处输入要查找的如关键词$aa=,$bb=,以这样的方法。变量名后面加一个“=”号,查找更准确一些,“包含子文件夹”前面的勾需要打上。

因为编写程序的过程中,经常需要包含文件,为了不使全局变量名重名,需要批量查找相关的文件,“文本替换专家”会很快地找到,比手动一个一个文件去查找,节省很多的时间。另外,编写程序的过程中,也经常需要复制程序、复制代码,从这个程序文件复制到另一个文件,所以整个程序的所有文件的变量名尽量不要重名,使用该软件可以检验变量名是否使用过。……

固定链接 | 发表评论(3) | Trackback(0)

1 2 3 4 5 6 7 8

首页 | 上一页 | 下一页 | 末页 (共8页)

王志勇:1980-09-26 (44周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +

2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2024 auiou.com All rights reserved.
此Blog程序由王志勇编写