新建了一个WIKI

从今天早上1:00多种搞到4:00多种,才成功了建成一个WIKI,现在网上能够很好地支持中文的ASPWIKI引擎真TMD少。我用的是JSWIKI,因为看起来比效简单。我装WIKI一是为了赶赶潮流,同时也是想找个地方写写学习笔记。今天用WIKI试着写了一下笔记,还真的很方便,特别是里面的内部链接太好用了,可以很好地把每一次的笔记相互联系起来,只是发现一个小问题,就是数据库长得太快了,还没写几篇文字就已经快2M了。我用的是ACCESS,如果这样下去的话用不了多长时间速度就会大打折扣了……不管这些啦,先用着再说~~

受不了了,一口气都删了!

       今天实在是受不了了,看着BLOG里已经有几百条的垃圾引用,搞得我的数据库大了好几百K,用PJ论坛里提供的批量删贴插件一口气把前十几页的引用通告都DEL了,最后一页是建站初期的引用,都是些真实有效的所以还留着但也只制7条了。回到主页一看,晕~~~引用统计栏居然显示还有60条,无语~~~~
        顺便记一下,今天是武汉本年度最热的一天,具体温度个人感觉应该有40度以上^_^

防止数据库被下载的几个方法

前言:很多动态站点大量应用了数据库,数据库理所当然成了一个站点的核心文件。一旦数据库被人下载,极有可能被恶意人士破坏网站。或者窃取资料。实在痛心啊。有什么方法可以防止数据库被人下载呢?

下面提供的的方法分别适用使用虚拟主机空间的用户和有IIS控制权的用户!
一:购买虚拟主机空间的,适合没有IIS控制权

1:发挥你的想象力 修改数据库文件名
这个是最基本的。我想现在也没有多少连数据库文件名都懒得改的人吧? 至于改成什么,你自己看着办,至少要保证文件名复杂,不可猜测性。当然这个时候你的数据库所在目录是不能开放目录浏览权限的!

2:数据库名后缀改为ASA、ASP等
这个听说很流行,不过我测试了好多次,发现并不理想,如果真正要起到防止下载的作用,要进行一些2进制字段添加等设置,—一句话,繁而复杂(如果你的数据库有很多的话,这个方法实在不是很好)

3:数据库名前加“#”
只需要把数据库文件前名加上#、然后修改数据库连接文件(如conn.asp)中的数据库地址。原理是下载的时候只能识别 #号前名的部分,对于后面的自动去掉,比如你要下载:http://www.pcdigest.com/date/index.htm(index.asp、default.jsp等你在IIS设置的首页文档)” target=_blank>http://www.pcdigest.com/date/#123.mdb(假设存在的话)。无论是IE还是FLASHGET等下到的都是http://www.pcdigest.com/date/index.htm(index.asp、default.jsp等你在IIS设置的首页文档)
另外在数据库文件名中保留一些空格也起到类似作用,由于HTTP协议对地址解析的特殊性,空格会被编码为”%”,如http://www.pcdigest.com/date/123 456.mdb,下载的时http://www.pcdigest.com/date/123%456.mdb。而我们的目录就根本没有123%456.mdb这个文件,所以下载也是无效的这样的修改后,即使你暴露了数据库地址,一般情况下别人也是无法下载!

4:加密数据库
用ACCESS将你的数据库以独占方式打开后,在工具-安全-设置数据库密码,加密后要修改数据库连接页, 如:
conn.open “driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq=数据库路径”
这样修改后,数据库即使被人下载了,别人也无法打开(前提是你的数据库连接页中的密码没有被泄露)
但值得注意的是,由于Access数据库的加密机制比较简单,即使设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行“异或”来形成一个加密串,并将其存储在*.mdb文件从地址“&H42”开始的区域内。所以一个好的程序员可以轻松制作一个几十行的小程序就可以轻松地获得任何Access数据库的密码。因此,只要数据库被下载,其信息安全依然是个未知数。

二:有主机控制权 (当然虚拟空间的设置在这里依然可以用)
5:数据库放在WEB目录外
如你的WEB目录是e:\webroot,可以把数据库放到e:\data这个文件夹里,在e:\webroot里的数据库连接页中
修改数据库连接地址为:”../data/数据库名” 的形式,这样数据库可以正常调用,但是无法下载的,因为它不在WEB目录里!这个方法一般也不适合购买虚拟空间的用户。

