﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-IT爱好小子01-文章分类-网站安全</title><link>http://www.cnitblog.com/zhand/category/7921.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 29 Sep 2011 13:10:02 GMT</lastBuildDate><pubDate>Thu, 29 Sep 2011 13:10:02 GMT</pubDate><ttl>60</ttl><item><title>安全关注：黑客入侵手段与防御攻略</title><link>http://www.cnitblog.com/zhand/articles/53591.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Thu, 08 Jan 2009 01:02:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/53591.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/53591.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/53591.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/53591.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/53591.html</trackback:ping><description><![CDATA[作者：WEB开发网<br>
<div style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; BORDER-BOTTOM: #666666 1px solid"><strong>[摘要] </strong>　　今天我们主要是给大家进行安全方面的讲座，黑客技术方面我们不会着重来讲，主要是让大家知道黑客的入侵手段，然后我们可以有效的去防御他们。</div>
今天我们主要是给大家进行安全方面的讲座，黑客技术方面我们不会着重来讲，主要是让大家知道黑客的入侵手段，然后我们可以有效的去防御他们。 <br><br>　　一、黑客的入侵手段？ <br><br>　　现在黑客进行网站入侵的第一种技术就是注入攻击，包括服务器的一些较为流行的攻防技术。在讲解网站安全攻防技术之前，我想做个调查：现在大家在运营自己的网站的时候，遇到过黑客入侵过的站长请按1，没有请按2&#8230;&#8230;哇，居然有这么多被黑客入侵过的朋友，那我想今天大家来对了。 <br><br>　　现在黑客进行网站入侵的第一种技术就是注入攻击，这是一种很多网站普遍遇到的安全问题，很多网络程序员在编写网站程序的时候，都没有注意到对URL访问数据库作出限制，主要是编写动态操作数据库的ASP/ASP.NET/PHP/jsp（SUN企业级应用的首选)等语言。那我举一个简单的例子大家看看这个网站 <br><br>　　http://219.221.200.61/2004/show.asp?id=52 <br><br>　　大家可以在这个网站网址后面加上一个单引号然后再打开看看，页面就无法显示了，然后再输入and 1=1 ，再看结果；然后再输入and 1=2 ，再看结果。如果输入and 1=1和and 1=2页面返回的结果不一样，那么就说明网站有注入漏洞。 <br><br>　　注入漏洞的类型有好几种：包括字符型注入，搜索型注入。各种注入都是万变不离其中，都是为了列举数据库的内容，拿数据库主要就是为了进后台传WEB木马。 <br><br>　　所以第二个黑客入侵的手段是利用上传漏洞进行入侵。上传漏洞是由于很多网站需要用户上传照片，用户资料等功能所造成的，只不过现在都要用一些专业的工具来上传，很多工具都还是可以绕过上传文件限制来传WEB木马，所以上传这一块功能方面要尽量多设置一些安全防御措施。 <br><br>　　比如：第一，限制上传文件类型；第二，设置一个专门的上传文件夹，给这个文件夹只有查看的权限，而没有运行脚本的权限；第三，安装一些安全软件，包括杀毒软件和IPS系统之类的；第四，限制上传文件大小。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 　刚才 我们讲的两块主要是侧重于ASP+ACCESS方面的黑客入侵技术，下面讲的主要是侧重于 ASP+SQL的安全攻防技术。 <br><br>　　很多条件好点的站长都有自己的服务器了，而且随着用户访问量的不断增长，很多人都改用速度更快，容量更大的SQL数据库了。因此，这方面也引起了黑客的关注。 <br><br>　　SQL的SA帐号就是系统管理员帐号，如果黑客利用到网站的注入漏洞就很容易获取系统的最高权限，一旦黑客获取了最高权限，完全可以用NBSI等注入工具来建立系统帐号，并且利用3389端口远程登录进去，这一块的技术就是SA注入攻击方式。前几年国内外网络游戏被黑客入侵大部分都是黑客利用SA注入漏洞的技术手段来入侵的。 <br><br>　　我们刚才讲了SQL的SA权限的入侵技术，那么SQL总共有哪几种权限呢？是不是只有SA权限是会被黑客利用的？错了，除了最高的SA权限之外，DBOWNER和PUBLIC等权限都有被黑客利用的可能。 <br><br>　　SQL权限的高低顺序依次是SA,DBOWNER，PUBLIC。 <br><br>　　DBOWNER这一块的黑客入侵技术主要一种方式是差异化备份技术，这是黑客利用数据库的备份功能，把一些一句话木马通过数据库备份到一个指定的目录里面 ，然后通过C/S木马上传WEB木马，然后用WEB木马来提权，获取系统权限，最后这个PUBLIC也有可能会被黑客利用，黑客利用这种权限只能列举数据库，所以这种方式黑客会列举出后台帐号和密码，然后利用后台上传WEB木马。 <br><br>　　在这里我要告诉大家的是，黑客的入侵手段有很多种搭配方式。我们来分析一下黑客的各类入侵手段的分类。注入漏洞和上传漏洞都是入侵技术。而把权限提升为最高权限在黑客的术语中被成为提权，然后黑客拿到最高权限之后，有一部分会进行挂马，有的会去窃取网站资料，最后一步就是清除日志，这是黑客的扫尾工作。这几种方式当中的每一种都有很多个不同的入侵方式，所以可以进行自由搭配，这样延伸出来的黑客技术就会有很多种。 <br><br>　　二、如何防御黑客的入侵？ <br><br>　　好了，我们现在再来给大家讲解一下面对这些黑客的入侵手段，我们怎么来防御。 <br><br>　　首先，注入漏洞这一块。我们现在有一种防御方面，我们公司自己编写了一个ASP防注入代码，把防注入代码加入到连接数据库的文件里面，就可以有效的防御大部分的注入漏洞，这个代码我明天会发给一方，一方会统一发给大家的。好，然后上传漏洞这一块我们怎么来防御呢？ <br><br>　　第一，限制上传类型，只允许用户用到的文件类型；第二，指定一个专门的文件夹，这个文件夹里面的文件都不给脚本运行权限，这样黑客即使传了ASP木马上去，但是也不能运行，除了IIS扩展里面允许的这些扩展名之外，其它的都不能运行，黑客传上一些非ASP的文件之后，是不能正常运行的，除了IIS扩展里面允许的这些扩展名之外，其它的都不能运行，所以IIS扩展里面尽量把一些不需要的扩展名都给删除掉。 <br><br>　　其次，对于SA注入这一块。SA注入是黑客利用SQL的最高权限SA来进行注入攻击的一种方式，刚才也讲过了SA注入攻击的一些技术方式，为了防止黑客利用SA权限进行入侵，那么所有的网站数据库都不要给SA权限，最多给一个DBOWNER权限，如何设置SQL权限？建立SQL帐号的时候就可以设置了。这个比较简单，你看看SQL数据库的操作的时候就可以看到，而且只给予访问本数据库的权限，其它的权限都不要给。对于DBOWNER和PUBLIC注入，主要把注入点屏蔽掉，这样就可以防止黑客通过数据库权限来获取系统权限，然后对于一些有服务器的网站用户来说，对于端口这一块最好要多做一些限制，除了一些系统本身所需要的端口之外，其它的端口都关闭掉，而且3389端口最好改一个，这个通过操作注册表就可以实现，这里有修改3389端口的具体方法，比较容易 。
<img src ="http://www.cnitblog.com/zhand/aggbug/53591.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2009-01-08 09:02 <a href="http://www.cnitblog.com/zhand/articles/53591.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>主页背景音乐代码</title><link>http://www.cnitblog.com/zhand/articles/52957.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Tue, 23 Dec 2008 06:54:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/52957.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/52957.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/52957.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/52957.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/52957.html</trackback:ping><description><![CDATA[<p>1. 如何贴rm,ra,ram类型的音乐，代码如下： <br>&lt;embed width="0" height="0" type="audio/x-pn-realaudio-plugin" autostart="true" controls="controlpanel" src="<a href="http://guest.anyp.cn/uploads/01.rm">http://guest.anyp.cn/uploads/01.rm</a>";&gt;</p>
<p>　　2. 如何贴midi,asf,wma,asx类型的音乐，代码如下： <br>&lt;embed autostart="true" loop="-1" controls="controlpanel" width="0" height="0" src="<a href="http://guest.anyp.cn/uploads/01.mid">http://guest.anyp.cn/uploads/01.mid</a>";&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.&lt;bgsound src="你的歌曲地址" loop="-1"&gt;</p>
<p>　　只需要把整段代码copy到文章中去(编辑文章的时请用html代码模式，否则这段代码会以文本形式显示出来，不能被执行)，用你喜欢的音乐文件的url代替上面的音乐地址代码就可以了。注意，音乐如果太大影响浏览速度，严重的可能导致浏览器停止响应，所以如果要放背景音乐请不要使用大文件。</p>
<p>&nbsp;&nbsp;&nbsp; 音乐文件的url指：音乐文件的网址。<br>&nbsp;&nbsp;&nbsp; 取得网址的方法是，把鼠标移到有链接的音乐名点击右键-&gt;复制快捷方式，然后把需要加入音乐文件的url地方按ctrl+c(把之前复制的地址粘贴出来)。</p>
<p>&nbsp;&nbsp;&nbsp; 加了背景音乐后不能正常收听音乐这种情况的错误有两个：<br>1、音乐地址错误，误把html结尾的网址当成是音乐的地址。<br>2、音乐文件太大，需要很长时间才能播放。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 下边是benq朋友的办法，谢谢benq的热心^_^<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 添加带音乐的flash，然后在弹出窗口输入你的flash地址，注意后戳名为：<a href="http://xxxxx.xxxx.swf/">http://xxxxx.xxxx.swf</a>，大小可以调整为，1*1，这样可以在不显示falsh的情况下播放音乐，但是记住要为自动播放的，不要找那种需要按开始的flash</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 加入一段在线音乐播放代码，推荐使用：&lt;iframe marginheight=0 src="<a href="http://www.yqchina.com/play.htm">http://www.yqchina.com/play.htm</a>"; frameborder=0 noresize width=540 scrolling=no height=25&gt;&lt;/iframe&gt; 将此代码放入网站合适地方，将24小时不间断放歌，次代码由清风网络电台提供<br></p>
<img src ="http://www.cnitblog.com/zhand/aggbug/52957.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2008-12-23 14:54 <a href="http://www.cnitblog.com/zhand/articles/52957.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>经典代码（3）</title><link>http://www.cnitblog.com/zhand/articles/52956.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Tue, 23 Dec 2008 06:53:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/52956.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/52956.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/52956.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/52956.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/52956.html</trackback:ping><description><![CDATA[<p style="COLOR: #3366ff">21. 怎么判断是否是字符<br>if (/[^\x00-\xff]/g.test(s)) alert("含有汉字");<br>else alert("全是字符");</p>
<p style="COLOR: #3366ff">22.textarea自适应文字行数的多少<br>&lt;textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posheight=this.scrollheight"&gt;<br>&lt;/textarea&gt;</p>
<p style="COLOR: #3366ff">23. 日期减去天数等于第二个日期<br>&lt;script language=javascript&gt;<br>function cc(dd,dadd)<br>{<br>//可以加上错误处理<br>var a = new date(dd)<br>a = a.valueof()<br>a = a - dadd * 24 * 60 * 60 * 1000<br>a = new date(a)<br>alert(a.getfullyear() + "年" + (a.getmonth() + 1) + "月" + a.getdate() + "日")<br>}<br>cc("12/23/2002",2)<br>&lt;/script&gt;</p>
<p style="COLOR: #3366ff">24. 选择了哪一个radio<br>&lt;html&gt;&lt;script language="vbscript"&gt;<br>function checkme()<br>for each ob in radio1<br>if ob.checked then window.alert ob.value<br>next<br>end function<br>&lt;/script&gt;&lt;body&gt;<br>&lt;input name="radio1" type="radio" value="style" checked&gt;style<br>&lt;input name="radio1" type="radio" value="barcode"&gt;barcode<br>&lt;input type="button" value="check" onclick="checkme()"&gt;<br>&lt;/body&gt;&lt;/html&gt;</p>
<p style="COLOR: #3366ff">25.获得本页url的request.servervariables("")集合<br>response.write "&lt;table border=1&gt;&lt;!-- table header --&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;variables&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;value&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;"<br>for each ob in request.servervariables<br>response.write "&lt;tr&gt;&lt;td&gt;"&amp;ob&amp;"&lt;/td&gt;&lt;td&gt;"&amp;request.servervariables(ob)&amp;"&lt;/td&gt;&lt;/tr&gt;"<br>next<br>response.write "&lt;/table&gt;"<br>26.<br>本机ip&lt;%=request.servervariables("remote_addr")%&gt;<br>服务器名&lt;%=request.servervariables("server_name")%&gt;<br>服务器ip&lt;%=request.servervariables("local_addr")%&gt;<br>服务器端口&lt;%=request.servervariables("server_port")%&gt;<br>服务器时间&lt;%=now%&gt;<br>iis版本&lt;%=request.servervariables"server_software")%&gt;<br>脚本超时时间&lt;%=server.scripttimeout%&gt;<br>本文件路径&lt;%=server.mappath(request.servervariables("script_name"))%&gt;<br>服务器cpu数量&lt;%=request.servervariables("number_of_processors")%&gt;<br>服务器解译引擎&lt;%=scriptengine &amp; "/"&amp; scriptenginemajorversion &amp;"."&amp;scriptengineminorversion&amp;"."&amp; scriptenginebuildversion %&gt;<br>服务器操作系统&lt;%=request.servervariables("os")%&gt;</p>
<p style="COLOR: #3366ff">27.enter键可以让光标移到下一个输入框<br>&lt;input onkeydown="if(event.keycode==13)event.keycode=9"&gt;</p>
<p style="COLOR: #3366ff">28. 检测某个网站的链接速度：<br>把如下代码加入&lt;body&gt;区域中:<br>&lt;script language=javascript&gt;<br>tim=1<br>setinterval("tim++",100)<br>b=1</p>
<p style="COLOR: #3366ff">var autourl=new array()<br>autourl[1]="<a href="http://www.njcatv.net/">www.njcatv.net</a>"<br>autourl[2]="javacool.3322.net"<br>autourl[3]="<a href="http://www.sina.com.cn/">www.sina.com.cn</a>"<br>autourl[4]="<a href="http://www.nuaa.edu.cn/">www.nuaa.edu.cn</a>"<br>autourl[5]="<a href="http://www.cctv.com/">www.cctv.com</a>"</p>
<p style="COLOR: #3366ff">function butt(){<br>document.write("&lt;form name=autof&gt;")<br>for(var i=1;i&lt;autourl.length;i++)<br>document.write("&lt;input type=text name=txt"+i+" size=10 value=测试中&#8230;&#8230;&gt; =》&lt;input type=text name=url"+i+" size=40&gt; =》&lt;input type=button value=go onclick=window.open(this.form.url"+i+".value)&gt;&lt;br/&gt;")<br>document.write("&lt;input type=submit value=刷新&gt;&lt;/form&gt;")<br>}<br>butt()<br>function auto(url){<br>document.forms[0]["url"+b].value=url<br>if(tim&gt;200)<br>{document.forms[0]["txt"+b].value="链接超时"}<br>else<br>{document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}<br>b++<br>}<br>function run(){for(var i=1;i&lt;autourl.length;i++)document.write("&lt;img src=http://"+autourl+"/"+math.random()+" width=1 height=1 onerror=auto(''''http://";+autourl+"'''')&gt;")}<br>run()&lt;/script&gt;<br>29. 各种样式的光标<br>auto ：标准光标<br>default ：标准箭头<br>hand ：手形光标<br>wait ：等待光标<br>text ：i形光标<br>vertical-text ：水平i形光标<br>no-drop ：不可拖动光标<br>not-allowed ：无效光标<br>help ：?帮助光标<br>all-scroll ：三角方向标<br>move ：移动标<br>crosshair ：十字标<br>e-resize<br>n-resize<br>nw-resize<br>w-resize<br>s-resize<br>se-resize<br>sw-resize</p>
<img src ="http://www.cnitblog.com/zhand/aggbug/52956.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2008-12-23 14:53 <a href="http://www.cnitblog.com/zhand/articles/52956.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>经典代码（2）</title><link>http://www.cnitblog.com/zhand/articles/52955.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Tue, 23 Dec 2008 06:51:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/52955.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/52955.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/52955.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/52955.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/52955.html</trackback:ping><description><![CDATA[<p style="COLOR: #3366ff"><font face=#ce_temp_font#>11. &lt;input type=button value=查看网页源代码 <br>onclick="window.location = ''''view-source:''''+ ''''http://www.csdn.net/''''"&gt;</font></p>
<p style="COLOR: #3366ff"><font face=#ce_temp_font#>12. 怎样通过asp的手段来检查来访者是否用了代理<br>&lt;% if request.servervariables("http_x_forwarded_for")&lt;&gt;"" then<br>response.write "&lt;font color=#ff0000&gt;您通过了代理服务器，"&amp; _<br>"真实的ip为"&amp;request.servervariables("http_x_forwarded_for")<br>end if<br>%&gt;</font></p>
<p style="COLOR: #3366ff"><font face=#ce_temp_font#>13. 取得控件的绝对位置</font></p>
<p style="COLOR: #3366ff"><font face=#ce_temp_font#>//javascript<br>&lt;script language="javascript"&gt;<br>function getie(e){<br>var t=e.offsettop;<br>var l=e.offsetleft;<br>while(e=e.offsetparent){<br>t+=e.offsettop;<br>l+=e.offsetleft;<br>}<br>alert("top="+t+"\nleft="+l);<br>}<br>&lt;/script&gt;</font></p>
<p style="COLOR: #3366ff"><font face=#ce_temp_font#>//vbscript<br>&lt;script language="vbscript"&gt;&lt;!--<br>function getie()<br>dim t,l,a,b<br>set a=document.all.img1<br>t=document.all.img1.offsettop<br>l=document.all.img1.offsetleft<br>while a.tagname&lt;&gt;"body"<br>set a = a.offsetparent<br>t=t+a.offsettop<br>l=l+a.offsetleft<br>wend<br>msgbox "top="&amp;t&amp;chr(13)&amp;"left="&amp;l,64,"得到控件的位置"<br>end function<br>--&gt;&lt;/script&gt;<br>14. 光标是停在文本框文字的最后<br>&lt;script language="javascript"&gt;<br>function cc()<br>{<br>var e = event.srcelement;<br>var r =e.createtextrange();<br>r.movestart(''''character'''',e.value.length);<br>r.collapse(true);<br>r.select();<br>}<br>&lt;/script&gt;<br>&lt;input type=text name=text1 value="123" onfocus="cc()"&gt;</font></p>
<p style="COLOR: #3366ff"><font face=#ce_temp_font#>15. 判断上一页的来源<br>asp:<br>request.servervariables("http_referer")</font></p>
<p style="COLOR: #3366ff"><font face=#ce_temp_font#>javascript:<br>document.referrer</font></p>
<p style="COLOR: #3366ff"><font face=#ce_temp_font#>16. 最小化、最大化、关闭窗口<br>&lt;object id=hh1 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"&gt; <br>&lt;param name="command" value="minimize"&gt;&lt;/object&gt;<br>&lt;object id=hh2 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"&gt; <br>&lt;param name="command" value="maximize"&gt;&lt;/object&gt;<br>&lt;object id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"&gt;<br>&lt;param name="command" value="close"&gt;&lt;/object&gt;</font></p>
<p style="COLOR: #3366ff"><font face=#ce_temp_font#>&lt;input type=button value=最小化 onclick=hh1.click()&gt;<br>&lt;input type=button value=最大化 onclick=hh2.click()&gt;<br>&lt;input type=button value=关闭 onclick=hh3.click()&gt;<br>本例适用于ie</font></p>
<p style="COLOR: #3366ff"><font face=#ce_temp_font#>17. <br>&lt;%<br>''''定义数据库连接的一些常量<br>const adopenforwardonly = 0 ''''游标只向前浏览记录，不支持分页、recordset、bookmark<br>const adopenkeyset = 1 ''''键集游标，其他用户对记录说做的修改将反映到记录集中，但其他用户增加或删除记录不会反映到记录集中。支持分页、recordset、bookmark<br>const adopendynamic = 2 ''''动态游标功能最强，但耗资源也最多。用户对记录说做的修改，增加或删除记录都将反映到记录集中。支持全功能浏览(access不支持)。<br>const adopenstatic = 3 ''''静态游标，只是数据的一个快照，用户对记录说做的修改，增加或删除记录都不会反映到记录集中。支持向前或向后移动</font></p>
<p style="COLOR: #3366ff"><font face=#ce_temp_font#>const adlockreadonly = 1 ''''锁定类型，默认的，只读，不能作任何修改<br>const adlockpessimistic = 2 ''''当编辑时立即锁定记录，最安全的方式<br>const adlockoptimistic = 3 ''''只有在调用update方法时才锁定记录集，而在此前的其他操作仍可对当前记录进行更改、插入和删除等<br>const adlockbatchoptimistic = 4 ''''当编辑时记录不会被锁定，而更改、插入和删除是在批处理方式下完成的</font></p>
<p style="COLOR: #3366ff"><font face=#ce_temp_font#>const adcmdtext = &amp;h0001<br>const adcmdtable = &amp;h0002<br>%&gt;<br>18. 网页不会被缓存<br>htm网页<br>&lt;meta http-equiv="pragma" content="no-cache"&gt;<br>&lt;meta http-equiv="cache-control" content="no-cache, must-revalidate"&gt;<br>&lt;meta http-equiv="expires" content="wed, 26 feb 1997 08:21:57 gmt"&gt;<br>或者&lt;meta http-equiv="expires" content="0"&gt;<br>asp网页<br>response.expires = -1<br>response.expiresabsolute = now() - 1<br>response.cachecontrol = "no-cache"<br>php网页<br>header("expires: mon, 26 jul 1997 05:00:00 gmt");<br>header("cache-control: no-cache, must-revalidate");<br>header("pragma: no-cache");</font></p>
<font face=#ce_temp_font#>
<p style="COLOR: #3366ff"><br>19. 检查一段字符串是否全由数字组成<br>&lt;script language="javascript"&gt;&lt;!--<br>function checknum(str){return str.match(/\d/)==null}<br>alert(checknum("1232142141"))<br>alert(checknum("123214214a1"))<br>// --&gt;&lt;/script&gt;</p>
<p style="COLOR: #3366ff">20. 获得一个窗口的大小<br>document.body.clientwidth,document.body.clientheight<br></font></p>
<img src ="http://www.cnitblog.com/zhand/aggbug/52955.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2008-12-23 14:51 <a href="http://www.cnitblog.com/zhand/articles/52955.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>经典代码（1）</title><link>http://www.cnitblog.com/zhand/articles/52953.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Tue, 23 Dec 2008 06:39:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/52953.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/52953.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/52953.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/52953.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/52953.html</trackback:ping><description><![CDATA[<p style="COLOR: #3366ff">1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键<br>&lt;table border oncontextmenu=return(false)&gt;&lt;td&gt;no&lt;/table&gt; 可用于Table</p>
<p style="COLOR: #3366ff">2. &lt;body onselectstart="return false"&gt; 取消选取、防止复制</p>
<p style="COLOR: #3366ff">3. onpaste="return false" 不准粘贴</p>
<p style="COLOR: #3366ff">4. oncopy="return false;" oncut="return false;" 防止复制</p>
<p style="COLOR: #3366ff">5. &lt;link rel="Shortcut Icon" href="favicon.ico"&gt; IE地址栏前换成自己的图标</p>
<p style="COLOR: #3366ff">6. &lt;link rel="Bookmark" href="favicon.ico"&gt; 可以在收藏夹中显示出你的图标</p>
<p style="COLOR: #3366ff">7. &lt;input style="ime-mode:disabled"&gt; 关闭输入法</p>
<p style="COLOR: #3366ff">8. 永远都会带着框架<br>&lt;script language="javascript"&gt;&lt;!--<br>if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页<br>// --&gt;&lt;/script&gt;</p>
<p style="COLOR: #3366ff">9. 防止被人frame<br>&lt;script LANGUAGE=javascript&gt;&lt;!-- <br>if (top.location != self.location)top.location=self.location;<br>// --&gt;&lt;/SCRIPT&gt;</p>
<p style="COLOR: #3366ff">10. &lt;noscript&gt;&lt;iframe src=*.html&gt;&lt;/iframe&gt;&lt;/noscript&gt; 网页将不能被另存为<br></p>
<img src ="http://www.cnitblog.com/zhand/aggbug/52953.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2008-12-23 14:39 <a href="http://www.cnitblog.com/zhand/articles/52953.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>asp安全漏洞:ASP漏洞及安全建议</title><link>http://www.cnitblog.com/zhand/articles/52883.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Mon, 22 Dec 2008 02:01:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/52883.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/52883.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/52883.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/52883.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/52883.html</trackback:ping><description><![CDATA[一 前言 </font><br>Microsoft Active Server Pages（ASP）是服务器端脚本编写环境，使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页 、脚本命令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序。 </font><br>现在很多网站特别是电子商务方面的网站，在前台上大都用ASP来实现。以至于现在ASP在网站应用上很普遍。</font><br>ASP是开发网站应用的快速工具，但是有些网站管理员只看到ASP的快速开发能力，却忽视了ASP安全问题。ASP从一开始就一直受到众多漏洞，后门的困扰，包括%81的噩梦，密码验证问题，IIS漏洞等等都一直使ASP网站开发人员心惊胆跳。</font><br>本文试图从开放了ASP服务的操作系统漏洞和ASP程序本身漏洞，阐述ASP安全问题，并给出解决方法或者建议。</font><br></font><br>二 关键字</font><br></font><br>ASP，网络安全，IIS，SSL，加密。</font><br></font><br>三 ASP工作机理</font><br></font><br>Active Server Page技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段，极大地提高了开发的效果。在讨论ASP的安全性问题之前，让我们来看看ASP是怎么工作的。ASP脚本是采用明文（plain text）方式来编写的。</font><br></font><br>ASP脚本是一系列按特定语法（目前支持vbscript和jscript两种脚本语言）编写的，与标准HTML页面混合在一起的脚本所构成的文本格式的文件。当客户端的最终用户用WEB浏览器通过INTERNET来访问基于ASP脚本的应用时，WEB浏览器将向WEB服务器发出HTTP请求。WEB服务器分析、判断出该请求是ASP脚本的应用后，自动通过ISAPI接口调用ASP脚本的解释运行引擎（ASP.DLL）。ASP.DLL将从文件系统或内部缓冲区获取指定的ASP脚本文件，接着就进行语法分析并解释执行。最终的处理结果将形成HTML格式的内容，通过WEB服务器&#8220;原路&#8221;返回给WEB浏览器，由WEB浏览器在客户端形成最终的结果呈现。这样就完成了一次完整的ASP脚本调用。若干个有机的ASP脚本调用就组成了一个完整的ASP脚本应用。</font><br>让我们来看看运行ASP所需的环境：</font><br>Microsoft Internet Information Server 3.0/4.0/5.0 on NT Server </font><br>Microsoft Internet Information Server 3.0/4.0/5.0 on Win2000 </font><br>Microsoft Personal Web Server on Windows 95/98</font><br>WINDOWS NT Option Pack所带的Microsoft IIS提供了强大的功能，但是IIS在网络安全方面却是比较危险的。因为很少有人会用Windows 95/98当服务器，因此本文我更多的从NT中的IIS安全问题来探讨。</font><br></font><br></font><br>四 微软自称的ASP的安全优点</font><br>虽然我们本文的重点是探讨ASP漏洞和后门，但是有必要谈谈ASP在网络安全方面的&#8220;优点&#8221;，之所以加个&#8220;&#8221;，是因为有时这些微软宣称的&#8220;优点&#8221;恰恰是其安全隐犯。</font><br>微软称ASP在网络安全方面一大优点就是用户不能看到ASP的源程序，</font><br>从ASP的原理上看，ASP在服务端执行并解释成标准的HTML语句，再传送给客户端浏览器。&#8220;屏蔽"源程序能很好的维护ASP开发人员的版权，试想你辛辛苦苦做了一个很优秀的程序，给人任意COPY，你会怎么想？而且黑客还能分析你的ASP程序，挑出漏洞。更重要的是有些ASP开发者喜欢把密码，有特权的用户名和路径直接写在程序中，这样别人通过猜密码，猜路径，很容易找到攻击系统的&#8220;入口"。但是目前已经发现了很多能查看ASP源程序的漏洞，后面我们还要讨论。</font><br>IIS支持虚拟目录，通过在&#8220;服务器属性&#8221;对话框中的&#8220;目录&#8221;标签可</font><br>以管理虚拟目录。建立虚拟目录对于管理WEB站点具有非常重要的意义。虚拟目录隐藏了有关站点目录结构的重要信息。因为在浏览器中，客户通过选择&#8220;查看源代码&#8221;，很容易就能获取页面的文件路径信息，如果在WEB页中使用物理路径，将暴露有关站点目录的重要信息，这容易导致系统受到攻击。其次，只要两台机器具有相同的虚拟目录，你就可以在不对页面代码做任何改动的情况下，将WEB页面从一台机器上移到另一台机器。还有就是，当你将WEB页面放置于虚拟目录下后，你可以对目录设置不同的属性，如：Read、Excute、Script。读访问表示将目录内容从IIS传递到浏览器。而执行访问则可以使在该目录内执行可执行的文件。当你需要使用ASP时，就必须将你存放.asp文件的目录设置为&#8220;Excute（执行）&#8221;。建议大家在设置WEB站点时，将HTML文件同ASP文件分开放置在不同的目录下，然后将HTML子目录设置为&#8220;读&#8221;，将ASP子目录设置为&#8220;执行&#8221;，这不仅方便了对WEB的管理，而且最重要的提高了ASP程序的安全性，防止了程序内容被客户所访问。</font><br></font><br>五 ASP漏洞分析和解决方法</font><br>有人说一台不和外面联系的电脑是最安全的电脑，一个关闭所有端口，不提供任何服务的电脑也是最安全的。黑客经常利用我们所开放的端口实施攻击，这些攻击最常见的是DDOS（拒绝服务攻击）.下面我会列出ASP的二十几个漏洞，每个漏洞都会有漏洞描述和解决方法。</font><br></font><br>1 在ASP程序后加个特殊符号，能看到ASP源程序</font><br>受影响的版本：</font><br>win95+pws</font><br>IIS3.0</font><br>98+pws4 不存在这个漏洞。</font><br>IIS4.0以上的版本也不存在这个漏洞。</font><br>问题描述：</font><br>这些特殊符号包括小数点，%81, ::$DATA。比如：</font><br>http://someurl/somepage.asp.</font><br>http://someurl/somepage.asp%81</font><br>http://someurl/somepage.asp::$DATA</font><br>http://someurl/somepage.asp %2e</font><br>http://someurl/somepage %2e%41sp</font><br>http://someurl/somepage%2e%asp </font><br>http:// someurl/somepage.asp %2e</font><br>http://someurl/msadc/samples/selector/showcode.asp?source=/msadc/samples/../../../../../../boot.ini （可以看到boot.ini的文件内容）</font><br>那么在安装有IIS3.0和win95+PWS的浏览中就很容易看到somepage.asp的源程序。究竟是什么原因造成了这种可怕的漏洞呢？究其根源其实是 Windows NT 特有的文件系统在做怪。有一点常识的人都知道在 NT 提供了一种完全不同于 FAT 的文件系统：NTFS，这种被称之为新技术文件系统的技术使得 NT 具有了较高的安全机制，但也正是因为它而产生了不少令人头痛的隐患。大家可能不知道， NTFS 支持包含在一个文件中 的多数据流，而这个包含了所有内容的主数据流被称之为&#8220;DATA"，因此使得在浏览器 里直接访问 NTFS 系统的这个特性而轻易的捕获在文件中的脚本程序成为了可能。然而 直接导致 ::$DATA 的原因是由于 IIS 在解析文件名的时候出了问题，它没有很好地规范文件名。</font><br></font><br>解决方法和建议：</font><br>如果是Winodws NT用户，安装IIS4.0或者IIS5.0，Windows2000不存在这个问题。如果是win95用户，安装WIN98和PWS4.0。</font><br></font><br>2 ACCESS mdb 数据库有可能被下载的漏洞</font><br>问题描述：</font><br>在用ACCESS做后台数据库时，如果有人通过各种方法知道或者猜</font><br>到了服务器的ACCESS数据库的路径和数据库名称，那么他能够下载这个ACCESS数据库文件，这是非常危险的。比如：如果你的ACCESS数据库book.mdb放在虚拟目录下的database目录下，那么有人在浏览器中打入：</font><br>http://someurl/database/book.mdb</font><br>如果你的book.mdb数据库没有事先加密的话，那book.mdb中所有重要</font><br>的数据都掌握在别人的手中。</font><br>解决方法：</font><br>(1) 为你的数据库文件名称起个复杂的非常规的名字，并把他放在几目</font><br>录下。所谓&#8220;非常规&#8221;，打个比方：比如有个数据库要保存的是有关书籍的信息，可不要把他起个&#8220;book.mdb"的名字，起个怪怪的名称，比如d34ksfslf.mdb，再把他放在如./kdslf/i44/studi/ 的几层目录下，这样黑客要想通过猜的方式得到你的ACCESS数据库文件就难上加难了。</font><br>(2)不要把数据库名写在程序中。有些人喜欢把DSN写在程序中，比如： </font><br></font><br>DBPath = Server.MapPath("cmddb.mdb")</font><br>conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &amp; DBPath </font><br></font><br>假如万一给人拿到了源程序，你的ACCESS数据库的名字就一览无余。因此建议你在ODBC里设置数据源，再在程序中这样写：</font><br>conn.open "shujiyuan"</font><br>(3)使用ACCESS来为数据库文件编码及加密。首先在选取&#8220;工具-&gt;安</font><br>全-&gt;加密/解密数据库，选取数据库（如：employer.mdb），然后接确定，接着会出现"数据库加密后另存为&#8220;的窗口，存为：employer1.mdb。接着employer.mdb就会被编码，然后存为employer1.mdb..</font><br>要注意的是，以上的动作并不是对数据库设置密码，而只是对数据库文件加以编码，目的是为了防止他人使用别的工具来查看数据库文件的内容。</font><br>接下来我们为数据库加密，首先以打开经过编码了的employer1.mdb，在打开时，选择&#8220;独占&#8221;方式。然后选取功能表的&#8220;工具-&gt;安全-&gt;设置数据库密码&#8221;，接着输入密码即可。</font><br>为employer1.mdb设置密码之后，接下来如果再使用ACCEES数据库文件时，则ACCESS会先要求输入密码，验证正确后才能够启动数据库。</font><br>不过要在ASP程序中的connection对象的open方法中增加PWD的参数即可，例如：</font><br>param="driver={Microsoft Access Driver (*.mdb)};Pwd=yfdsfs"</font><br>param=param&amp;";dbq="&amp;server.mappath("employer1.mdb")</font><br>conn.open param</font><br>这样即使他人得到了employer1.mdb文件，没有密码他是无法看到employer1.mdb的。</font><br></font><br></font><br></font><br>3 code.asp文件会泄漏ASP代码</font><br>问题描述：</font><br>举个很简单的例子，在微软提供的 ASP1.0 的例程里有一个 .asp 文件</font><br>专门用来查看其它 .asp 文件的源代码，该文件为 ASPSamp/Samples/code.asp。如果有人把这个程序上传到服务器，而服务器端没有任何防范措施的话，他就可以很容易地查看他人的程序。例如 : </font><br>　　code.asp?source=/directory/file.asp</font><br>不过这是个比较旧的漏洞了，相信现在很少会出现这种漏洞。</font><br>下面这命令是比较新的：</font><br>http://someurl/iissamples/exair/howitworks/code.asp?/lunwen/soushuo.asp=xxx.asp</font><br>最大的危害莫过于asa文件可以被上述方式读出；数据库密码以明文形式暴露在黑客眼前; </font><br>问题解决或建议：</font><br>对于IIS自带的show asp code的asp程序文件，删除该文件或者禁止访问该目录即可</font><br></font><br>4、filesystemobject 组件篡改下载 fat 分区上的任何文件的漏洞</font><br>问题描述：</font><br>　　IIS3、 IIS4 的 ASP 的文件操作都可以通过 filesystemobject 实现，包括文本文件的读写目录操作、文件的拷贝改名删除等，但是这个强大的功能也留下了非常危险的 &#8220;后门&#8221;。利用 filesystemobjet 可以篡改下载 fat 分区上的任何文件。即使是 ntfs 分区，如果权限没有设定好的话，同样也能破坏，一不小心你就可能遭受&#8220;灭顶之灾 &#8221;。遗憾的是很多 webmaster 只知道让 web 服务器运行起来，很少对 ntfs 进行权限 设置，而 NT 目录权限的默认设置偏偏安全性又低得可怕。因此，如果你是 Webmaster </font><br>，建议你密切关注服务器的设置，尽量将 web 目录建在 ntfs 分区上，目录不要设定 everyone full control，即使是是管理员组的成员一般也没什么必要 full control，只要有读取、更改权限就足够了。 也可以把filesystemobject的组件删除或者改名。</font><br></font><br>5、输入标准的HTML语句或者javascript语句会改变输出结果 </font><br>问题描述：</font><br>　 在输入框中打入标准的HTML语句会得到什么相的结果呢？</font><br>比如一个留言本，我们留言内容中打入：</font><br><font face="" size=3>你好！</font></font><br>　 如果你的ASP程序中没有屏蔽html语句，那么就会改变&#8220;你好&#8221;字体的大小。在留言本中改变字体大小和贴图有时并不是什么坏事，反而可以使留言本生动。但是如果在输入框中写个 javascript 的死循环，比如：特大新闻 </font><br>那么其他查看该留言的客人只要移动鼠标到"特大新闻"，上就会使用户的浏览器因死循环而死掉。</font><br>解决方法和建议：</font><br>编写类似程序时应该做好对此类操作的防范，譬如可以写一段程序判断客户端的输入，并屏蔽掉所有的 HTML、 Javascript 语句。</font><br></font><br></font><br>6、ASP程序密码验证漏洞</font><br>漏洞描述：</font><br>很多网站把密码放到数据库中，在登陆验证中用以下sql,(以asp为例） </font><br>sql="select * from user where username='"&amp;username&amp;"'and pass='"&amp; pass &amp;'" </font><br>此时，您只要根据sql构造一个特殊的用户名和密码，如：ben' or '1'='1 </font><br>就可以进入本来你没有特权的页面。再来看看上面那个语句吧： </font><br>sql="select * from user where username='"&amp;username&amp;"'and pass='"&amp; pass&amp;'" </font><br>此时，您只要根据sql构造一个特殊的用户名和密码，如：ben' or '1'='1 </font><br>这样,程序将会变成这样: sql="select*from username where username="&amp;ben'or'1'=1&amp;"and pass="&amp;pass&amp;" </font><br>or 是一个逻辑运算符,作用是在判断两个条件的时候,只要其中一个条件成立,那么等式将会成立.而在语言中,是以1来代表真的(成立).那么在这行语句中,原语句的"and"验证将不再继续,而因为"1=1"和"or"令语句返回为真值.。</font><br>
<img src ="http://www.cnitblog.com/zhand/aggbug/52883.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2008-12-22 10:01 <a href="http://www.cnitblog.com/zhand/articles/52883.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP连接数据库代码+防注入系统</title><link>http://www.cnitblog.com/zhand/articles/52882.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Mon, 22 Dec 2008 01:55:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/52882.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/52882.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/52882.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/52882.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/52882.html</trackback:ping><description><![CDATA[<p>&lt;%</p>
<p>dim fx,fstr<br>for each fx in request.QueryString()<br>fstr=request.QueryString(fx)<br>fstr=replace(fstr,"%27","'")<br>if instr(fstr,"'")&gt;0 or instr(fstr,"select ")&gt;0 or instr(fstr,"net user")&gt;0 or instr(fstr,"xp_cmdshell")&gt;0 or instr(fstr,"/add")&gt;0 or instr(fstr,"exec master.dbo.xp_cmdshell")&gt;0 or instr(fstr,"net localgroup administrators")&gt;0 or instr(fstr,"%")&gt;0 or instr(fstr,"delete")&gt;0 or Instr(fstr,"insert 20")&gt;0 or Instr(fstr,"delete from")&gt;0 or Instr(fstr,"count(")&gt;0 or Instr(fstr,"drop table")&gt;0 or Instr(fstr,"update ")&gt;0 or Instr(fstr,"truncate ")&gt;0 or Instr(fstr,"asc(")&gt;0 or Instr(fstr,"mid(")&gt;0 or Instr(fstr,"char(")&gt;0 or Instr(fstr,":")&gt;0 or Instr(fstr," or ")&gt;0 or Instr(fstr," and ")&gt;0then<br>response.Write("&lt;script&gt;alert('请不要输入特殊字符!');window.close()&lt;/script&gt;")<br>response.End()<br>end if<br>next<br>for each fx in request.Form()<br>fstr=request.Form(fx)<br>fstr=replace(fstr,"%27","'")<br>fstr=replace(fstr,"'","&#8216;")<br>if instr(fstr,"select%20")&gt;0 or instr(fstr,"net%20user")&gt;0 or instr(fstr,"xp_cmdshell")&gt;0 or instr(fstr,"/add")&gt;0 or instr(fstr,"exec%20master.dbo.xp_cmdshell")&gt;0 or instr(fstr,"net%20localgroup%20administrators")&gt;0 or instr(fstr,"delete")&gt;0 or Instr(fstr,"insert%20")&gt;0 or Instr(fstr,"delete%20from")&gt;0 or Instr(fstr,"count(")&gt;0 or Instr(fstr,"drop%20table")&gt;0 or Instr(fstr,"update%20")&gt;0 or Instr(fstr,"truncate%20")&gt;0 or Instr(fstr,"asc(")&gt;0 or Instr(fstr,"mid(")&gt;0 or Instr(fstr,"char(")&gt;0 or Instr(fstr,"%20or%20")&gt;0 then<br>response.Write("&lt;script&gt;alert('请不要输入特殊字符!');window.close()&lt;/script&gt;")<br>response.End()<br>end if<br>next</p>
<p><br>dim conn&nbsp;&nbsp; <br>dim connstr<br>'on error resume next<br>connstr="DBQ="+server.mappath("\guanli\data\system.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"<br>set conn=server.createobject("ADODB.CONNECTION")<br>conn.open connstr <br>dim nowtime<br>nowtime=now()<br>sj=cstr(year(nowtime))+"年"+right("0"+cstr(month(nowtime)),2)+"月"+right("0"+cstr(day(nowtime)),2)+"日"<br>'#########################################################################<br>function m_id(m_id_t)<br>set m_id_rs=conn.execute("select top 1 id from "&amp;m_id_t&amp;" order by id desc")<br>if m_id_rs.eof then<br>m_id=1<br>else<br>m_id=m_id_rs("id")+1<br>end if<br>m_id_rs.close<br>set m_id_rs=nothing<br>end function</p>
<p>'#########################################################################<br>function sqlstr(sql_str)</p>
<p>sqlstr=replace(sql_str,"'","''")</p>
<p>end function</p>
<p>function subname(subname_name)<br>subname_name=sqlstr(subname_name)</p>
<p>set rs=conn.execute("Select id from class where cname='"&amp;subname_name&amp;"' and cwar=1")<br>if rs.eof then<br>rs.close<br>set rs=nothing<br>response.write "&lt;script language=javascript&gt;alert('请不要恶心访问本站');&lt;/script&gt;请不要恶意访问本网站"<br>response.end<br>else<br>subname=rs(0)<br>rs.close<br>set rs=nothing<br>end if<br>end function<br>function namesub(namesub_1)</p>
<p>set rs=conn.execute("Select cname from class where id="&amp;namesub_1)<br>namesub=rs(0)<br>rs.close<br>set rs=nothing</p>
<p>end function<br>function isnumber(isnumber_id)</p>
<p>if isnumeric(isnumber_id)=true then<br>isnumber=isnumber_id<br>else<br>response.write "&lt;script language=javascript&gt;alert('请不要恶心访问本站');&lt;/script&gt;请不要恶意访问本网站"<br>response.end<br>end if</p>
<p>end function</p>
<p>function furl(furl_name,furl_url)<br>furl_id=subname(furl_name)<br>furl="&lt;a href="&amp;furl_url&amp;"="&amp;furl_id&amp;"&gt;"&amp;furl_name&amp;"&lt;/a&gt;"<br>end function</p>
<p><br>function logsys(xx)<br>set rs=server.createobject("adodb.recordset")<br>sql="select * from history"<br>rs.open sql,conn,1,3<br>rs.addnew<br>rs("hdate")=now()<br>rs("htext")=xx<br>rs("happly")=request.cookies("aname")<br>rs("address")=ips()<br>rs.update<br>rs.close<br>set rs=nothing<br>end function</p>
<p>function ips()<br>userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") <br>If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")<br>ips=userip<br>end function</p>
<p><br>strurl=Request.ServerVariables("URL")<br>Strurl=split(strurl,"/")<br>i=UBound(strurl,1)<br>filename=strurl(i)&nbsp;&nbsp; 'Final 文件名<br>%&gt;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&lt;%</p>
<p><br>dim MM_oConn_STRING, db_STRING, strDatabaseType</p>
<p>'******************************************<br>'*** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft Access&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ****<br>'******************************************</p>
<p>strDatabaseType = "msaccess"<br>db_STRING = Server.MapPath("/databases/caifuw.mdb")<br>MM_oConn_STRING = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &amp; db_STRING</p>
<p>&#160;</p>
<p>%&gt;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&lt;%<br>Dim ConnStr<br>Dim DataBaseFilePath<br>DataBaseFilePath="/nbarticle/Depot/NBArticle.asp"<br>ConnStr="Provider = Microsoft.Jet.OLEDB.4.0;Data Source =" &amp; Server.MapPath(DataBaseFilePath)<br>Const sCacheName="NB412426174"<br>Const SystemFolder="/nbarticle/"<br>%&gt;</p>
<img src ="http://www.cnitblog.com/zhand/aggbug/52882.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2008-12-22 09:55 <a href="http://www.cnitblog.com/zhand/articles/52882.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>典型asp数据库链接文件 conn.asp 简单防注入</title><link>http://www.cnitblog.com/zhand/articles/52880.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Mon, 22 Dec 2008 01:34:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/52880.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/52880.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/52880.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/52880.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/52880.html</trackback:ping><description><![CDATA[<div>&nbsp;<wbr><font face=宋体>&lt;%<br>Dim N_no,N_noarray,req_Qs,req_F,N_i,N_dbstr,Conn,N_rs,N_userIP,N_thispage<br>N_userip = Request.ServerVariables("REMOTE_ADDR")<br>N_thispage = LCase(Request.ServerVariables("URL"))</font>
<p><font face=宋体>N_no = "'|;|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare" '<br>可以自己修改怀疑是注入操作的字串<br>N_noarray = split(LCase(N_no),"|")</font></p>
<p><font face=宋体><br>If Request.Form&lt;&gt;"" Then<br><wbr>For Each req_F In Request.Form<br><wbr><wbr>N_check req_F,Request.Form(req_F),"POST"<br><wbr>Next<br>end if</font></p>
<p>&nbsp;<wbr></p>
<p>If Request.QueryString&lt;&gt;"" Then<br><wbr>For Each req_Qs In Request.QueryString<br><wbr><wbr>N_check req_Qs,Request.QueryString(req_Qs),"GET"<br><wbr>Next<br>end if</p>
<p><br>'检测<br>sub N_check(ag,agsql,sqltype)<br><wbr>For N_i=0 To Ubound(N_noarray)<br><wbr>If Instr(LCase(agsql),N_noarray(N_i))&lt;&gt;0 Then<br>call N_regsql(ag,agsql,sqltype)<br>Response.Write "MO"<br><wbr>end if<br>Next<br>end sub</p>
<p>'停止并输出 您可以将此纪录入库，这里只是输出</p>
<p>sub N_regsql(ag,agsql,sqltype)</p>
<p>&nbsp;<wbr>Response.Write "&lt;Script Language=JavaScript&gt;alert(&#8242;请不要在参数中包含非法字符尝试注入！&#8242;);&lt;/Script&gt;"<br>&nbsp;<wbr>Response.Write "&lt;span style=&#8242;font-size:12px&#8242;&gt;非法操作！系统做了如下记录&#8595;&lt;br&gt;"<br>&nbsp;<wbr>Response.Write "操作ＩＰ："&amp;N_userip&amp;"&lt;br&gt;"<br>&nbsp;<wbr>Response.Write "操作时间："&amp;Now&amp;"&lt;br&gt;"<br>&nbsp;<wbr>Response.Write "提交方式："&amp;sqltype&amp;"&lt;br&gt;"<br>&nbsp;<wbr>Response.Write "提交参数："&amp;ag&amp;"&lt;br&gt;"<br>&nbsp;<wbr>Response.Write "提交数据："&amp;agsql&amp;"&lt;/span&gt;"<br>&nbsp;<wbr>Response.end</p>
<p>end sub<br>&nbsp;<wbr><br>&nbsp;<wbr>'以上为防SQL注入部分，敏感词可以在N_no中添加</p>
<p><br>&nbsp;<wbr>'**************************<br>&nbsp;<wbr>'连接MSSQL<br>&nbsp;<wbr>'**************************<br>&nbsp;<wbr>'Public UConnStr As String&nbsp;<wbr> = "Persist Security Info=False;User ID=sa;Initial Catalog=dbQueue;Data Source=."&nbsp;<wbr><br>&nbsp;<wbr>set conn = Server.CREATEOBJECT("ADODB.Connection")<br>&nbsp;<wbr>'conn.Open "Persist Security Info=False;User ID=sa;pwd=;Initial Catalog=dbTouch;Data Source=."&nbsp;<wbr><br>&nbsp;<wbr>conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=192.168.1.2;DATABASE=News;UID=sa;PWD=dasiyebushuo" '连接MSSQL数据库<br>&nbsp;<wbr><br>&nbsp;<wbr>'**************************<br>&nbsp;<wbr>'连接ACCESS<br>&nbsp;<wbr>'**************************<br>&nbsp;<wbr>'db=dbpath&amp;"db@hbngzy/#I2O5N6J7D9M5S2S0K3E4J4X8<wbr>K6#.asp" dbpath包含数据库文件的asp网页与数据库的相对地址，方便调用<br>&nbsp;<wbr>'Set conn = Server.CreateObject("ADODB.Connection")<br>&nbsp;<wbr>'connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp; Server.MapPath(db)<br>&nbsp;<wbr>'conn.Open connstr<br>%&gt;</p>
</div>
<img src ="http://www.cnitblog.com/zhand/aggbug/52880.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2008-12-22 09:34 <a href="http://www.cnitblog.com/zhand/articles/52880.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网页防右键|防选择js代码|不能复制|防|网页ico图标|网页防木马</title><link>http://www.cnitblog.com/zhand/articles/52438.html</link><dc:creator>IT爱好者01</dc:creator><author>IT爱好者01</author><pubDate>Wed, 10 Dec 2008 04:46:00 GMT</pubDate><guid>http://www.cnitblog.com/zhand/articles/52438.html</guid><wfw:comment>http://www.cnitblog.com/zhand/comments/52438.html</wfw:comment><comments>http://www.cnitblog.com/zhand/articles/52438.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhand/comments/commentRss/52438.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhand/services/trackbacks/52438.html</trackback:ping><description><![CDATA[<div class=cnt id=blog_text>1.&nbsp;&nbsp; oncontextmenu="window.event.returnValue=false"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将彻底屏蔽鼠标右键<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;table border oncontextmenu=return(false)&gt;&lt;td&gt;no&lt;/table&gt;&nbsp;&nbsp;&nbsp; 可用于Table<br><br>2.&nbsp;&nbsp; &lt;body onselectstart="return false"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取消选取、防止复制<br><br>3.&nbsp;&nbsp; onpaste="return false"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不准粘贴<br><br>4.&nbsp;&nbsp; oncopy="return false;" oncut="return false;"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 防止复制<br><br>5.&nbsp;&nbsp; &lt;link rel="Shortcut Icon" href="favicon.ico"&gt; IE地址栏前换成自己的图标<br><br>6.&nbsp;&nbsp; &lt;link rel="Bookmark" href="favicon.ico"&gt;&nbsp;&nbsp; 可以在收藏夹中显示出你的图标<br><br>7.&nbsp;&nbsp; &lt;input style="ime-mode:disabled"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 关闭输入法<br><br>8.&nbsp;&nbsp; 永远都会带着框架<br>&lt;script language="JavaScript"&gt;&lt;!--<br>&nbsp;&nbsp; if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页<br>// --&gt;&lt;/script&gt;<br><br>9.&nbsp;&nbsp; 防止被人frame<br>&lt;SCRIPT LANGUAGE=JAVASCRIPT&gt;&lt;!-- <br>&nbsp;&nbsp; if (top.location != self.location)top.location=self.location;<br>// --&gt;&lt;/SCRIPT&gt;<br><br>10. &lt;noscript&gt;&lt;iframe src=*.html&gt;&lt;/iframe&gt;&lt;/noscript&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 网页将不能被另存为<br><br>11. &lt;input type=button value=查看网页源代码 <br>onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'"&gt;<br><br>12.屏蔽ctrl+N功能<br>把如下代码加入&lt;body&gt;区域中<br>&lt;body onkeydown='if(event.keyCode==78 &amp;&amp; event.ctrlKey)return false;'&gt;<br></div>
<img src ="http://www.cnitblog.com/zhand/aggbug/52438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhand/" target="_blank">IT爱好者01</a> 2008-12-10 12:46 <a href="http://www.cnitblog.com/zhand/articles/52438.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>