存档

2005年12月 的存档

站点访问记录

2005年12月30日 没有评论

今天发现dasBlog一个有意思的功能,就是对访问进行记录。我每天都能收到大量的邮件通知,百度对我的blog进行了的引用。

出于好奇我去测试那几个引用我blog次数最多的关键词,发现很多访问量比我多的站点都排在我的后面。于是有了如下的猜测:百度对于中文站点和cn域名的站点作了有针对性的优化,除了迎合中国用户的语言要求外,也更好的提高其服务器的利用效率。

dasBlog的引用记录非常有意思,但是只能单一某一天的记录,看来我得找一个自己的访问统计分析软件了。

分类: 未分类 标签:

身份验证常用正则表达式

2005年12月28日 没有评论

从起航的Blog上面摘来的,顺便测试一下Trackback。

中国电话号码验证
匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222
正则表达式 "((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*"
中国邮政编码验证
匹配形式如:215421
正则表达式 "d{6}"
电子邮件验证
匹配形式如:justali@justdn.com
正则表达式 "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"
身份证验证
匹配形式如:15位或者18位身份证
正则表达式 "d{18}|d{15}"
常用数字验证
正则表达式 
"d{n}" n为规定长度
"d{n,m}" n到m的长度范围
非法字符验证
匹配非法字符如:< > & / ‘ | 
正则表达式 [^<>&/|’\]+
日期验证
匹配形式如:20030718,030718
范围:1900–2099
正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}

分类: 未分类 标签:

ASP.NET通过使用Membership管理用户(1):Membership介绍

2005年12月28日 没有评论

ASP.NET成员为你提供了一套内置的验证和存储用户信任的方法。因此,ASP.NET成员可以帮助你在你的Web应用当中管理用户验证。你可以在Forms验证的时候使用ASP.NET成员,也可以在通过登录控件来创建一整套用户管理系统。

ASP.NET成员轻松支持如下特性:

  • 创建用户和密码
  • 在微软SQLServer、AD或者其他数据源当中存储成员信息(用户名,密码和其他数据)
  • 鉴别访问站点的用户。你可以按照自己的意愿鉴别用户,也可以通过ASP.NET登录控件不编写代码或者很少编写来创建一整套用户鉴别系统。
  • 管理密码,包括创建、更改和重设密码。依赖于你设置的membership选项,membership系统提供自动实现基于用户提供的问答来重设密码的实现。
  • 为鉴别过的用户提供一个唯一的标识,以便你能把这些标识应用在你的应用系统的个性化和规则系统(授权)系统当中。
  • 定制特殊的成员provider,允许你用自己的代码替代并管理和维护存储在定制数据存储中的成员数据。

成员,规则和用户配置

虽然成员是ASP.NET用户鉴定的一个半独立特性,但是它可以与ASP.NET规则管理整合,以此为你的站点提供授权服务。成员也可以与用户配置相整合,以此提供针对用户的特殊应用细节。详细内容请参考“使用规则管理授权”和“ASP.NET配置属性”。

Membership如何工作

如果要使用成员,必须首先在站点中配置。大体上需要如下的步骤:

  1. 在你的站点配置添加成员配置参数。默认情况下,成员是被打开的。你也可以指定自己使用的成员provider。(对于实践的时候来讲,就是指定你想用以保存用户信息的数据库。)默认的provider是微软SQL Server数据库。你也可以选择AD来存储成员信息,或者你自己指定一个特定的provider。如果要得到更多关于在你的ASP.NET应用的Web.config文件中配置成员的信息,请参考“配置ASP.NET应用使用Membership”。
  2. 配置你的应用使用Forms鉴别(区别于Windows或者Passport鉴别)。你代表性的可以指定应用中的某些页和文件夹是受保护的,只有经过鉴别的用户才可以访问。
  3. 定义成员的用户帐号。你可以通过两种方法完成这个步骤。你可以使用Web站点管理工具提供的向导页面来创建新用户。你可以通过ASP.NET页来自己收集用户名、密码(邮件地址可选),然后使用成员功能提供的“CreateUser”方法在成员系统当中创建新用户。

你可以在你的应用当中使用成员鉴别用户。大多数情况下,你需要提供一个登录窗口,他可以是一个隔离的页或者隔离的文件夹。你可以使用ASP.NET的TextBox控件手动创建登录窗口,也可以使用ASP.NET的登录控件。因为你配置应用使用Forms鉴别,所以当用户在访问受保护的页面的时候,ASP.NET将自动显示登录页。

注释:ASP.NET的登录控件(Login、LoginView、LoginStatus、LoginName和PasswordRecovery)包含了所有的事实上需要的所有成员系统的受信任用户的提示和验证用户信用的逻辑。