6:使用ODBC数据源。
在ASP等程序设计中,如果有条件,应尽量使用ODBC数据源,不要把数据库名写在程序中,否则,数据库名将随ASP源代码的失密而一同失密,例如: DBPath = Server.MapPath(“../123/abc/asfadf.mdb ”)
conn.open “driver={Microsoft Access Driver (*.mdb)};dbq=”& DBPath
可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了: conn.open “ODBC-DSN名” ,不过这样是比较烦的,目录移动的话又要重新设置数据源了,更方便的方法请看第7,8法!

7:添加数据库名的如MDB的扩展映射
这个方法就是通过修改IIS设置来实现,适合有IIS控制权的朋友,不适合购买虚拟主机用户(除非管理员已经设置了)。这个方法我认为是目前最好的。只要修改一处,整个站点的数据库都可以防止被下载。无须修改代码即使暴露目标地址也可以防止下载,如图1、2设置:

此主题相关图片如下:

我们在 IIS属性—主目录—配置—映射—应用程序扩展那里添加.mdb文件的应用解析。注意这里的选择的DLL(或EXE等)似乎也不是任意的,选择不当,这个MDB文件还是可以被下载的, 注意最好不要选择选择asp.dll等。你可以自己多测试下
这样修改后下载数据库如:http://192.168.1.5/HaoBbs/data/dvbbs6.mdb。就出现(404或500等错误)

8:使用.net的优越性
动网的木鸟就写过一个防非法下载文件的“WBAL 防盗链工具”。具体可以登陆http://www.9seek.com/WBAL/
不过 那个只实现了防止非本地下载的 ,没有起到真正的防下载数据库的功能。不过这个方法已经跟5法差不多
可以通过修改.NET文件,实现本地也不能下载!

这几个方法中,只有第7和8个是统一性改的,一次修改配置后,整个站点的数据库都可以防止下载,其他几个就要分别修改数据库名和连接文件,比较麻烦,不过对于虚拟主机的朋友也只能这样了!

其实第6个方法应该是第5个方法的扩展,可以实现特殊的功能,但对于不支持.net的主机或者怕设置麻烦的话,还是直接用第5个方法了,而且默认情况下第6个方法,依然可以通过复制连接到同主机的论坛或留言本发表,然后就可以点击下载了(因为这样的引用页是来自同主机的)

这几个方法各有长短,请自己选择性地使用。这些方法也不是绝对的安全,还需要网站管理员平时注意一些系统的安全,以及写ASP/ASP.NET/JSP代码本身的安全 ,否则依然是有可能被人下载或者修改数据库的。

Access数据库的存储上限

