比如查看一篇文章,如果没登录就跳到login.asp进行登录,登录成功后再自动跳到刚才的那篇文章。
虽然是个很简单的功能,很多论坛上也有此功能,但要保证参数正确的传送需要注意几点。
文章页面:
if 没有权限 then
'作必要处理,如释放对象
url = "http://" & _
request.ServerVariables("HTTP_HOST") & _
request.ServerVariables("URL") & _
"?" & _
request.ServerVariables("QUERY_STRING")
'除非你确信传递的参数不需要编码,否则都应该调用URLEncode函数
response.Redirect("login.asp?url=" & server.URLEncode(url))
end if
登录页面:
url = request.QueryString("url")
<form action="login_process.asp" method="post">
文本框中使用HTMLEncode函数
<input type="hidden" name="url" value="<%=server.HTMLEncode(url)%>">
...
</form>
<a href="chngPasswd.asp?url=<%=server.URLEncode(url)%>">修改密码</a>