如果你使用登录控件,这些登录控件将自动使用成员系统来验证用户。如果你自己手动创建一个登录窗口,你可以提示用户提交一个用户名和密码,然后调用ValidateUser方法来执行用户确认。在用户被确认以后,用户的相关信息可以一直在Forms鉴别当中使用(例如:如果用户的浏览器接受cookies,将使用加密的cookie)。登录控件将自动执行这个任务,如果你手动创建登录窗口,你必须调用FormsAuthentication对象的方法来创建cookies,并写入用户的电脑。如果用户忘记了他的密码,登录窗口也可以调用成员的功能来帮助用户可以回忆起密码或者创建一个新的密码。

分类: ASP.NET 标签:

数据机房的管理制度

2005年12月27日 没有评论

今天客户的服务器还没有修好,但是和客户一起总结了导致服务器损坏的原因。

  • 服务器机架设计不合理:服务器的机架前面居然是玻璃门,后面是铁皮门。导致服务器的设计风路(由前到后)与机架的设计风路(由下到上)不匹配,风路不畅。原来看见过的DELL原装机架前面没有门,后面是网状门。
  • 机房风路设计不合理:风由风机鼓入地板下,再由机架下入风口进入机架。但是地板下弱电线路错综复杂,影响送风效果。地板下应该有专门的风道送风。送入风道的应该是经过空凋冷风。
  • 服务器机房管理制度不执行:服务器会自动监视自身运转状况,风扇停转,CPU过热会报警。机房按照制度每天需要多次巡视,没有执行,以致机房管理员没有看到报警信息。看来机房巡视制度不能只停留于规章制度。

不过至强CPU严重的散热问题现在看来确实太严重,要知道服务器风道出口的两个散热风扇的总功率为120W。

这次事故不算上对运行系统的影响,但是硬件损坏造成的损失就已经达到了数万。

分类: 未分类 标签:

和木马斗争不动摇

2005年12月26日 没有评论

今天服务器坏了,相对比较闲,把原来下载的几个CHM类的连环画打开看了看,结果Symentec开始报告有木马正在运行,但是被Symentec屏蔽了。但是AntiSpyware还是报告有一个新的服务被安装了,毫不犹豫地我将这个新的服务也屏蔽了。这时候我明白我现在要面对的不再是病毒了,而是无空不入的木马了。

我向来对于病毒有比较高的警惕,但是为了更好的性能,我机器上只安装Symantec AntiVirus 8,但是看来是换成Symantec AntiVirus 10的时候了。换成Symantec AntiVirus 10还是继续报一个我原来以为是正常的服务是木马。删掉这个服务以后,我才松了一口气。

看来现在需要警惕的不再只是病毒了,也许木马现在已经是头号敌人了。

分类: 未分类 标签:

ASP.NET通过使用Membership管理用户(1):前言

2005年12月26日 没有评论

译者前言
ASP.NETv2与前一个版本之间的一个比较显著的区别就是添加了membership管理。这个是一个显著的特性。希望可以通过MSDN里面的这一篇"Managing Users by Using Membership"来打到抛砖引玉的作用。本文的版权属于MSDN。转载译文请标明出处来自于http://blog.zhangchi.com.cn

原著前言
ASP.NET成员可以使你的Web应用有效的管理用户信息。它提供了一些功能,诸如:确认用户,创建和修改成员用户,和管理用户的密码、电子邮件地址之类的用户信息。ASP.NET成员主要用在ASP.NET的Forms验证,但是也可以使用在Web应用的任何地方。

ASP.NET成员使你可以管理你的应用用户验证,并将信息存储到你的数据源当中。因为ASP.NET成员用户提供了成员数据的数据源,所以你不比扩展任何代码就可以读写用户信息。

ASP.NET成员主要有内置的成员Provider组成,它与数据源通信,并由静态的membership对象暴露出成员Provider的功能。你可以在你的ASP.NET代码中调用membership对象来执行用户的确认和管理。

  • 内容目录
  • Membership的介绍
  • 对照Membership与Windows和Passport验证
  • Membership对象
  • Membership Provider
  • 配置ASP.NET应用使用Membership
  • Membership的安全性
  • 实现一个Membership
分类: ASP.NET 标签:

原来的Blog已经整理完成了

2005年12月26日 没有评论

有用的东西已经都整理出来了,下一步就是整理电子邮件了。

客户的服务器又坏了,上次开始的时候以为坏了两个CPU的风扇,后来发现还有一个CPU坏了,花了5天的时间才恢复,但是坏的那个CPU没有换一个新的。这次服务器又当机了,不知道什么时候能修好。所有的项目都停下来了…原来预定到元旦前完成的内容估计都有困难了

但是终于也有闲暇时间整理Blog和电子邮件

分类: 未分类 标签:

被偷窥了

2005年12月26日 没有评论

