var competitive=new {technique,business}

2007/6/18

Keeping Pulse on Your Site With ASP.NET 2.0 Health Monitoring[zz]

一篇图文并茂的讲解WebEvent的文章:
Keeping Pulse on Your Site With ASP.NET 2.0 Health Monitoring

2007/5/28

加密Web.Config[zz]

原文
1、打开记事本,然后将下面的代码复制到一个新文件中。
保存 my.aspx 到你的web目录 ,运行一下窗体显示 “ NT AUTHORITY\NETWORK SERVICE ”。成功!
2、(关键一步)运行cmd,执行以下 aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE" 说明:注册默认的 RsaProtectedConfigurationProvider 的RSA 密钥容器, NetFrameworkConfigurationKey 是 RsaProtectedConfigurationProvider 的默认provider。 成功!
3、现在,可以加密web.config ,运行: 加密:aspnet_regiis -pe "connectionStrings" -app "/Myweb" 说明:"connectionStrings" 是要加密的节,"/Myweb"是的web目录 解密:aspnet_regiis -pd "connectionStrings" -app "/Myweb" 成功!
4、这样就可以在程序里调用了(不用解密, 哈哈): ... string connstr= ConfigurationManager.ConnectionStrings["myConnstr"].ConnectionString.ToString(); ...

同样的,也可以用创建自己的RSA 密钥容器,如下:
(1)、创建 "MyKeys" 密钥容器,运行:aspnet_regiis -pc "MyKeys" -exp
(2)、在web.config里加入以下: 保存。
(3)、授予帐户对计算机级别的 "MyKeys" RSA 密钥容器的访问权限,运行: aspnet_regiis -pa "MyKeys" "NT AUTHORITY\NETWORK SERVICE"
(4)、现在,可以加密web.config ,运行: 加密:aspnet_regiis -pe "connectionStrings" -app "/Myweb" -prov "MyProvider" 说明:"connectionStrings" 是要加密的节,"/Myweb"是的web目录,"MyProvider" 自己密钥容器 解密:aspnet_regiis -pd "connectionStrings" -app "/Myweb" -prov "MyProvider"

在ASP.NET 2.0中配置MachineKey

原文

概述:

MachineKey原始配置状态:

<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="SHA1" decryption="Auto" />

validation和validationkey用于产生hashcode来防止篡改,decryption和 decryptionKey用于加密解密。只有默认情况下viewstate是防篡改的,而formauthentiaction是防篡改和加密的,只有在WebFarm或跨程序进行form认证的情况下才需要修改validationkey和decryptionKey。如果使用了角色管理并使用了role cache 那么会产生一个role cookie默认情况下使用与form认证一样的机制进行加密。

ViewState:

<pages enableViewStateMac="true"(防篡改) viewStateEncryptionMode="Auto" (加密) />时server根据比较由validationKey产生的hashcode来防止篡改。该值同样在formauthentication,role manager和anonymous identification中用到。

当validation为AES和3DES并且page中viewStateEncryptionMode设为auto或always时会根据decryptionKey的值加密解密viewstate.

Form Authentication Tickets:

设置decryption并配置forms配置节中的protection属性

<system.web>
<authentication mode="Forms">
<forms name=".AuthCookie" loginUrl="login.aspx" protection="All"/>
</authentication>
</system.web>

MemberShip:

<membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="15" hashAlgorithmType=""> <providers> <clear /> <add connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresUniqueEmail="false" passwordFormat="Encrypted" .../> </providers> </membership>

Anonymous Identification:

<anonymousIdentification enabled="true" cookieName=".ASPXANONYMOUS" cookieTimeout="100000" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="Encrypted" cookieless="UseCookies" domain="" />

Role Cookies:

<roleManager enabled="true"
cacheRolesInCookie="true"
cookieProtection="All" ... />

产生加密码的代码:

using System;
using System.Text;
using System.Security;
using System.Security.Cryptography;

class App {
static void Main(string[] argv) {
int len = 128;
if (argv.Length > 0)
len = int.Parse(argv[0]);
byte[] buff = new byte[len/2];
RNGCryptoServiceProvider rng = new
RNGCryptoServiceProvider();
rng.GetBytes(buff);
StringBuilder sb = new StringBuilder(len);
for (int i=0; i<buff.Length; i++)
sb.Append(string.Format("{0:X2}", buff[i]));
Console.WriteLine(sb);
}
}

2007/5/24

Ruby On Rails

1,One Step Install--InstantRails

2,关于Ruby On Rails 的图书清查看我的迅雷博客。

2007/5/20

HttpHandler,HttpModule,LightBox

1,HTTP Handlers and HTTP Modules in ASP.NET

2,在 ASP.NET 中执行 URL 重写

3,LightWindow,LightBox,GrayBox

2007/5/17

Arcgis Server 安装

安装完arcgis server后新建了一个web map application,但是启动后报运行时错误。运行其他程序也出现了运行时错误。误以为是iis出了问题重装asp.net(aspnet_regiis -i),重启动原有程序报找补不到资源错误,baidu一下原来在2003下asp.net扩展默认不是允许的(晕)。开启后将配置文件中的customErrors 的mode属性改为Off,原来是全局web.config中esri提供的httphandle后多出了一个xmlns属性,去掉该属性F5运行通过。

2007/5/15

控件映射

以前只知道url映射,今天看msdn magazine发现asp.net提供了控件映射,在web.config中添加如下代码:

<pages>
<tagMapping>
<add tagType=”System.Web.UI.WebControls.TextBox”
mappedTagType=”Dino.Samples.TextBox” />
</tagMapping>
</pages>