Microsoft Access 数据库 (.mdb) 文件大小 2G 字节减去系统对象所需的空间。
  数据库中的对象个数 32,768
    模块(包括“内含模块”属性为“是”的窗体和报表) 1,000
    对象名称中的字符数 64
    密码的字符个数 14
    用户名或组名的字符个数 20
    并发用户的个数 255
    
    
    
    属性 最大值
    表名的字符个数 64
    字段名的字符个数 64
    表中字段的个数 255
    打开表的个数 2048;实际可打开的表的数目可能会少一些,因为 Microsoft Access 还要打开一些内部的表。
    表的大小 2G 字节减去系统对象所需的空间
    “文本”字段的字符个数 255
    “备注”字段的字符个数 通过用户界面输入为 65,535;以编程方式输入时为 1G 字节的字符存储。
    “OLE 对象”字段的大小 1G 字节
    表中的索引个数 32
    索引中的字段个数 10
    有效性消息的字符个数 255
    有效性规则的字符个数 2,048
    表或字段说明的字符个数 255
    记录的字符个数(除“备注”字段和“OLE 对象”字段外) 2,000
    字段属性设置的字符个数 255
    
    查询
    
    属性 最大值
    实施关系的个数 每个表为 32 减去表中不包含在关系中的字段或字段组合的索引个数
    查询中的表的个数 32
    记录集中的字段个数 255
    记录集大小 1G 字节
    排序限制 255 个字符(一个或一个以上字段)
    嵌套查询的层次数 50
    查询设计网格一个单元格中的字符个数 1,024
    参数查询的参数字符个数 255
    Where 或 HAVING 子句中 AND 的个数 99
    SQL 语句中的字符个数 约为 64,000
    
    窗体和报表
    
    属性 最大值
    标签中的字符个数 2,048
    文本框中的字符个数 65,535
    窗体或报表宽度 22 英寸(55.87 厘米)
    节高度 22 英寸(55.87 厘米)
    所有节加上节页眉的高度(在“设计”视图中) 200 英寸(508 厘米)
    窗体或报表的最大嵌套层数 7
    报表中可作为排序或分组依据的字段或表达式个数 10
    报表中页眉和页脚的个数 1 对报表页眉/报表页脚,1 对页面页眉/页面页脚,10 对组页眉/组页脚
    报表的打印页数 65,536
    可添加到窗体或报表的控件和节的个数 754
    SQL 语句中作为窗体、报表或控件的“记录源”或“行来源”属性的字符个数(适用于 .mdb 和 .adp) 32,750
    
    
    
    属性 最大值
    宏中的操作个数 999
    条件中的字符个数 255
    备注中的字符个数 255
    操作参数中的字符个数 255
  

    Microsoft Access 项目规格
    Access 项目

    
    属性 最大值
    Microsoft Access 项目 (.adp) 中的对象数目 32,768
    模块(包括“内含模块”属性为“是”的窗体和报表) 1,000
    对象名称中的字符数 64
    表中的索引个数 250 (Microsoft SQL Server 6.5)
    1024(Microsoft SQL Server 7.0 和 2000)

    

    Microsoft SQL Server 数据库

    
    SQL Server 文档中描述了 Microsoft SQL Server 最大容量规格。有关 SQL Server 联机丛书的详细信息,请参见 Microsoft Developer’s Network Web 站点。

    
    注意 使用该主题中的超链接会跳转到 Web 上,但随时可以切换回“帮助”。

    
    窗体和报表

    
    属性 最大值
    标签中的字符个数 2,048
    文本框中的字符个数 65,535
    窗体或报表宽度 22 英寸(55.87 厘米)
    节高度 22 英寸(55.87 厘米)
    所有节加上节页眉的高度(在“设计”视图中) 200 英寸(508 厘米)
    窗体或报表的最大嵌套层数 7
    报表中可作为排序或分组依据的字段或表达式个数 10
    报表中页眉和页脚的个数 1 对报表页眉/报表页脚,1 对页面页眉/页面页脚,10 对组页眉/组页脚
    报表的打印页数 65,536
    可添加到窗体或报表的控件和节的个数 754
    SQL 语句中作为窗体、报表或控件的“记录源”或“行来源”属性的字符个数(适用于 .mdb 和 .adp) 32,750

    
    

    
    属性 最大值
    宏中的操作个数 999
    条件中的字符个数 255
    备注中的字符个数 255
    操作参数中的字符个数 255

2005年岁末,各种主流CMS系统的比较和汇总

CMS(Content Management System),中文叫作整站系统、文章系统,大概2004以前,如果想进行网站内容管理,基本上都是靠手工维护,但千变万化的信息流,但没有好的程序支持,还继续靠手工完成是不可能的事,如果有一个好的系统来支撑你的网站,那将节省大量的人力物力,开发者就可能给客户一个软件包,可以用它定期人工修改网站。只要你配置安装好,你的编辑,在线记者,更新员只要定期更新数据,剩下的事就交给CMS去处理。

Asp
动易CMS管理系统,官方网站:http://www.asp163.net/
这套是国产AspCMS中非常强大的系统,从3.0的简单的一个文章系统到现在的2005的版本,一路走来,动易不断完善,而且也不断加强功能,包括个人版,学校版,政府版,企业版,后台包括的功能,信息发布,类别管理,权限控制,信息采集,而且跟第三方的程序,比如论坛,商城(2005的已经自带了), blog可以完美结合,基本上可以满足一个中大型网站的要求,但Asp和Access的的局限性,还有本身功能Dll的限制,使得免费版差不多成鸡肋,

风讯 官方网站:http://www.foosun.cn/
风讯的系统功能强大,自由度高,是现在人气比较高的系统之一,可以根据自己的想法做出一个网页从而建立一个有自我风格的网站,更新速度快,一直有新的版本出现,现在又开放采集、下载、投稿、图片整站管理系统,第三方整合等功能,开源是它最大特点,希望保持。然后缺点就是后台人性化差了一点,上手有点难度,而且连一套默认的模板都没有,因为自由度太高了,让一些新手更难上手,还有就是免费版的生成静态发布的效率不高。3.1已经出来一段时间了,愿各方面都更上一层楼。

