站点访问记录
今天发现dasBlog一个有意思的功能,就是对访问进行记录。我每天都能收到大量的邮件通知,百度对我的blog进行了的引用。
出于好奇我去测试那几个引用我blog次数最多的关键词,发现很多访问量比我多的站点都排在我的后面。于是有了如下的猜测:百度对于中文站点和cn域名的站点作了有针对性的优化,除了迎合中国用户的语言要求外,也更好的提高其服务器的利用效率。
dasBlog的引用记录非常有意思,但是只能单一某一天的记录,看来我得找一个自己的访问统计分析软件了。
今天发现dasBlog一个有意思的功能,就是对访问进行记录。我每天都能收到大量的邮件通知,百度对我的blog进行了的引用。
出于好奇我去测试那几个引用我blog次数最多的关键词,发现很多访问量比我多的站点都排在我的后面。于是有了如下的猜测:百度对于中文站点和cn域名的站点作了有针对性的优化,除了迎合中国用户的语言要求外,也更好的提高其服务器的利用效率。
dasBlog的引用记录非常有意思,但是只能单一某一天的记录,看来我得找一个自己的访问统计分析软件了。
从起航的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成员为你提供了一套内置的验证和存储用户信任的方法。因此,ASP.NET成员可以帮助你在你的Web应用当中管理用户验证。你可以在Forms验证的时候使用ASP.NET成员,也可以在通过登录控件来创建一整套用户管理系统。
ASP.NET成员轻松支持如下特性:
成员,规则和用户配置
虽然成员是ASP.NET用户鉴定的一个半独立特性,但是它可以与ASP.NET规则管理整合,以此为你的站点提供授权服务。成员也可以与用户配置相整合,以此提供针对用户的特殊应用细节。详细内容请参考“使用规则管理授权”和“ASP.NET配置属性”。
Membership如何工作
如果要使用成员,必须首先在站点中配置。大体上需要如下的步骤:
你可以在你的应用当中使用成员鉴别用户。大多数情况下,你需要提供一个登录窗口,他可以是一个隔离的页或者隔离的文件夹。你可以使用ASP.NET的TextBox控件手动创建登录窗口,也可以使用ASP.NET的登录控件。因为你配置应用使用Forms鉴别,所以当用户在访问受保护的页面的时候,ASP.NET将自动显示登录页。
注释:ASP.NET的登录控件(Login、LoginView、LoginStatus、LoginName和PasswordRecovery)包含了所有的事实上需要的所有成员系统的受信任用户的提示和验证用户信用的逻辑。
如果你使用登录控件,这些登录控件将自动使用成员系统来验证用户。如果你自己手动创建一个登录窗口,你可以提示用户提交一个用户名和密码,然后调用ValidateUser方法来执行用户确认。在用户被确认以后,用户的相关信息可以一直在Forms鉴别当中使用(例如:如果用户的浏览器接受cookies,将使用加密的cookie)。登录控件将自动执行这个任务,如果你手动创建登录窗口,你必须调用FormsAuthentication对象的方法来创建cookies,并写入用户的电脑。如果用户忘记了他的密码,登录窗口也可以调用成员的功能来帮助用户可以回忆起密码或者创建一个新的密码。
今天客户的服务器还没有修好,但是和客户一起总结了导致服务器损坏的原因。
不过至强CPU严重的散热问题现在看来确实太严重,要知道服务器风道出口的两个散热风扇的总功率为120W。
这次事故不算上对运行系统的影响,但是硬件损坏造成的损失就已经达到了数万。
今天服务器坏了,相对比较闲,把原来下载的几个CHM类的连环画打开看了看,结果Symentec开始报告有木马正在运行,但是被Symentec屏蔽了。但是AntiSpyware还是报告有一个新的服务被安装了,毫不犹豫地我将这个新的服务也屏蔽了。这时候我明白我现在要面对的不再是病毒了,而是无空不入的木马了。
我向来对于病毒有比较高的警惕,但是为了更好的性能,我机器上只安装Symantec AntiVirus 8,但是看来是换成Symantec AntiVirus 10的时候了。换成Symantec AntiVirus 10还是继续报一个我原来以为是正常的服务是木马。删掉这个服务以后,我才松了一口气。
看来现在需要警惕的不再只是病毒了,也许木马现在已经是头号敌人了。
译者前言
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对象来执行用户的确认和管理。
有用的东西已经都整理出来了,下一步就是整理电子邮件了。
客户的服务器又坏了,上次开始的时候以为坏了两个CPU的风扇,后来发现还有一个CPU坏了,花了5天的时间才恢复,但是坏的那个CPU没有换一个新的。这次服务器又当机了,不知道什么时候能修好。所有的项目都停下来了…原来预定到元旦前完成的内容估计都有困难了
但是终于也有闲暇时间整理Blog和电子邮件
听说ucloo.com在叫卖9000万个人隐私,于是去搜了一下名叫张弛的人,居然有75页之多。在第九页找到我了自己的信息,心里很有点荣幸。在留下了电子邮件以后,得到了如下的信息,我做了一个截屏:
可以看到这里面的联系方式除了QQ以外,都是过时的内容了(5年以前的内容)。毕业院校基本真实,但是没有现在的工作单位,也没有专业类的内容。我想我的这些的信息实在是没有什么利用价值。我想我还有一项内容QQ号码是真实的,其他的经常换QQ号码的人,可能就没有一件是现在还可用的了。
不过我还是要感谢他们,让我似乎回到了5年以前的时光。
原来的老域名2006年的3月份就要到期了,但是准备换域名的服务商,估计得任其过期以后再申请了,这之间的交割需要一定的时间,为了避免没有域名可用的情况,所以还是把内容都迁移过来吧。
今天突然想起来OTEC的论坛有几天没去了,去OTEC的论坛转了一圈。现在OTEC论坛关于SPS的新内容真的是越来越少了。博客堂好像也是。也许大家都去忙着圣诞和新年了,毕竟DOTNETv2和VS2005之前的太多各种各样的beta版本,让新出来的正式版的vs2005像是被吮过的鸡骨头一样让人没有什么兴趣了。也许更让人期待的还是新的一年的到来,当然不是每一个人都这样期待。
OTEC的论坛中看到有人遇见了问题,和我曾经遇见的问题相似,于是将我当初的解决办法写上去以资参考。我曾经遇见过很多各种各样的问题,但是现在都沉寂到我的邮件存档里面了,也许应当都整理一下放到Blog里面来。一则供大家通过google来搜索,二则自己也看着方便。但是我先与帮我解决问题的各位工程师联系一下,看看会不会造成什么不必要的麻烦。不是会不会给我造成什么麻烦,而是会不会给曾经帮助过我的工程师带来什么麻烦。
测试一下这个dasBlog的新版本,本来以为安装上的中文的版本,但是无论如何也不能把界面汉化。后来发现安装的英文的版本:-P
英文的就英文的吧,反正现在都使用UTF-8了,英文的界面能显得更cool一些。
正则表达式是一个好东西,但是一般情况下,我们需要验证的内容少之又少。下面是常用的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
好玩的东东,不光是其功能,本身其还是开源的,这样的Windows App是开源的还是相对比较少的,有很大的借鉴意义。截图什么的自己去其网站自己看吧:Paint.NET
这两天在研究Subversion,自然也找来了AnkhSVN安装一下。在AnkhSVN的网站上看到的截图都是VS2005的,相信已经可以和VS2005一起工作了,可是在我虚拟机里面的VS2005的TeamDeveloper版里面,在Tools菜单里面就是找不到AnkhSVN的菜单。
今天一时心血来潮在机器上装了VS2005的专业版,结果发现AnkhSVN可以正常工作了。难道AnkhSVN不支持TeamDeveloper版的VS2005,还是这两个版本的区别有那么大?
近期评论