做了一个防止二次打开WEB页面的例子,有源码,请大家进来测试一下,看是否有漏洞(详情见内)...
我做了三个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();
}
请帮忙试一下,提供建议者有分...