新云网站管理系统 官方:http://www.newasp.cn/
一款Asp的CMS后起之秀,发现有不少的网站都在使用。由文章、下载、商城、留言、用户管理五大功能模块和广告、公告、连接、统计、采集、模板管理、数据库管理等多个通用模块组成,而且功能确实有一些值得称道的地方,不过又是DLL的,免费版有不少的限制,但对一个简单基本的网站来说,功能够用了。

乔客(asp) 官方网站:http://www.joekoe.com/
这个系统已经很久了,但好像一直存活在动易和风讯两者之间,现在3.0的Joekoe CMS出来了,但另我比较失望,相比免费版的1.2,功能是增强了,但也Dll,这个可能也是国产程序的一个特色罢了。它本身已经是一个融合度非常高的系统,有商城,新闻,下载,论坛,留言,影视,博客圈等,感觉有那么点WEB2.0 的味道,,不想怎么修改的朋友直接拿去就可以用了。

NB文章系统(asp) 官方:http://forum.nbarticle.com/default.asp
现在最新的是v2.1 RC1 ,上手挺容易,后台很简洁,安全性能不错,发布效率比较高,当然想到同类型的,RSS不错,它也是将模板写入数据库,但修改还是蛮方便。不过这样相对来说功能是少了一些,而且官方就一个论坛技术支持,论坛的人气差了一点。

渐飞新闻出版系统(asp) 官方网站: http://www.xunt.net/
这个系统也有一段时日了,不过到现在还是1.1的版本,以前名头特别响,
不过主要针对的是商业客户,看客户演示,个个都像门户,但因为没免费版的支撑,市场也一直没做大。

大世纪(Asp) 官方网站:http://www.bigcn.net/
很老的系统,差不多就算是个文章,新闻系统,
现在连官方都打不开了,这样的估计也没多少前景。

tsys信息发布系统 官方:http://www.tsyschina.com
非常遗憾 2.0刚刚出测试版,作者就好像人间蒸发一样消失了!不过对于一个免费开源,没有版权的CMS来说我们也没有什么可要求的!抛开强大,但可能不成熟(我没用过)的2.0不谈!单说1.1版!从 1.1就可以说他是ASP CMS中的老大了!在TSYS的各个版本中均没有出现过重大的安全漏洞而且对于目前1.1来说已经是很完善成熟的了!tsys和一般的Asp 的CMS不一样!他的功能并非由本身而定!而是根据使用者的能力而定!使用者越厉害 TSYS本身也可以变的更厉害!因为TSYS可以说是一个核心!而其他的东西和功能均需要使用者自己搞定!从这点来说!TSYS的功能可以说是无限的!但这也决定了TSYS不会流行起来!说白了只有高手使用TSYS才能把TSYS的优点发挥的淋漓尽致!可惜啊….

说完了Asp的,去倒杯水,继续….

说到php的CMS,也跟Asp差不多,可以算是百花齐放。

PhpArtile 官方:http://www.21ds.net/
这个算是国内phpCms的祖宗了,PA由 PHP 语言开发, 使用 MySQL 数据库保存数据 ,
为中小型网站发表文章, 存放资料, 新闻发布提供一个完美的解决方案。
做了好几年了,3.0迟迟还在开发中,今年出了2.1火了一阵,又熄灭了,以前用的人挺多的,
现在基本上没落了

phpcms 官方:http://www.phpcms.cn/
好像以前是9466Article的官方,本来9466做得挺好的,不知为什么突然zend加密了,
继承了9466的优点,上手,结构,提供插件接口,可自主开发插件,自主制作语言包,
自主设计模板风格,免费版可永久使用,功能还可以。

OKphp http://cn.okphp.com
同样加密的,免费版也不见怎么有人用,系统倒是开发了好久了,整合了论坛,blog,新闻,
分有企业版,门户版,还有免费的,看起来像老外的Nuke,个人感觉没多少特别之处。

美丽心雨 官方:http://www.xydw.com/
美丽心雨CMS是心雨动网独立开发制作的网站管理系统,基本上网站管理的功能有了,
从1.01到现在的1.4,官方的开发人员也一直在努力中。

DedeCMS 官方:http://dedecms.com/
这是一套令人爱憎分明的系统,首先它是国内一款开源的系统,2.x的时候功能都已经另它的fans为之疯狂,
非常灵活的定制,强大的功能,简洁的操作,但2.x的瓶颈问题:大数据处理,到3.0的时候可能会解决,
但3.0的一直跳票,迟迟不见发布,另很多人都非常失望,希望能在3.0的时候看到一个全新的Dedecms,
当然也支持开源产品。

