马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧- <%iftrim(request.form("url"))""thendimVBody:VBody=GetResStr(trim(request.form("url")))dimRes:Res=VBodydimcode:code=GetCode(VBody,"charset={0,}([^]+){0,}""")endif%><html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>抓取页面</title></head><bodystyle="font-size:12px;margin:50px0020px;"><formname="geturl"action="ss.asp"method="post">请输出%20name="type=textvalue="<%=trim(request.form("P>><<input>url?))%>?size="60"url?></form>页面编码:<%=code%><br/><textareacols=150rows=30><%=Res%></textarea></body></html><%functionGetResStr(URL)dimResBody,ResStr,PageCodeSetHttp=server.createobject("msxml2.serverxmlhttp.3.0")Http.setTimeouts10000,10000,10000,10000Http.open"GET",URL,FalseHttp.Send()IfHttp.Readystate=4ThenIfHttp.status=200ThenResStr=http.responseTextResBody=http.responseBodyPageCode=replace(GetCode(ResStr,"charset=([^""].*)"""),chr(13)&chr(10),"")GetResStr=BytesToBstr(http.responseBody,trim(PageCode))EndIfEndIfEndFunction函数名:BytesToBstr感化:转换二进制数据为字符参数:Body-二进制数据,Cset-文本编码体例FunctionBytesToBstr(Body,Cset)DimObjstreamSetObjstream=Server.CreateObject("adodb.stream")objstream.Type=1objstream.Mode=3objstream.Openobjstream.Writebodyobjstream.Position=0objstream.Type=2objstream.Charset=CsetBytesToBstr=objstream.ReadTextobjstream.Closesetobjstream=nothingEndFunction函数名:GetCode感化:转换二进制为字符参数:str-待查询字符串,regstr-正则表达式FunctionGetCode(str,regstr)DimRegsetReg=newRegExpReg.IgnoreCase=TrueReg.MultiLine=TrueReg.Pattern=regstrSetCols=Reg.Execute(str)str=Cols(0).SubMatches(0)GetCode=strendfunction%>
复制代码 本文链接http://www.cxybl.com/html/wlbc/Asp/20120613/29966.htmlASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。 |