<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[刚子博客]]></title>
<link>http://www.gangzi.net/</link>
<description><![CDATA[刚子的互联网世界]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[go786@qq.com(刚子)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>刚子博客</title>
	<url>http://www.gangzi.net/images/logos.gif</url>
	<link>http://www.gangzi.net/</link>
	<description>刚子博客</description>
</image>

			<item>
			<link>http://www.gangzi.net/article/501.htm</link>
			<title><![CDATA[用正则替换两个字符之间的内容]]></title>
			<author>go786@qq.com(刚子)</author>
			<category><![CDATA[技术资料]]></category>
			<pubDate>Wed,01 Feb 2012 15:52:48 +0800</pubDate>
			<guid>http://www.gangzi.net/default.asp?id=501</guid>
		<description><![CDATA[如，换成,&lt;b&gt;xxxx&lt;/b&gt;之间的内容为,<br/>查找里面写： ,&lt;b&gt;(.+)&lt;/b&gt;<br/>替换里面写： ,<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.gangzi.net/article/500.htm</link>
			<title><![CDATA[博客更换gangzi.net为主域名]]></title>
			<author>go786@qq.com(刚子)</author>
			<category><![CDATA[网站相关]]></category>
			<pubDate>Mon,30 Jan 2012 15:23:27 +0800</pubDate>
			<guid>http://www.gangzi.net/default.asp?id=500</guid>
		<description><![CDATA[等了一年多，终于在gangzi.net到期后被我拿下了，以后gangzi.net将作为博客主域名，gangzi.org将进行永久重定向。<br/>2012年1月30日]]></description>
		</item>
		
			<item>
			<link>http://www.gangzi.net/article/499.htm</link>
			<title><![CDATA[纯真IP库转为ACCESS数据库的方法（附查询代码）]]></title>
			<author>go786@qq.com(刚子)</author>
			<category><![CDATA[技术资料]]></category>
			<pubDate>Sat,10 Dec 2011 03:42:33 +0800</pubDate>
			<guid>http://www.gangzi.net/default.asp?id=499</guid>
		<description><![CDATA[众所周知，目前网络上最齐全，更新速度最快的IP库是纯真IP（CN88.NET），但是纯真库是dat格式的，所以想要在WEB上用ASP来调用就必须将DAT转换为MDB才可以。下面介绍了具体方法和软件完整此项操作。<br/><br/>1.首先打开www.cz88.net下载最新版本的IP库。<br/>2.下载最新版本的“iplook”软件，将DAT文件转为TXT格式。注意：“输出格式”必须选择“IP以无符号整数表示”。<br/>3.下载“纯真、珊瑚虫文本IP数据库 To Access 转换器”将上一步得到的TXT文件转换为ACCESS数据库。<br/><br/>因为上面提到的三个软件经常更新，所以不提供地址，使用时请直接搜索查找最新版使用。<br/><br/>下面附上ACCESS ip库查询代码：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.gangzi.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;%&#39;IP<br/>Public Function address(sip)<br/>If IsNumeric(Left(sip,2)) Then<br/>If sip=&#34;127.0.0.1&#34; Then sip=&#34;192.168.0.1&#34;<br/><br/>str1=Left(sip,InStr(sip,&#34;.&#34;)-1)<br/>sip=mid(sip,instr(sip,&#34;.&#34;)+1)<br/>str2=Left(sip,instr(sip,&#34;.&#34;)-1)<br/>sip=Mid(sip,InStr(sip,&#34;.&#34;)+1)<br/>str3=Left(sip,instr(sip,&#34;.&#34;)-1)<br/>str4=Mid(sip,instr(sip,&#34;.&#34;)+1)<br/>If isNumeric(str1)=0 o&#114; isNumeric(str2)=0 o&#114; isNumeric(str3)=0 o&#114; isNumeric(str4)=0 Then<br/>Else <br/>num=CLng(str1)*16777216+CLng(str2)*65536+CLng(str3)*256+CLng(str4)-1<br/>adb = &#34;ip.mdb&#34;<br/>connStr = &#34;Provider = Microsoft.Jet.OLEDB.4.0;Data Source = &#34; &amp; Server.MapPath(adb)<br/>Set conn = Server.Cr&#101;ateObject(&#34;ADODB.Connection&#34;)<br/>conn.Open connStr<br/><br/>sql=&#34;sel&#101;ct * from ip wh&#101;re startip &lt;=&#34;&amp;num&amp;&#34; and endip &gt;=&#34;&amp;num&amp;&#34;&#34;<br/>Set rs=conn.execute(sql)<br/>If rs.EOF And rs.bof Then<br/>local=&#34;尚未收录&#34;<br/>Else<br/>local=rs(&#34;country&#34;)&amp;rs(&#34;local&#34;)<br/>End If<br/>Set rs=Nothing<br/>Set conn = Nothing <br/>SqlQueryNum = SqlQueryNum+1<br/>End If<br/>address=local<br/>Else <br/>address=&#34;未知&#34;<br/>End If<br/>End Function<br/><br/>userip = Request.ServerVariables(&#34;HTTP_X_FORWARDED_FOR&#34;)<br/>If userip = &#34;&#34; Then<br/>userip = Request.ServerVariables(&#34;REMOTE_ADDR&#34;)<br/>End If<br/>%&gt;&lt;%=address(userip)%&gt;</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.gangzi.net/article/498.htm</link>
			<title><![CDATA[ASP中文和算术验证码]]></title>
			<author>go786@qq.com(刚子)</author>
			<category><![CDATA[技术资料]]></category>
			<pubDate>Thu,03 Nov 2011 17:12:11 +0800</pubDate>
			<guid>http://www.gangzi.net/default.asp?id=498</guid>
		<description><![CDATA[之前有发过一个<a target="_blank" href="http://www.gangzi.org/article/492.htm" rel="external">ASP数字验证码</a>，使用简单，不过很容易被破解，下面推荐一个中文和算术的验证码。<br/><img src="http://www.gangzi.net/attachments/month_1111/b2011113171043.jpg" border="0" alt=""/><br/><br/><img src="http://www.gangzi.net/images/download.gif" alt="下载文件" style="margin:0px 2px -4px 0px"/> <a href="http://www.gangzi.net/attachments/month_1111/w201111317120.zip" target="_blank">点击下载此文件</a><br/><br/>调用页：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.gangzi.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;img src=&#34;code.asp&#34; alt=&#34;请点击刷新验证码&#34; style=&#34;cursor : pointer;&#34; onClick=&#34;this.src=&#39;/code.asp?t=&#39;+(new Date().getTime());&#34;&gt;</div></div><br/>验证页：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.gangzi.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;%&nbsp;&nbsp;&nbsp;&nbsp;<br/>If Trim(Request.Form(&#34;checkimg&#34;))=Empty o&#114; Trim(Session(&#34;psn&#34;))&lt;&gt;Trim(Request.Form(&#34;checkimg&#34;)) Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>response.write(&#34;请注意正确输入验证码&#34;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>response.end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>end if&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>%&gt;</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.gangzi.net/article/497.htm</link>
			<title><![CDATA[JS随机显示广告代码]]></title>
			<author>go786@qq.com(刚子)</author>
			<category><![CDATA[技术资料]]></category>
			<pubDate>Sat,22 Oct 2011 21:30:35 +0800</pubDate>
			<guid>http://www.gangzi.net/default.asp?id=497</guid>
		<description><![CDATA[<div class="UBBPanel"><div class="UBBTitle"><img src="http://www.gangzi.net/images/html.gif" style="margin:0px 2px -3px 0px"> HTML代码</div><div class="UBBContent"><TEXTAREA rows="8" id="temp26045"><script type=&#34;text/javascript&#34;>
var ad = parseInt(Math.random()*5+1); //里面的5可以改得到一个1至5的随机数值
switch(ad){
case 1:
document.write(&#34;广告1&#34;) // 广告的JS代码，上面以此类推。
break;
case 2:
document.write(&#34;广告2&#34;)
break;
case 3:
document.write(&#34;广告3&#34;)
break;
case 4:
document.write(&#34;广告4&#34;)
break;
case 5:
document.write(&#34;广告5&#34;)
break;
}
document.write(&#34;<br><br>请刷新网页查看效果&#34;)
</script></TEXTAREA><br/><INPUT onclick="runEx('temp26045')"  type="button" class="userbutton" value="运行此代码"/> <INPUT onclick="doCopy('temp26045')"  type="button" class="userbutton" value="复制此代码"/> <INPUT onclick="saveCode('temp26045')" type="button" class="userbutton" value="保存此代码"><br/> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.gangzi.net/article/496.htm</link>
			<title><![CDATA[显示文件夹大小的软件 Quick View Folder Size 完整版 （WIN7 / XP）]]></title>
			<author>go786@qq.com(刚子)</author>
			<category><![CDATA[软件天地]]></category>
			<pubDate>Wed,31 Aug 2011 19:58:44 +0800</pubDate>
			<guid>http://www.gangzi.net/default.asp?id=496</guid>
		<description><![CDATA[一款可以直观查看文件夹大小的软件。它采用了类似Windows资源管理器式的界面，易于上手，使用便捷。 <br/><br/>我这里提供的是完整版，有注册码，无任何使用限制，并非其他地方的试用版。<br/><br/>具体如何使用以及功能看下我的截图就懂了。<br/><br/><img src="http://www.gangzi.net/attachments/month_1108/z2011831195759.jpg" border="0" alt=""/><br/><br/><img src="http://www.gangzi.net/images/download.gif" alt="下载文件" style="margin:0px 2px -4px 0px"/> <a href="http://www.gangzi.net/attachments/month_1108/w2011831195834.zip" target="_blank">点击下载此文件</a><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.gangzi.net/article/495.htm</link>
			<title><![CDATA[asp压缩access数据库]]></title>
			<author>go786@qq.com(刚子)</author>
			<category><![CDATA[技术资料]]></category>
			<pubDate>Mon,22 Aug 2011 03:04:47 +0800</pubDate>
			<guid>http://www.gangzi.net/default.asp?id=495</guid>
		<description><![CDATA[用asp直接压缩access数据库，效果和access工具里的“压缩和修复”相同，找了很多代码测试这个简单而实用。<br/><br/>需要注意的是：<br/>1.压缩数据库之前一定要保证数据库连接已经关闭。<br/>2.如果希望把某表全部数据清空后再压缩可以使用conn.execute &#34;del&#101;te * from gangzi&#34;<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.gangzi.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;%<br/>dbPath = &#34;#.mdb&#34;<br/>strdbPath = left(Server.MapPath(dbPath),instrrev(Server.MapPath(dbPath),&#34;\&#34;))<br/>Set fso = Cr&#101;ateObject(&#34;Scripting.FileSystemObject&#34;)<br/>If fso.FileExists(Server.MapPath(dbPath)) Then<br/>fso.CopyFile Server.MapPath(dbPath),strdbPath &amp; dbPath<br/>Set Engine = Cr&#101;ateObject(&#34;JRO.JetEngine&#34;)<br/>Engine.CompactDatabase &#34;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#34; &amp; strdbPath &amp; dbPath, _&nbsp;&nbsp;<br/> &#34;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#34; &amp; strdbPath &amp; &#34;temp1.mdb&#34;<br/>fso.CopyFile strdbPath &amp; &#34;temp1.mdb&#34;,Server.MapPath(dbPath)<br/>fso.Del&#101;teFile(strdbPath &amp; &#34;temp1.mdb&#34;)<br/>Set fso = nothing<br/>Set Engine = nothing<br/>response.write &#34;数据库压缩成功！&#34; &amp; vbCrLf<br/>Else<br/>response.write &#34;数据库名称或路径不正确. 请重试!&#34; &amp; vbCrLf<br/>End If<br/>%&gt;</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.gangzi.net/article/494.htm</link>
			<title><![CDATA[VBS发送邮件]]></title>
			<author>go786@qq.com(刚子)</author>
			<category><![CDATA[技术资料]]></category>
			<pubDate>Mon,22 Aug 2011 01:28:29 +0800</pubDate>
			<guid>http://www.gangzi.net/default.asp?id=494</guid>
		<description><![CDATA[注意：发送邮件一定要支持SMTP，目前网易邮箱和QQ都是支持的。<br/> <br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.gangzi.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">function Send_mail(You_Account,You_Password,Send_Email,Send_Email2,Send_Topic,Send_Body,Send_Attachment) <br/>&#39;VBS发送邮件参数说明<br/>&#39;You_Account：你的邮件帐号<br/>&#39;You_Password:你的邮件密码<br/>&#39;Send_Email: 主要邮件地址<br/>&#39;Send_Email2: 备用邮件地址<br/>&#39;Send_Topic: 邮件主题<br/>&#39;Send_Body:邮件内容<br/>&#39;Send_Attachment:邮件附件<br/><br/>You_ID=Split(You_Account, &#34;@&#34;, -1, vbTextCompare) <br/>&#39;帐号和服务器分离<br/>MS_Space = &#34;<a href="http://schemas.microsoft.com/cdo/configuration/" target="_blank" rel="external">http://schemas.microsoft.com/cdo/configuration/</a>&#34;<br/>&#39;这个是必须要的，不过可以放心的事，不会通过微软发送邮件<br/>Set Email = Cr&#101;ateObject(&#34;CDO.Message&#34;)<br/>Email.From = You_Account<br/>&#39;这个一定要和发送邮件的帐号一样<br/>Email.To = Send_Email&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;主要邮件地址<br/>If Send_Email2 &lt;&gt; &#34;&#34; Then<br/>Email.CC = Send_Email2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;备用邮件地址<br/>End If<br/>Email.Subject = Send_Topic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;邮件主题<br/>Email.Textbody = Send_Body&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;邮件内容<br/>If Send_Attachment &lt;&gt; &#34;&#34; Then<br/>Email.AddAttachment Send_Attachment&nbsp;&nbsp;&nbsp;&nbsp; &#39;邮件附件<br/>End If<br/>With Email.Configuration.Fields<br/>.Item(MS_Space&amp;&#34;sendusing&#34;) = 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;发信端口<br/>.Item(MS_Space&amp;&#34;smtpserver&#34;) = &#34;smtp.&#34;&amp;You_ID(1) &#39;SMTP服务器地址<br/>.Item(MS_Space&amp;&#34;smtpserverport&#34;) = 25&nbsp;&nbsp;&nbsp;&nbsp; &#39;SMTP服务器端口<br/>.Item(MS_Space&amp;&#34;smtpauthenticate&#34;) = 1&nbsp;&nbsp;&nbsp;&nbsp; &#39;cdobasec<br/>.Item(MS_Space&amp;&#34;sendusername&#34;) = You_ID(0)&nbsp;&nbsp;&nbsp;&nbsp;&#39;你的邮件帐号<br/>.Item(MS_Space&amp;&#34;sendpassword&#34;) = You_Password&nbsp;&nbsp; &#39;你的邮件密码<br/>.Up&#100;ate<br/>End With<br/>Email.Send<br/>&#39;发送邮件<br/>Set Email=Nothing<br/>&#39;关闭组件<br/>Send_Mail=True <br/>&#39;如果没有任何错误信息，则表示发送成功,否则发送失败 <br/>If Err Then <br/>Err.Clear <br/>Send_Mail=False <br/>End If <br/>End Function<br/><br/>&#39;以下是利用上面的函数发送带附件的邮件例子<br/>If Send_Mail(&#34;you@163.com&#34;,&#34;password&#34;,&#34;send@163.com&#34;,&#34;&#34;,&#34;邮件主题&#34;,&#34;邮件内容&#34;,&#34;d:\test.exe&#34;)=True Then<br/>Wscript.Echo &#34;发送成功&#34;<br/>Else<br/>Wscript.Echo &#34;发送失败&#34;<br/>End If</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.gangzi.net/article/493.htm</link>
			<title><![CDATA[wmi损坏修复]]></title>
			<author>go786@qq.com(刚子)</author>
			<category><![CDATA[技术资料]]></category>
			<pubDate>Sat,20 Aug 2011 02:43:51 +0800</pubDate>
			<guid>http://www.gangzi.net/default.asp?id=493</guid>
		<description><![CDATA[保存为BAT文件运行即可。<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.gangzi.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">@echo on <br/>cd /d c:\temp <br/>if not exist %windir%\system32\wbem goto TryInstall <br/>cd /d %windir%\system32\wbem <br/>net stop winmgmt <br/>winmgmt /kill <br/>if exist Rep_bak rd Rep_bak /s /q <br/>rename Repository Rep_bak <br/>for %%i in (*.dll) do RegSvr32 -s %%i <br/>for %%i in (*.exe) do call :FixSrv %%i <br/>for %%i in (*.mof,*.mfl) do Mofcomp %%i <br/>net start winmgmt <br/>goto End <br/><br/>:FixSrv <br/>if /I (%1) == (wbemcntl.exe) goto SkipSrv <br/>if /I (%1) == (wbemtest.exe) goto SkipSrv <br/>if /I (%1) == (mofcomp.exe) goto SkipSrv <br/>%1 /RegServer <br/><br/>:SkipSrv <br/>goto End <br/><br/>:TryInstall <br/>if not exist wmicore.exe goto End <br/>wmicore /s <br/>net start winmgmt <br/>:End</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.gangzi.net/article/492.htm</link>
			<title><![CDATA[ASP验证码]]></title>
			<author>go786@qq.com(刚子)</author>
			<category><![CDATA[技术资料]]></category>
			<pubDate>Sat,20 Aug 2011 02:42:56 +0800</pubDate>
			<guid>http://www.gangzi.net/default.asp?id=492</guid>
		<description><![CDATA[code.asp<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.gangzi.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;%<br/>Call Com_CreatValidCode(&#34;ValidCode&#34;)<br/><br/>Sub Com_CreatValidCode(pSN)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.Expires = -9999 <br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.AddHeader &#34;Pragma&#34;,&#34;no-cache&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.AddHeader &#34;cache-ctrol&#34;,&#34;no-cache&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.ContentType = &#34;Image/BMP&#34;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Randomize<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim i, ii, iii<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Const cOdds = 8 &#39; 杂点出现的机率<br/>&nbsp;&nbsp;&nbsp;&nbsp;Const cAmount = 36 &#39; 文字数量<br/>&nbsp;&nbsp;&nbsp;&nbsp;Const cCode = &#34;0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ&#34;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39; 颜色的数据(字符，背景)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim vColorData(1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;vColorData(0) = ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &#39; 蓝0，绿0，红0（黑色）<br/>&nbsp;&nbsp;&nbsp;&nbsp;vColorData(1) = ChrB(250) &amp; ChrB(236) &amp; ChrB(211) &#39; 蓝250，绿236，红211（浅蓝色）<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39; 随机产生字符<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim vCode(4), vCodes<br/>&nbsp;&nbsp;&nbsp;&nbsp;For i = 0 To 3<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vCode(i) = Int(Rnd * cAmount)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vCodes = vCodes &amp; Mid(cCode, vCode(i) + 1, 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Next<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Session(pSN) = vCodes &#39;记录入Session<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39; 字符的数据<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim vNumberData(35)<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(0) = &#34;1110000111110111101111011110111101001011110100101111010010111101001011110111101111011110111110000111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(1) = &#34;1111011111110001111111110111111111011111111101111111110111111111011111111101111111110111111100000111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(2) = &#34;1110000111110111101111011110111111111011111111011111111011111111011111111011111111011110111100000011&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(3) = &#34;1110000111110111101111011110111111110111111100111111111101111111111011110111101111011110111110000111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(4) = &#34;1111101111111110111111110011111110101111110110111111011011111100000011111110111111111011111111000011&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(5) = &#34;1100000011110111111111011111111101000111110011101111111110111111111011110111101111011110111110000111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(6) = &#34;1111000111111011101111011111111101111111110100011111001110111101111011110111101111011110111110000111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(7) = &#34;1100000011110111011111011101111111101111111110111111110111111111011111111101111111110111111111011111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(8) = &#34;1110000111110111101111011110111101111011111000011111101101111101111011110111101111011110111110000111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(9) = &#34;1110001111110111011111011110111101111011110111001111100010111111111011111111101111011101111110001111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(10) = &#34;1111011111111101111111101011111110101111111010111111101011111100000111110111011111011101111000100011&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(11) = &#34;1000000111110111101111011110111101110111110000111111011101111101111011110111101111011110111000000111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(12) = &#34;1110000011110111101110111110111011111111101111111110111111111011111111101111101111011101111110001111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(13) = &#34;1000001111110111011111011110111101111011110111101111011110111101111011110111101111011101111000001111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(14) = &#34;1000000111110111101111011011111101101111110000111111011011111101101111110111111111011110111000000111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(15) = &#34;1000000111110111101111011011111101101111110000111111011011111101101111110111111111011111111000111111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(16) = &#34;1110000111110111011110111101111011111111101111111110111111111011100011101111011111011101111110001111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(17) = &#34;1000100011110111011111011101111101110111110000011111011101111101110111110111011111011101111000100011&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(18) = &#34;1100000111111101111111110111111111011111111101111111110111111111011111111101111111110111111100000111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(19) = &#34;1110000011111110111111111011111111101111111110111111111011111111101111111110111110111011111000011111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(20) = &#34;1000100011110111011111011011111101011111110001111111010111111101101111110110111111011101111000100011&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(21) = &#34;1000111111110111111111011111111101111111110111111111011111111101111111110111111111011110111000000011&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(22) = &#34;1000100011110010011111001001111100100111110101011111010101111101010111110101011111010101111001010011&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(23) = &#34;1000100011110011011111001101111101010111110101011111010101111101100111110110011111011001111000110111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(24) = &#34;1110001111110111011110111110111011111011101111101110111110111011111011101111101111011101111110001111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(25) = &#34;1000000111110111101111011110111101111011110000011111011111111101111111110111111111011111111000111111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(26) = &#34;1110001111110111011110111110111011111011101111101110111110111011111011101001101111011001111110001011&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(27) = &#34;1000001111110111011111011101111101110111110000111111010111111101101111110110111111011101111000110011&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(28) = &#34;1110000011110111101111011110111101111111111001111111111001111111111011110111101111011110111100000111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(29) = &#34;1000000011101101101111110111111111011111111101111111110111111111011111111101111111110111111110001111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(30) = &#34;1000100011110111011111011101111101110111110111011111011101111101110111110111011111011101111110001111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(31) = &#34;1000100011110111011111011101111101110111111010111111101011111110101111111010111111110111111111011111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(32) = &#34;1001010011110101011111010101111101010111110101011111001001111110101111111010111111101011111110101111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(33) = &#34;1000100011110111011111101011111110101111111101111111110111111110101111111010111111011101111000100011&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(34) = &#34;1000100011110111011111011101111110101111111010111111110111111111011111111101111111110111111110001111&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vNumberData(35) = &#34;1100000011110111011111111101111111101111111110111111110111111111011111111011111111101110111100000011&#34;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39; 输出图像文件头<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.BinaryWrite ChrB(66) &amp; ChrB(77) &amp; ChrB(230) &amp; ChrB(4) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp;_<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ChrB(0) &amp; ChrB(0) &amp; ChrB(54) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(40) &amp; ChrB(0) &amp;_<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ChrB(0) &amp; ChrB(0) &amp; ChrB(40) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(10) &amp; ChrB(0) &amp;_<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ChrB(0) &amp; ChrB(0) &amp; ChrB(1) &amp; ChrB(0)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39; 输出图像信息头<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.BinaryWrite ChrB(24) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(176) &amp; ChrB(4) &amp;_<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ChrB(0) &amp; ChrB(0) &amp; ChrB(18) &amp; ChrB(11) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(18) &amp; ChrB(11) &amp;_<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp;_<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ChrB(0) &amp; ChrB(0)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;For i = 9 To 0 Step -1 &#39; 历经所有行<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For ii = 0 To 3 &#39; 历经所有字<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For iii = 1 To 10 &#39; 历经所有像素<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39; 逐行、逐字、逐像素地输出图像数据<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Rnd * 99 + 1 &lt; cOdds Then &#39; 随机生成杂点<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.BinaryWrite vColorData(0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 10 + iii, 1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next<br/>&nbsp;&nbsp;&nbsp;&nbsp;Next<br/>End Sub<br/>%&gt;</div></div><br/>表单调用页：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.gangzi.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;img src=&#34;code.asp&#34; alt=&#34;请点击刷新验证码&#34; style=&#34;cursor : pointer;&#34; onClick=&#34;this.src=&#39;/code.asp?t=&#39;+(new Date().getTime());&#34;&gt;</div></div><br/>验证页：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.gangzi.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;%<br/>if lcase(request.form(&#34;validcode&#34;))=lcase(session(&#34;validcode&#34;)) then<br/>else<br/>Response.Write &#34;验证码错误，&lt;a href=&#34;&#34;login.asp&#34;&#34;&gt;返回&lt;/a&gt;&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.Write &#34;&lt;script language=&#34;&#34;JavaScript&#34;&#34;&gt;alert(&#39;验证码错误。&#39;);window.location.replace(&#39;login.asp&#39;);&lt;/script&gt;&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.End<br/>end if<br/>%&gt;</div></div>]]></description>
		</item>
		
</channel>
</rss>

