当前位置:首页 > 互联网 > 正文内容

原创之:asp的伪静态写作大法【目录式、伪文件后缀等等】

cmc17年前 (2008-06-26)互联网1087

一:url中还带有?的方式

源地址:http://localhost/news.asp?id=25
现地址:http://localhost/news/?25
    http://localhost/news/?view25.html (其中?view25.html可以任意以包含25的方式伪造,甚至是php、aspx等)
方法:在news下建立一个index.asp的文件,开头书写这样的代码:

 程序代码
<%
dim MyUrl,ID1,ID
MyUrl=Request.ServerVariables("QUERY_STRING")
ID1=replace(myurl,".html","")
If  Instr(ID1,"-")>0  Then 这里是我自己用来获取多参数的,如 http://localhost/news.asp?id=25&cat=2  
    id2=Split(ID1,"-")   经转换可以用数组形式来取得,-只是一个标示符,可以为你愿意的字符,如&或者单词。
    ID=id2(0)
    cat=id2(1)         已经获取了正常的cat参数了
Else  
    ID=ID1  
End If
%>

下面就可以用获取的id,cat来查询数据库输出内容了。
这个方法生成的页面连接带有?

二:url不带?,但是使用了404错误的思路
正常地址:http://localhost/news.asp?id=25
构造地址:http://localhost/25.html (后缀名也可以自定义,php、aspx、asp)

做法:
定义系统的404错误页面跳转到你的程序执行页面,该文件可以任意命名,如我这里假定为:ReDirect.asp
开头代码如下:

 程序代码
<%
Domain=Request.ServerVariables("HTTP_HOST")
URL=Replace(Request.ServerVariables("QUERY_STRING"),"404;http://"&Domain,"")
Id=Replace(CurrURL,".html","")
Id=Replace(Id,"/","")
%>

这里就可以使用id来查询数据库了。

原理:当你访问这个不存在的页面的时候,系统会自动重定向到ReDirect.asp页面,之后你可以使用asp代码来获取当前的Request.ServerVariables("QUERY_STRING")

 程序代码
<%response.write Request.ServerVariables("QUERY_STRING")%>

可见是:404;http://localhost/25.html
哪么可以替换掉无用的信息,获取我们的参数25,再送进数据库就可以正常查询了,而且连接地址是不会再次跳转的,地址栏仍然是http://localhost/25.html,当然,这是稍微有些影响效率的,不过对于计算机来说,也不算什么大不了的。现在很多的虚拟主机都支持自定义错误连接的。

三:目录式伪静态
正常地址:http://localhost/news.asp?id=25
构造地址:http://localhost/news/25
我们经常见到QQ可见一类的地址都是http://qzone.qq.com/1234565/一类的。目录式的地址,其实利用我刚才讲到的第二个方法,我们可以轻易的做到这一点。
现在开工:
我们把http://www.koodai.com.cn/article.asp?id=25伪装成http://www.koodai.com.cn/article/25 或者 http://www.koodai.com.cn/25 (当然你可以看到只是多了两个替换操作而已:-) )
还是如第二步一样做,先建立一个404错误页面,当然代码要稍微修改了:

 程序代码
<%
Domain=Request.ServerVariables("HTTP_HOST")
ID=Replace(Request.ServerVariables("QUERY_STRING"),"404;http://"&Domain&"/news/","")
%>

我直接写好了,看看!我这里测试通过。
当然如果你又有news又有product,呵呵也就是数据库中信息的类别不同时候,不知道该怎么办?不是吧兄弟,你不会用
<% If Instr(Request.ServerVariables("QUERY_STRING"),"xxx")>0 Then %>来判断吗!?很简单的,你又有了跳转的思路了。
当然了,不得不说的是可能css样式表会有问题,建议你直接使用:

 程序代码
<LINK href="http://<%=SITE_URL%>/css/style.css" rel=Stylesheet type=text/css>

这里的SITE_URL你可以直接写在Conn.asp一类常用的文件中去嘛!
当然图片地址也可以这样做啊!你真聪明~^_^

最后,不得不提的是安全性检查,请在把获取到的参数放进数据库之前,务必做好防sql注射处理哦~

 程序代码
<%
if IsNumeric(Id)=False then
response.write("<script>alert("&Id&"是有问题的参数!);location.href=""http://www.koodai.com.cn"";</script>")
response.end
end if
%>

当然这只是一个简单的检查,不过也很是实用,可以自己写函数检验,这里就不啰嗦了
其实呢在其他场合我们都是使用服务器做转向的,而在这里我们只是利用了404错误跳转来完成工作,也就是由这个过程来充当中间件。
本文系博主原创,转载须说明出处哦~

扫描二维码推送至手机访问。

版权声明:本文由陈茂春的博客发布,如需转载请注明出处。

本文链接:https://www.0817cmc.com/post/572.html

分享给朋友:

相关文章

当本科生比蝗虫多 文凭到底还值多少钱?

文化程度决定着一个民族的文化素质,决定着一个人的文化层次和文化涵养,文化程度的凭证就是文凭,文凭应该真实的反映一个人的文化程度和受教育的程度。  曾经有个时期,中国泛起了文凭热潮,男女老少、各阶层、各行业的人们为了取得后续学历的文凭,奋力拼...

祝大家新年快乐

日:给你温暖;月:给你温馨;星:给你浪漫;风:给你清爽;雨:给你滋润;雪:给你完美;霜,给你无暇;冰,给你晶莹;我:给你祝福;送一份美丽让你欢笑,送一份祝福让你骄傲,送一份开心让你不老,送一份梦想让你逍遥,送一份真情不要回报,再送你平安才算...

一个离开某大型门户网站人员自爆黑幕

去年,我已在星星发表了一个关于免费发短信的各类软件的黑幕所在。而事实上的SMS(即短信)的黑幕远不止于此,今天,我终于有空坐下来,把其中的一些让你感觉平常却实际触目惊心的事情告诉你们,让你们知道SMS为什么是抢钱的最佳方式! 数据:2004...

八岁女童墓志铭:我来过,我很乖

八岁女童墓志铭:我来过,我很乖

无奈的父亲   有一个美丽的小女孩,她的名字叫做佘艳,她有一双亮晶晶的大眼睛,她有一颗透亮的童心。她是一个孤儿,她在这个世界上只活了8年,她留在这个世界上最后的话是“我来过我很乖”。她希望死在秋天,纤瘦的身体就像一朵花自然开谢的过程。在遍地...

反击捆绑:四款插件卸载软件横向评测

反击捆绑:四款插件卸载软件横向评测

流氓软件为祸网络,已经是一件不争的事实,它们通过与软件的捆绑、与网站页面的捆绑(包括著名的门户和下载站点)来达到强行安装到用户电脑的目的,虽然大部分软件还是有其用处的,不过有小部分软件除了强行安装外还会对你的操作系统造成不稳定因素,甚至暗藏...

WindowsXP 64是微软最失败的系统?

WindowsXP 64是微软最失败的系统?

Windows Vista的曙光已经开始照耀我们的脸颊,我们都知道,从Vista发布那一天起,64位架构过渡将真正拉开序幕,大步前进--将Windows XP 64远远落在身后。  记得笔者去年升级系统的时候,笔者决定将操作系统一同升级到W...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。