<html xmlns="[Link]
org/1999/xhtml">
<head>
<META http-equiv=Content-Type content="text/html; charset=utf-8" />
<META http-equiv=Pragma content=no-cache>
<META http-equiv=Expires content=0>
<!--
<link rel="stylesheet" href="../css/[Link]" type="text/css" />
<link rel="stylesheet" href="../img/login/[Link]" type="text/css" />
-->
<link rel="Shortcut Icon" href="../img/login/[Link]" type="image/jpeg" />
<style type="text/css">
body{
font-family:Arial, sans-serief;
background-color:#FFFFFF;
margin:0px;
padding:0px;
[Link]
display: block;
position:relative;
margin-top:10%;
text-align:center;
.noteDiv{
color:gray;
font-family:Arial;
width:395px;
text-align:left;
margin:0px auto;
font-size:14px;
#note{
/*display:inline-block;*/
vertical-align:top;
_display:inline;
_zoom:1;
width:50px;
font-weight:bold;
#tip{
display:inline-block;
vertical-align:top;
_display:inline;
_zoom:1;
width:340px;
font-weight:bold;
[Link]{
margin-top:10px;
[Link]{
width:497px;
height:276px;
/*background:url(../login/[Link]);*/
position:relative;
}
[Link]{
width:300px;
height:50px;
line-height:50px;
padding-left:20px;
[Link]{
position:relative;
margin-top:20px;
[Link]{
width:100%;
#copyright{
-webkit-text-size-adjust:none;
font-size:8px;
color:#6a6969;
font-family:"Verdana";
font-weight:normal;
margin-top:40px;
display:inline-block;
.topLogo{
background-color: #4ACBD6;
height:96px;
overflow: hidden;
tr{
vertical-align: top;
.topLogo td a img{
margin:27px 0 0 25px;
.topLogo [Link]-td img{
float: right;
margin-right: 14px;
opacity: 0.3;
filter:alpha(opacity=30);
ul{
padding: 71px 0px 0px 0px;
margin:0px;
list-style:none;
ul li{
height:32px;
width:250px;
text-align: left;
[Link]{
/*background:url(../login/[Link]);*/
background:url(../img/login/[Link]);
[Link]{
border: 1px solid #cbcbcb;
border-radius: 3px;
}
.[Link] {
border-color: #4ACBD6;
[Link]{
height:8px;
[Link]{
border:0px;
height:32px;
line-height:32px;
width:175px;
padding:0px;
/*margin-left: 39px;*/
font-size:14px;
color:#A7A9AC;
font-family:"Arial","Verdana";
font-weight:normal;
background-color: transparent;
vertical-align: top;
[Link]:focus{
outline: none;
[Link]{
height:32px;
display:inline-block;
width:250px;
margin-top: 25px;
line-height: 32px;
color: #FFFFFF;
font-size:18px;
font-family: Arial;
background-color: #4acbd6;
border-radius: 3px;
cursor:pointer;
.[Link] {
background-color: #cbcbcb;
cursor: default;
li img{
vertical-align: bottom;
line-height: 40px;
margin: -1px 6px 9px 9px;
#pwLi img {
margin-top: 9px;
iframe#top{
width:100%;
height:96px;
border: none;
display: block;
}
html{
overflow: hidden;
table,tr,td{
padding: 0;
td {
font-family:"Times New Roman", "ËÎÌå";
font-size: 12px;
form {
font-family:"Times New Roman", "ËÎÌå";
font-size: 12px;
/*
body {
font-family:"Arial Black", "ºÚÌå";
font-size: 16px;
background: #4ACBD6
*/
.style1 {
font-family:Arial;
color: #FFFFFF;
font-size: 18px;
padding-right: 50;
text-align: left;
font-weight: bold;
white-space: nowrap;
.style2 {
font-size: 14px;
font-family:Arial;
font-weight: bold;
padding-right: 50;
text-align: left;
white-space: nowrap;
color: #FFFFFF;
tr{
vertical-align: top;
#first-td{
width:234px;
#first-td img {
margin:27px 0 0 25px;
cursor: pointer;
#second-td {
padding-top: 25px;
#third-td img {
float:right;
opacity: 0.3;
filter\0: alpha(opacity=30);
margin-right: 14px;
input[type="text"]::-ms-clear,
input[type='password']::-ms-reveal{
display:none;
.nd {
display: none !important;
.change-pwd-title {
text-align: center;
font-size: 23px;
color: #36444b;
.change-pwd-p {
color: #a7a8ac;
text-align: center;
font-size: 16px;
margin-top: 12px;
.pwd-tip {
height: auto;
padding-left: 60px;
margin-bottom: 2px;
font-size: 14px;
color: #999;
}
.pwd-tip .icon {
margin-left: -28px;
margin-right: 4px;
display: inline-block;
width: 24px;
height: 24px;
background-image: url("../img/login/[Link]");
background-position: -26px -2px;
vertical-align: middle;
.[Link] .icon {
background-position: -51px -2px;
.[Link] .icon {
background-position: 0 -2px;
.eye-icon {
display: inline-block;
width: 20px;
height: 20px;
margin-top: 7px;
margin-left: 15px;
cursor: pointer;
background: url("../img/login/[Link]");
.[Link] {
background: url("../img/login/[Link]");
.fl {
float: left;
</style>
<!--[if lte IE 8]>
<style>
.eye-icon {
display: none;
</style>
<![endif]-->
<script src="../js/oid_str.js" type="text/javascript"></script>
<script src="../js/[Link]" type="text/javascript"></script>
<script src="../js/[Link]" type="text/javascript"></script>
<script src="../js/[Link]" type="text/javascript"></script>
<script src="../js/[Link]" type="text/javascript"></script>
<script src="../js/[Link]" type="text/javascript"></script>
<script src="../js/[Link]" type="text/javascript"></script>
<script src="../js/[Link]" type="text/javascript"></script>
<script src="../js/[Link]" type="text/javascript"></script>
<script type="text/javascript">
$.curPage="[Link]";
var lang = "en_US";
if($.country)
//[Link]("lang = $.country: ", $.country);
lang = $.country;
var url = [Link];
if ([Link]("[Link]") >= 0)
url = [Link]("[Link]", "[Link]");
[Link] = url;
var isLocked = false;
deleteCookie("Authorization");
if ([Link] != window)
var refresh = function(domain, port, frame, page) {
if ($.local) [Link](true);
else {
var ret = [Link](/(https?):\/\/([^:\/]+)(:\
d+)?\/?([^?]*)/);
[Link] = ret[1] + "://" + (domain ? domain : ret[2])
+ (port ? ":" + port : (ret[3] ? ret[3] : "")) + "/" + (frame ? frame : (ret[4] ? ret[4] : "")) + (page ? "#__" +
[Link](/\w+\.htm$/) : "");
refresh();
function Base64Encoding(input)
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var output = "";
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;
input = utf8_encode(input);
while (i < [Link])
chr1 = [Link](i++);
chr2 = [Link](i++);
chr3 = [Link](i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2))
enc3 = enc4 = 64;
else if (isNaN(chr3))
enc4 = 64;
output = output + [Link](enc1) + [Link](enc2) + [Link](enc3) +
[Link](enc4);
return output;
function utf8_encode (string)
{
string = [Link](/\r\n/g,"\n");
var utftext = "";
for (var n = 0; n < [Link]; n++)
var c = [Link](n);
if (c < 128)
utftext += [Link](c);
else if((c > 127) && (c < 2048))
utftext += [Link]((c >> 6) | 192);
utftext += [Link]((c & 63) | 128);
else
utftext += [Link]((c >> 12) | 224);
utftext += [Link](((c >> 6) & 63) | 128);
utftext += [Link]((c & 63) | 128);
return utftext;
function onFocusPwd(event) {
$.removeClass($.id("pwd-tips"), "nd");
for (var i = 0, len = [Link]; i < len; i++) {
var tip = tipArr[i];
$.removeClass(tip, "nd");
$.removeClass(tip, "error");
$.addClass(([Link] || [Link]).parentNode, "focus");
onKeyUpPwd(event);
function onKeyUpPwd(event) {
var value = ([Link] || [Link]).value,
spaceTip = tipArr[0],
lengthTip = tipArr[1],
charTip = tipArr[2];
checkSpace(value) ? $.addClass(spaceTip, "active") : $.removeClass(spaceTip, "active");
checkLength(value) ? $.addClass(lengthTip, "active") : $.removeClass(lengthTip, "active");
checkChar(value) ? $.addClass(charTip, "active") : $.removeClass(charTip, "active");
function onBlurPwd(event) {
var tips = tipArr;
var showBtn = true;
var btn = $.id("createBtn")
$.removeClass(([Link] || [Link]).parentNode, "focus");
for (var i = 0, len = [Link]; i < len; i++) {
var tip = tips[i];
if($.hasClass(tip, "active")) {
$.addClass(tip, "nd");
} else {
showBtn = false;
$.addClass(tip, "error");
showBtn ? $.removeClass(btn, "disabled") : $.addClass(btn, "disabled");
function checkSpace(value) {
var re = /[^\x00-\x19\x21-\xff]/;
if ([Link](value)) return false;
return true;
function checkLength(value) {
if ([Link] > 5 && [Link] < 33) return true;
return false;
function checkChar(value) {
var patternNum = /[0-9]/g;
var patternLetter = /[A-Za-z]/g;
var patternSign = /[\`\~\!\@\#\$\%\^\&\*\(\)\-\=\_\+\[\]\{\}\;\:\'\"\\\|\/\?\.\,\<\>\x20]/g;
var level = 0;
if ([Link](value)) level++;
if ([Link](value)) level++;
if ([Link](value)) level++;
return level > 1;
function PCWin(event)
if ([Link] == 13) {
if (INCLUDE_FORBIDDEN_OLD_PWD) {
if (isFirstLogin === "1") {
createPwd();
} else {
PCSubWin();
} else {
PCSubWin();
function PCSubWin()
if (isLocked == true)
return ;
var auth;
var password = $.id("pcPassword").value;
var userName;
if (INCLUDE_FORBIDDEN_OLD_PWD) {
userName = "admin";
} else {
userName = $.id("userName").value;
doLogin(userName, password);
function doLogin(userName, password) {
if(INCLUDE_LOGIN_GDPR_ENCRYPT)
$.act(ACT_CGI, "/cgi/getParm");
$.exe(null,false,0);
$.nn = nn;
$.ee = ee;
$.seq = seq;
$.[Link]($.seq);
$.[Link]($.nn, $.ee);
$.[Link](userName, password);
$.[Link]();
var tmpcount = {};
[Link]=userName;
[Link]=password;
$.act(ACT_CGI, "/cgi/login", null, null, tmpcount);
$.[Link]();
if(!$.exe(null, false, 1))
[Link]();
function createPwd() {
if (isFirstLogin === "0" || $.hasClass($.id("createBtn"), "disabled")) {
return;
var re = /[^\x00-\x19\x21-\xff]/;
var password = $.id("change-pcPassword").value;
var confirmPassword = $.id("confirm-pcPassword").value;
var userName = "admin";
if ([Link](password)) {
$.alert(ERR_USER_PWD_HAS_SPACE);
return false;
if (password === "") {
$.alert(ERR_USER_PWD_EMPTY);
return false;
if ($.asc(password, true)) {
$.alert(ERR_USER_PWD_ASCII);
return false;
}
if ([Link] > 32) {
alert(localString[lang].CHANGE_PWD_TITLE);
return false;
if (password !== confirmPassword) {
$.alert(ERR_USER_NAME_PWD_CONFLICT);
return false;
$.act(ACT_CGI, "/cgi/auth", null, null, {
name: userName,
oldPwd: "admin",
pwd: password
});
if (!$.exe(null, null, 0)) {
doLogin(userName, password);
function deleteCookie(name)
var LargeExpDate = new Date ();
[Link] = name + "=; expires=" +[Link]();
/*
function $(id)
return [Link](id);
}
*/
function lockWeb(bLock) {
$.id("pcPassword").disabled = bLock;
$.id("pcPassword").blur();
if (!INCLUDE_FORBIDDEN_OLD_PWD) {
$.id("userName").disabled = bLock;
$.id("userName").blur();
function resize()
bodyObj = [Link];
[Link]["width"] = ([Link] < 1000 ? 1000 :
[Link]) + "px";
function pageLoad()
resize();
[Link] = resize;
var tip = $.id("tip"), tipStr="", note = $.id("note");
var unLi = $.id("unLi");
var pwLi = $.id("pwLi");
var pcPassword = $.id("pcPassword");
if (!INCLUDE_FORBIDDEN_OLD_PWD) {
var userName = $.id("userName");
}
deleteCookie("Authorization");
/*
[Link] = function()
[Link] = "url(../img/login/[Link])";
};
[Link] = function()
[Link] = "url(../img/login/[Link])";
};
[Link] = function()
[Link] = "url(../img/login/[Link])";
};
[Link] = function()
[Link] = "url(../img/login/[Link])";
};
*/
try {
if (localString)
$.id("mnum").innerHTML = localString[lang].MODEL_NO + modelName;
else
{
$.id("mnum").innerHTML = "Model No. " + modelName;
if(modelDesc)
$.id("mname").innerHTML = modelDesc;
}catch(e) {}
if (forbidAdminLogin == 1)
if (localString)
$.id("note").innerHTML = localString[lang].NOTE;
$.id("tip").innerHTML = localString[lang].TIP_CONFLICT;
else
$.id("note").innerHTML = "NOTE:";
$.id("tip").innerHTML = "The router allows only one administrator to login at the
same time, please try again later.";
forbidAdminLogin = 0;
authTimes = 0;
if (INCLUDE_FORBIDDEN_OLD_PWD) {
[Link]();
[Link]();
}
else{
[Link]();
[Link]();
lockWeb(true);
return;
if (authTimes > 0)
if (localString)
$.id("note").innerHTML = localString[lang].NOTE;
$.id("tip").innerHTML = localString[lang].TIP_ERROR;
else{
$.id("note").innerHTML = "NOTE:";
$.id("tip").innerHTML = "The username or password is incorrect, please try
again.";
if (authTimes >= 10)
isLocked = true;
lockWeb(true);
count = 7200 - forbidTime;
if (localString)
{
$.id("note").innerHTML = localString[lang].NOTE;
tipStr = localString[lang].TIP_EXCE1;
$.id("tip").innerHTML = tipStr + count + localString[lang].TIP_EXCE2;;
else
$.id("note").innerHTML = "NOTE:";
tipStr = "You have exceeded ten attempts. Please try again in ";
$.id("tip").innerHTML = tipStr + count + "s.";
[Link](function()
if (count < 1)
$.id("note").innerHTML = "";
$.id("tip").innerHTML = "";
isLocked = false;
lockWeb(false);
if (INCLUDE_FORBIDDEN_OLD_PWD) {
[Link]();
} else {
[Link]();
deleteCookie("Authorization");
[Link]();
return ;
count--;
if (localString)
$.id("tip").innerHTML = tipStr + count + localString[lang].TIP_EXCE2;
else{
$.id("tip").innerHTML = tipStr + count + "s.";
[Link]([Link], 1000);
}, 1000);
} else {
[Link]();
if (INCLUDE_FORBIDDEN_OLD_PWD) {
[Link]();
[Link]();
else{
[Link]();
[Link]();
function toggleEye (event) {
var eyeIcon = [Link] || [Link];
var ele = [Link];
var type = [Link]("type");
if (type === "text") {
[Link]("type", "password");
$.removeClass(eyeIcon, "show");
} else {
[Link]("type", "text");
$.addClass(eyeIcon, "show");
</script>
</head>
<body onkeypress="PCWin(event)" onload="pageLoad()">
<!--
<div class="nd" style="height: 0; background: url(../img/login/[Link]);"></div>
-->
<div class="topLogo">
<span class="preload nd eye-icon show"></span>
<!--
<a href="[Link] id="logo" src="../img/login/top1_1.jpg" style="float:
left;" border="0" /></a>
<div id="mod" style="height: 87px; margin: 0; text-align: right; overflow: hidden; background:
url(../img/login/top1_2.jpg) no-repeat right;" >
<p id="mname" style="font-size: 16px; font-weight: bold; color: #fff; margin: 37px 24px 0 0;
padding: 0;"></p>
<p id="mnum" style="font-size: 12px; font-weight: bold; color: #fff; margin: 2px 24px 0 0;
padding: 0;"></p>
</div>
<img id="bhr" src="../img/login/[Link]" style="height: 3px; width: 100%; display: block;" />
-->
<table cellspacing=0 width="100%">
<tr>
<td>
<table border="0" cellspacing="0" width="100%">
<tr>
<td id="first-td">
<a OnClick="return NewW();" onMouseOver="return ShowUrl();" onMouseOut="return
EraseUrl();">
<img src="../img/login/[Link]">
</a>
</td>
<td id="second-td">
<table>
<tr>
<td id="mname" class="style1"></td>
</tr>
<tr>
<td id="mnum" class="style2"></td>
</tr>
</table>
</td>
<td id="third-td">
<img src="../img/login/[Link]">
</td>
</tr>
</table>
</td>
</tr>
<!--<tr>-->
<!--<td>-->
<!--<IMG height=3 src="../images/[Link]" width="100%" align=top border=0>-->
<!--</td>-->
<!--</tr>-->
</table>
</div>
<div id="login-container" class="loginBox nd">
<div class="noteDiv">
<span id="note"></span>
<span id="tip"></span>
</div>
<div class="panelThre" align="center">
<div align="center" class="picDiv">
<ul>
<div id="login-username" class="nd">
<li id="unLi" class="unLi"><img src="../img/login/[Link]"><input
class="text" id="userName" type="text" maxlength="32" placeholder="Username"
autocomplete="off"/></li>
<li class="blank"></li>
</div>
<li id="pwLi" class="pwLi"><img
src="../img/login/[Link]"><input class="text" id="pcPassword" type="password"
maxlength="32" placeholder="Password" autocomplete="off"/></li>
</ul>
<!--<button id="loginBtn" class="loginBtn" onclick="PCSubWin()"></button>-->
<label id="loginBtn" class="loginBtn" onclick="PCSubWin()"/><span
id="loginBtnText">Login</span></label>
<!--
<div>
<label id="copyright">Copyright © 2016 TP-LINK Technologies Co.,
Ltd. All rights reserved. </label>
</div>
-->
</div>
</div>
</div>
<div id="change-pwd-container" class="loginBox nd">
<div class="panelThre" align="center">
<div align="center" class="picDiv">
<div id="change-pwd-title" class="change-pwd-title">Create Login
Password</div>
<div id="change-pwd-p" class="change-pwd-p">Enter 6-32 characters to
create login password. Strong password with
a mix of numbers, letters, and symbols is recommended.</div>
<ul class="pw-ul">
<li id="change-pwLi" class="pwLi" style="margin-bottom: 4px;">
<img src="../img/login/[Link]" class=""><input
class="text" id="change-pcPassword" onfocus="onFocusPwd(event)" onkeyup="onKeyUpPwd(event)"
onblur="onBlurPwd(event)" type="password" autocomplete="off" placeholder="Password" /><div
class="eye-icon" onclick="toggleEye(event)"></div>
</li>
<div id="pwd-tips" class="nd">
<li class="pwd-tip"><span class="icon"></span><span
id="pwd-tip-space">Must contain no space(s).</span></li>
<li class="pwd-tip"><span class="icon"></span><span
id="pwd-tip-long">Must be 6-32 characters long.</span></li>
<li class="pwd-tip"><span class="icon"></span><span
id="pwd-tip-char">Must contain at least two types of the following characters: letters, numbers and
symbols.</span></li>
</div>
<li class="blank"></li>
<li id="confirm-pwLi" class="pwLi">
<img src="../img/login/[Link]" class=""><input
class="text" id="confirm-pcPassword" type="password" autocomplete="off"
placeholder="Confirm Password" /><div
class="eye-icon" onclick="toggleEye(event)">
</li>
</ul>
<label id="createBtn" class="loginBtn disabled"
onclick="createPwd()"><span id="createBtnText">Create</span></label>
</div>
</div>
</div>
<iframe id="qrFrame" name=qrFrame marginWidth=0 marginHeight=0 frameBorder='0' src="../[Link]"
noResize scrolling=no frameSpacing=0 id="qrFrame"
style="position:absolute;bottom:0;width:100%;height:200px;">
</iframe>
</body>
<script type="text/javascript">
var changePwdCont = $.id("change-pwd-container");
var loginCont = $.id("login-container");
var isFirstLogin = "0";
var tipArr = [Link](".pwd-tip");
if (INCLUDE_FORBIDDEN_OLD_PWD) {
$.addClass($.id("login-username"), "nd");
var GmultiMode = $.act(ACT_GET, MULTIMODE, null, null);
if (!$.exe(null, null, 0)){
isFirstLogin = GmultiMode.webauth_first_login;
if (isFirstLogin === "1") {
$.removeClass(changePwdCont, "nd");
$.addClass(loginCont, "nd");
} else {
$.addClass(changePwdCont, "nd");
$.removeClass(loginCont, "nd");
} else {
$.addClass(changePwdCont, "nd");
$.removeClass(loginCont, "nd");
$.removeClass($.id("login-username"), "nd");
if (localString) {
if (!INCLUDE_FORBIDDEN_OLD_PWD) {
[Link]("userName").placeholder =
localString[lang].USERNAME;
[Link]("pcPassword").placeholder = localString[lang].PASSWORD;
[Link]("loginBtnText").innerHTML = localString[lang].LOGIN;
[Link]("change-pwd-title").innerHTML =
localString[lang].CHANGE_TITLE;
[Link]("change-pwd-p").innerHTML = localString[lang].CHANGE_P;
[Link]("change-pcPassword").placeholder =
localString[lang].PASSWORD;
[Link]("confirm-pcPassword").placeholder =
localString[lang].CONFIRM_PWD;
[Link]("createBtnText").innerHTML = localString[lang].CREATE;
[Link]("pwd-tip-space").innerHTML =
localString[lang].PWD_TIP_SPACE;
[Link]("pwd-tip-long").innerHTML =
localString[lang].PWD_TIP_LONG;
[Link]("pwd-tip-char").innerHTML =
localString[lang].PWD_TIP_CHAR;
function NewW() {
if (newWin) [Link]();
newWin = [Link](url, "",
"scrollbars=yes,resizable=yes,toolbar=yes,status=yes,menubar=yes,scrollbar=yes,location=yes");
return true;
function ShowUrl() {
status = url;
return true;
function EraseUrl() {
status = "";
return true;
if(INCLUDE_LOGIN_GDPR_ENCRYPT)
$.newencryptorManager = $.[Link];
$.[Link]();
$.Iencryptor = $.[Link]();
</script>
</html>
<script type="text/javascript"> var authTimes=7; var forbidTime=0; var modelName="TL-WA801N"; var
modelDesc="TP-Link Wireless N Access Point WA801N "; var forbidAdminLogin=0; var
forbidUserLogin=0; var usernameIsAdmin=1;</script>