日期:2014-05-16  浏览次数:21312 次

B.ASP窗口只在A.HTM下打开,
比如我服务器有两个文件1个A.ASP,1个B,ASP 浏览HTTP://192.168.0.1我的网站 就打开A窗口(INDEX.HTM)A窗口有一个按扭可以打开B.ASP,但是我想B.ASP窗口只在A窗口下打开,如果别人直接跳过A浏览B窗口HTTP://192.168.0.1/B.ASP,就做一个提示或者跳到另一个界面, 请问如何做到!
asp

------解决方案--------------------
在a.asp设一个session,比如session("flag")=1
然后在b.asp里面判断一下
if session("flag")<>1 then 
跳转到其它页面
end if

------解决方案--------------------
还有个方法,在b.asp上判断来路,如果来路不是a.asp,就跳转到其他页面。
------解决方案--------------------
a.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<input type="button" id="btn" name="btn" value="打开b" />
<iframe src="b.html"></iframe>
</body>
</html>



b.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>

</head>

<body>
b..sdsdsdsd

<script type="text/javascript">
  if(window.parent.document.getElementById("btn")==null){
   location.href='02.html';
 }
</script>
</body>
</html>



b页面判断一下父页面A按钮是否存在,如果不存在说明不是A页过来的,跳转
------解决方案--------------------
b.asp中增加来源页面检查,不过如果是采集的话判断来源也不安全,可以伪造的,只能按照1#的用session来验证

ref=request.ServerVariables("Http_Referer")

if instr(ref,"a.asp")=0 then
  response.Write "只能从a.asp中打开"
  response.End
end if

------解决方案--------------------
你可以运行B.asp网页时,做个判断
取得Ruquest.UrlReferrer的值
如果为空则说明是直接输入IP打开的
可以跳转到别的asp网页上
如果不为空,则说明你点击按钮跳转到B.asp