多网站用的是虚拟主机 服务商不一定提供伪静态功能. . . 但大部分服务商都提供404错误转向. 利用404错误 可以实现 伪静态功能. 下面说下原理 比如网站首页 http://www.xiang6963.cn/index.asp 上面的信息 地址都为 http://www.xiang6963.cn/Class/Show.asp?ID=27870 写程序时候只要故意把 http://www.xiang6963.cn/Class/Show.asp?ID=27870 写成 http://www.xiang6963.cn/show/27870.html 其实并不存在 http://www.xiang6963.cn/show/27870.html这个页面. 用户要点击这个超连接的话, 就会自 动调用404错误页面 只要报404错误页面定义为asp页面就可以了. 其中加入获得 Show.asp?ID=27870 页面的Id 27870 然后利用小偷程序 获取改页面的内容 显示在 http://www.xiang6963.cn/show/27870.html 页面上. 其中最加了 截取 带有/show/和.html的页面 如果不少就转倒正常的err.html错误页面 测试地址 http://www.xiang6963.cn/show/27870.htmlhttp://www.xiang6963.cn/Class/Show.asp?ID=27870 两个页面是一样的. 下面是 404错误页面的代码 <% Dim webUrl,start,over,reurl,Url,Html weburl=GetUrl() start= instr(weburl, "/show/") over =instr(weburl,".html") if start<>0 and over<>0 then reurl = mid(weburl,start+6,over-7) reurl = replace(reurl,".html=","") else reurl="" end if if reurl<>"" then url="http://www.*****.com/Class/Show.asp?ID="&reurl else url="http://www.*****.com/err.html" end if Html = getHTTPPage(Url) Response.write Html '常用函数 '1、输入url目标网页地址, 返回值getHTTPPage是目标网页的html代码 function getHTTPPage(url) dim Http set Http=server.createobject("MSXML2.XMLHTTP") Http.open "GET",url,false Http.send() if Http.readystate<>4 then exit function end if getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312") set http=nothing if err.number<>0 then err.Clear end function '2、转换乱玛, 直接用xmlhttp调用有中文字符的网页得到的将是乱玛, 可以通过adodb.stream组件进行 转换 Function BytesToBstr(body,Cset) dim objstream set objstream = Server.CreateObject("adodb.stream") objstream.Type = 1 objstream.Mode =3 objstream.Open objstream.Write body objstream.Position = 0 objstream.Type = 2 objstream.Charset = Cset BytesToBstr = objstream.ReadText objstream.Close set objstream = nothing End Function
Dim ScriptAddress, M_ItemUrl, M_item
Function GetUrl() ScriptAddress = CStr(Request.ServerVariables("SCRIPT_NAME")) '取得当前地址 M_ItemUrl = "" If (Request.QueryString <> "") Then ScriptAddress = ScriptAddress & "?" For Each M_item In Request.QueryString If InStr(page,M_Item)=0 Then M_ItemUrl = M_ItemUrl & M_Item &"="& Server.URLEncode(Request.QueryString (""&M_Item&"")) End If Next end if GetUrl = ScriptAddress & M_ItemUrl End Function %>