Ss-cms 官方:http://www.ss-cms.com/
作者我见过,一个非常有活力的家伙,程序跟他一样,国产的开源系统,
生成静态,信息采集,文章和下载集成,
但作者都是出于兴趣爱好开发,1.0出来后就不见踪影了,好像现在在搞书库

随意Cmsez CMS 官方:http://www.cmsez.com/
程序的作者和Ss-cms的作者是好朋友,他也是出于个人爱好做这个,而且主要面向企业用户,
Cmsez集成了丰富的功能模块,http://www.colorbird.com/(七色鸮..??型客户,
看七色鸟,你或许可以知道他的作品如何了。

CMSware 官方:http://www.cmsware.com/
一个非常不错的CMS系统,比较看好的他的后台操作简介,一些新技术,比如Ajax的应用,Wap的功能,
还有它的PSN的发布,节点和模块的定制,,自定义模型,数据库字段,
率先引进的工作流的概念,更多的发布自由度,非常强大的模板体系,
确实处处体现了自由的思想,让您体验自由管理的非凡感受.

Ecms 帝国网站管理系统 官方:http://www.phome.net/
可以说这个是最让我值得写的东西,作者wm_chief是个超人,偶像啊
官方的title里面是 在这里只有原创,那家伙也是疯子,
比如数据库管理,论坛,新闻,下载,flash,域名交易系统等,
还包括JSP的版本,都是自己一个人写,还有一个人搞定后期服务,客户支持,产品宣传。
还要每天抽时间灌水AD,ECMS的功能非常多,包括下载,flash,商城,图片,新闻,友情链接,广告管理等,
比如一些远程发布,刷新效率,类别管理,权限细分,万能的论坛接口,信息采集,附件管理等这些都是Ecms特别的亮点,
而且免费版也不错,作者WC也非常虚心接受客户的建议,
基本上任何一个小的功能,都力求做到最好,
他明白用户的需求,一切能从用户本身出发的系统才是好的系统,
3.6已经出来了,而且下一个版本可能会结合EXE软件发布,刷新的功能,让我们拭目以待。
ecms的典型客户 www.chinahtml.com

.Net
动网新闻(asp.net)
最新的4.X也出来了,也是DLL的,不过系统是.NET的,不过我个人不趋向使用DLL的系统,
运行速度快,效率高,安全做足。
不过以前3.X的没有Dll,感觉也蛮好的,
缺点就是风格改起来不容易。
现在加密了,反而能更快上手,不过这样可以定制的地方就少了。

还有一个倒奶CMS,也是.net的,不见什么特别之处,一笔带过

JSP
大概有这些:
Netark CMS
方正翔宇CMS
开源的Magnolia
Magnolia CMS
不过JSP的应用门槛对我们个人用户来说,有点高,也不想多提

当然还有一些系统比如说,Asp的国产FeitecCMS ,WpsCms等,国外的FullXML,php的国产有MePhp,天下站长php等,
都没见多少特色,不用也罢。
TurboCMS 这样只面向企业用户,几十万的系统,我们也不用考虑。
Struts中文版,Spring 开源系统,Gpower CMS,还有Java的 Ion,opencms,Jboss Nuke等老外做的,
国外的php的比如phpnuke,phppost,还有非常昂贵的phpcow,Bitrix Site Manager-CMS($1699),
比较廉价的Subdreamer,koobi CMS,ActiveKB团队的ArticleLive NX,newsphp
还有免费的Xoops,功能繁多的玩意,Mambo这样的开源系统,还有Mambo的变种LimboCMS,Mamhoo 。
不符合国情的,在国内也没见流行
还有国外CMS的大全:http://bbs.chinahtml.com/t602.html 自己有空去翻翻
如果要比较老外CMS的也可以进去看看:http://bbs.chinahtml.com/t5429.html 直接选择2-10项,,有详细的列表说。

Drupal: 这么好的CMS应该要列进去的吧。http://drupal.org/

现在每个CMS功能介绍上都会说自己的产品如何强大,比如说什么模板体系如何好,
缓存技术如何高明,刷新效率,负载容量如何强,操作如何如何简单,容易上手,跟第三方无缝结合,还有功能模块的如何丰富,生成静态发布,信息采集……
吹牛谁都会,大家都会写,关键是客户如何认为,反正一句话,适合自己的就是最好的。