做了一个防止二次打开WEB页面的例子,有源码,请大家进来测试一下,看是否有漏洞(详情见内)...

wang_cel 2003-12-10 10:56:38
我做了三个html页面,index,login,main
实现打开index时,关闭自身再打开login,在login上点按钮到main
要求login打开后,就不能用index再打开,同样main打开后,就不能用login上的按钮再打开

index代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>index</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<SCRIPT language="JavaScript" src="JScript1.js"></SCRIPT>
</head>
<body MS_POSITIONING="GridLayout" onload="FindWin2('login','main','login','login.htm')">
<FONT SIZE="12">index</FONT>
</body>
</html>

login代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>login</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<SCRIPT language="JavaScript" src="JScript1.js"></SCRIPT>
</head>
<body MS_POSITIONING="GridLayout">
<FONT SIZE="12">login</FONT> <INPUT id="Button1" style="Z-INDEX: 101; LEFT: 204px; WIDTH: 104px; POSITION: absolute; TOP: 180px; HEIGHT: 28px"
type="button" value="Go to main" onclick="FindWin3('main','main','main.htm')" name="Button1"><INPUT id="Button2" style="Z-INDEX: 102; LEFT: 344px; WIDTH: 104px; POSITION: absolute; TOP: 180px; HEIGHT: 28px"
type="button" onclick="CloseWindow()" value="Close" name="Button2"> <INPUT id="Text1" style="Z-INDEX: 103; LEFT: 272px; WIDTH: 140px; POSITION: absolute; TOP: 112px; HEIGHT: 28px"
type="text" size="18" name="Text1">
</body>
</html>


main代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>main</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<SCRIPT language="JavaScript" src="JScript1.js"></SCRIPT>
</head>
<body MS_POSITIONING="GridLayout">
<FONT SIZE="12">main</FONT><INPUT id="Button1" style="Z-INDEX: 101; LEFT: 268px; WIDTH: 152px; POSITION: absolute; TOP: 200px; HEIGHT: 32px"
type="button" onclick="CloseWindow()" value="Close" name="Button1"></FONT> <INPUT id="Text1" style="Z-INDEX: 102; LEFT: 268px; WIDTH: 128px; POSITION: absolute; TOP: 120px; HEIGHT: 28px"
type="text" size="16" name="Text1">
</body>
</html>

JScript1代码:
function FindWin(name)
{
var wo = window.open("",name,"left=100000,top=100000");
if(wo.location.href == "about:blank")
{
wo.close();
return null;
}
return wo;
}
function FindWin2(name,name1,name2,url)
{
wo = FindWin(name);
if (wo == null) {
wo = FindWin(name1);
if (wo == null) {
OpenWin(name2,url);
return null;
} else {
window.opener =null;
window.close();
wo.focus();
return wo;
}
} else {
window.opener =null;
window.close();
wo.focus();
return wo;
}
}


function FindWin3(name,name1,url)
{
wo = FindWin(name);
if (wo == null) {
OpenWin(name1,url);
return null;
} else {
window.opener =null;
window.close();
wo.focus();
return wo;
}
}

function OpenWin(name,url)
{
var wo = null;
var url = url;
var para = "alwaysRaised=yes,scrollbars=no,resizable=no,status=yes,toolbar=no,menubar=no,titlebar=no";

wo = window.open(url, name, para);
window.opener =null;
window.close();
}

function CloseWindow()
{
window.opener =null;
window.close();
}

请帮忙试一下,提供建议者有分...

...全文
39 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang_cel 2003-12-10
  • 打赏
  • 举报
回复
我是想试一下用脚本可不可以控制
  • 打赏
  • 举报
回复
可以用SESSION或COOKIE来保存当前用户所在位置吧,如已经加载了LOGIN,则SESSION为1,已经加载了MAIN,则为2,再在INDEX,LOGIN的开头判断SESSION值即可进行处理。
简单很多吧
wang_cel 2003-12-10
  • 打赏
  • 举报
回复
将三个HTML文件和一个JS文件放同一文件夹下即可

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