仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 443|回复: 7
打印 上一主题 下一主题

[学习教程] ASP网页编程之ASP平安检测与过滤函数SafeCheck

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:48:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般平安|函数--------------------------------------------------------------------------
感化:平安字符串检测函数
名字:SafeCheck
参数:CheckString,CheckType,CheckLength
申明:
Checkstring待检拆字符串:恣意字符.
CheckType检测范例0一般短字符1数字2日期3款项4编码HTML5解码HTML6登录字符串7防打击检测
CheckLength检测范例长度:范例为int,当为款项时为小数点的地位
前往值:假如经由过程检测,前往准确字符串,
假如未经由过程则前往毛病代码SYSTEM_ERROR|ERROR_CODE
ScriptWritenby:SnowDu(杜雪.NET)
Web:http://www.snsites.com/
--------------------------------------------------------------------------
functionSafeCheck(CheckString,CheckType,CheckLength)
OnErrorResumeNext
ErrorRoot="SYSTEM_ERROR|"
ifcheckString=""then
SafeCheck=ErrorRoot&"00001"
exitfunction
endif

CheckString=Replace(CheckString,"","&#39")
selectcaseCheckType
case0
CheckString=trim(CheckString)
SafeCheck=Left(CheckString,CheckLength)
case1
ifnotisnumberic(CheckString)then
SafeCheck=ErrorRoot&"00002"
exitfunction
else
SafeCheck=Left(CheckString,CheckLength)
endif
case2
tempVar=IsDate(CheckString)
ifNotTempVarthen
SafeCheck=ErrorRoot&"00003"
exitfunction
else
selectcaseCheckLength
case0
SafeCheck=FormatDateTime(CheckString,vbShortDate)
case1
SafeCheck=FormatDateTime(CheckString,vbLongDate)
case2
SafeCheck=CheckString
endselect
endif
case3
tempVar=FormatCurrency(CheckString,0)
ifErrthen
SafeCheck=ErrorRoot&"00004"
exitfunction
else
SafeCheck=FormatCurrency(CheckString,CheckLength)
endif
case4
sTemp=CheckString
IfIsNull(sTemp)=TrueThen
SafeCheck=ErrorRoot&"00005"
ExitFunction
EndIf
sTemp=Replace(sTemp,"&","&")
sTemp=Replace(sTemp,"<","<")
sTemp=Replace(sTemp,">",">")
sTemp=Replace(sTemp,Chr(34),""")
sTemp=Replace(sTemp,Chr(10),"<br>")
SafeCheck=Left(sTemp,CheckLength)
case5
sTemp=CheckString
IfIsNull(sTemp)=TrueThen
SafeCheck=ErrorRoot&"00006"
ExitFunction
EndIf
sTemp=Replace(sTemp,"&","&")
sTemp=Replace(sTemp,"<","<")
sTemp=Replace(sTemp,">",">")
sTemp=Replace(sTemp,""",Chr(34))
sTemp=Replace(sTemp,"<br>",Chr(10))
SafeCheck=Left(sTemp,CheckLength)
case6
s_BadStr=" &?%,;:()`~!@#$^*{}[]|+-="&Chr(34)&Chr(9)&Chr(32)
n=Len(s_BadStr)
IsSafeStr=True
Fori=1Ton
IfInstr(CheckString,Mid(s_BadStr,i,1))>0Then
IsSafeStr=False
EndIf
Next
ifIsSafeStrthen
SafeCheck=left(CheckString,CheckLength)
else
SafeCheck=ErrorRoot&"00007"
ExitFunction
endif
case7
s_Filter="netuser|xp_cmdshell|/add|select|count|asc|char|mid||""|"
S_Filter=S_Filter&"insert|delete|drop|truncate|from|%|declare|-"
S_Filters=split(S_Filter,"|")
isFound=false
fori=0toubound(S_Filters)-1
ifInstr(lcase(CheckString),lcase(S_Filters(i)))0then
isFound=true
exitfor
endif
next
ifisFoundthen
SafeCheck=ErrorRoot&"00008"
ExitFunction
else
SafeCheck=left(CheckString,CheckLength)
endif
endselect
endfunction


</p>ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。
因胸联盟 该用户已被删除
沙发
发表于 2015-1-19 23:53:47 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-26 08:05:31 来自手机 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-4 13:37:47 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
再见西城 该用户已被删除
5#
发表于 2015-2-10 00:14:41 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
再现理想 该用户已被删除
6#
发表于 2015-2-28 10:15:08 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
精灵巫婆 该用户已被删除
7#
发表于 2015-3-17 02:10:14 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
深爱那片海 该用户已被删除
8#
发表于 2015-3-23 16:07:20 | 只看该作者
掌握asp的特性而且一定要知道为什么。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 23:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表