详解将ASP页面改为伪静态的简单方法_ASP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:解析有关eWebEditor网页编辑器的漏洞
首先介绍编辑器的一些默认特征: 默认登陆admin_login.asp 默认数据库db/ewebeditor.mdb 默认帐号admin密码admin或admin888 在baidu/google搜索inurl:ewebeditor 几万的站起码有几千个是具有默认特征的,那么试一下默认后台 http://www.xxx.com.cn/admin/eweb

    目前很多网站都采用生成静态页的方法,原因是这样访问速度会得到提高(服务器端CPU利用率很低),另外也容易被搜索引擎收录,但是这带来的一个问题就是需要足够大的空间存放这些静态页面,如果你的空间不是很富裕,而又想有利于被搜索引擎收录,其实可以采用伪静态的方法。如showarticle.asp?id1=1&id2=2的路径可以转换为showarticle/?1-2.htm(当然可以转换为其他形式),具体方法如下:

    准备工作:建立文件index.asp、文件夹showarticle、在文件夹showarticle中建立文件index.asp(/index.asp、/showarticle、/showarticle/index.asp)。

<html>
<head>
<title>======index.asp======显示文章列表文件</title>
</head>
<body>
<%
'数据库调用代码,此处省略
%>
<li><a href="showarticle/?<%=rs("id1")%>-<%=rs("id2")%>.htm"><%=rs("title")%></a></li>
</body>
</html>

 

<html>
<head>
<title>======showarticle/index.asp======显示文章内容文件</title>
</head>
<body>
<%
Dim value1,value2,id1,id2
value1=replace(Request.ServerVariables("QUERY_STRING"),".htm","")  '获得?后面的参数
value2=split(value1,"-")           '对参数进行过滤,从而获得id1和id2的值
id1=value2(0)
id2=value2(1)
'接下来调用数据库,并显示内容,跟动态ASP一样
%>
</body>
</html>


    原理分析:首先利用Request.ServerVariables("QUERY_STRING")取得?后的参数,比如showarticle/?1-2.htm接收的就是1-2.htm,然后再对1-2.htm进行过滤,我们需要得到的参数是12,接下来再到数据库中去检索1和2,就跟动态ASP一样。

 

分享:解读ASP程序中通用防SQL注入攻击代码
SQL注入一般的http请求不外乎get和post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中非法字符,就可以防SQL注入攻击。 IIS传递给asp.dll的get请求是以字符串的形式,当传递给Request.QueryString数据后,asp解析器会分析Request.QueryString

来源:模板无忧//所属分类:ASP教程/更新时间:2010-04-25
相关ASP教程