听说ucloo.com在叫卖9000万个人隐私,于是去搜了一下名叫张弛的人,居然有75页之多。在第九页找到我了自己的信息,心里很有点荣幸。在留下了电子邮件以后,得到了如下的信息,我做了一个截屏:

beitoukui

 

可以看到这里面的联系方式除了QQ以外,都是过时的内容了(5年以前的内容)。毕业院校基本真实,但是没有现在的工作单位,也没有专业类的内容。我想我的这些的信息实在是没有什么利用价值。我想我还有一项内容QQ号码是真实的,其他的经常换QQ号码的人,可能就没有一件是现在还可用的了。

不过我还是要感谢他们,让我似乎回到了5年以前的时光。

分类: 未分类 标签:

准备将原来域名的Blog迁移过来

2005年12月25日 没有评论

原来的老域名2006年的3月份就要到期了,但是准备换域名的服务商,估计得任其过期以后再申请了,这之间的交割需要一定的时间,为了避免没有域名可用的情况,所以还是把内容都迁移过来吧。

今天突然想起来OTEC的论坛有几天没去了,去OTEC的论坛转了一圈。现在OTEC论坛关于SPS的新内容真的是越来越少了。博客堂好像也是。也许大家都去忙着圣诞和新年了,毕竟DOTNETv2和VS2005之前的太多各种各样的beta版本,让新出来的正式版的vs2005像是被吮过的鸡骨头一样让人没有什么兴趣了。也许更让人期待的还是新的一年的到来,当然不是每一个人都这样期待。

OTEC的论坛中看到有人遇见了问题,和我曾经遇见的问题相似,于是将我当初的解决办法写上去以资参考。我曾经遇见过很多各种各样的问题,但是现在都沉寂到我的邮件存档里面了,也许应当都整理一下放到Blog里面来。一则供大家通过google来搜索,二则自己也看着方便。但是我先与帮我解决问题的各位工程师联系一下,看看会不会造成什么不必要的麻烦。不是会不会给我造成什么麻烦,而是会不会给曾经帮助过我的工程师带来什么麻烦。

分类: 未分类 标签:

安装了新的dasBlog

2005年12月24日 没有评论

测试一下这个dasBlog的新版本,本来以为安装上的中文的版本,但是无论如何也不能把界面汉化。后来发现安装的英文的版本:-P

英文的就英文的吧,反正现在都使用UTF-8了,英文的界面能显得更cool一些。

分类: 未分类 标签:

C#位移运算之支持整数?

2005年12月15日 没有评论

今天写的一个程序当中发现程序C#的位移运算:左移运算和右移运算只支持对于Int32和UInt32,不支持其他的类型。

真的是很奇怪啊!

分类: dotNET 标签:

[整理]17种常用正则表达式

2005年12月14日 没有评论

正则表达式是一个好东西,但是一般情况下,我们需要验证的内容少之又少。下面是常用的17种正则表达式:

"^\d+$" //非负整数(正整数 + 0)

"^[0-9]*[1-9][0-9]*$" //正整数

"^((-\d+)|(0+))$" //非正整数(负整数 + 0)

"^-[0-9]*[1-9][0-9]*$" //负整数

"^-?\d+$" //整数

"^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0)

"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数

"^((-\d+(\.\d+)?)|(0+(\.0+)?))$" //非正浮点数(负浮点数 + 0)

"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数

"^(-?\d+)(\.\d+)?$" //浮点数

"^[A-Za-z]+$" //由26个英文字母组成的字符串

"^[A-Z]+$" //由26个英文字母的大写组成的字符串

"^[a-z]+$" //由26个英文字母的小写组成的字符串

"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串

"^\w+$" //由数字、26个英文字母或者下划线组成的字符串

"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" //email地址

"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$" //url

分类: 未分类 标签:

[整理]Paint.NET,DotNET实现的一个Photo工具

2005年12月14日 没有评论

好玩的东东,不光是其功能,本身其还是开源的,这样的Windows App是开源的还是相对比较少的,有很大的借鉴意义。截图什么的自己去其网站自己看吧:Paint.NET

分类: dotNET 标签:

[整理]AnkhSVN只支持专业版的VS2005?

2005年12月13日 没有评论

这两天在研究Subversion,自然也找来了AnkhSVN安装一下。在AnkhSVN的网站上看到的截图都是VS2005的,相信已经可以和VS2005一起工作了,可是在我虚拟机里面的VS2005的TeamDeveloper版里面,在Tools菜单里面就是找不到AnkhSVN的菜单。

今天一时心血来潮在机器上装了VS2005的专业版,结果发现AnkhSVN可以正常工作了。难道AnkhSVN不支持TeamDeveloper版的VS2005,还是这两个版本的区别有那么大?

分类: Subversion 标签: