有过网页开发或编写经验的人都知道,html格式的文件是作为静态出现的,不能直接接收其他页面直接传递过来的参数值,通常具有这样传递参数功能的无非是ASP,JSP以及PHP,其使用格式如下:
http://localhost/ceshi/test.asp?id=256
http://localhost:8080/ceshi/test.jsp?id=256
http://localhost/ceshi/test.php?id=256
等格式。但是时下,在浏览某些网站网页是发现出现了以下格式,比如:
http://localhost/ceshi/test.html?id=256这样的格式。难道昔日的html文件现在也“活跃起来了”不成?其实,不然。只不过是采用了有点象“偷梁换柱、瞒天过海”的方式实现罢了。现小作浅议:
在设置IIS自定义错误时,将“找不到所请求的文件或文件夹”的404自定义错误映射到自定义的asp文件上,然后将错误发生而捕获的字符串分离出来就可以实现了。
例如:建立一个虚拟目录redirect,然后其中放置一个test-request.asp文件,内容写上
<%
str=request.ServerVariables("QUERY_STRING")
str=split(strErrPage,"?")
str0=str(1)
response.write("捕获异常字符串经分离处理后为::"&str0)
%>
按照上面叙述的方法将404错误自定义编辑为:URL:/redirect/test-request.asp
然后在浏览器的地址栏中键入http://localhost/ceshi/test.html?id=521字样,即可看到输出预期测试目的字符穿
捕获异常字符串经分离处理后为:id=521
以上是一点浅见。
本文介绍了一种通过HTML页面间接接收参数的方法,利用IIS自定义错误处理机制,将原本静态的HTML页面伪装成可以接收参数的形式,实现了类似动态页面的功能。
2万+

被折叠的 条评论
为什么被折叠?



