HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 24299
Set-Cookie: JSESSIONID=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/; HttpOnly
Connection: close
<!DOCTYPE html>
<html xmlns="http://www.w3.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/login.css" type="text/css" />
<link rel="stylesheet" href="../img/login/login.css" type="text/css" />
-->
<link rel="Shortcut Icon" href="../img/login/favicon.ico" type="image/jpeg" />
<style type="text/css">
body{
font-family:Arial, sans-serief;
background-color:#FFFFFF;
margin:0px;
padding:0px;
}
div.loginBox
{
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;
}
div.panelThre{
margin-top:10px;
}
div.picDiv{
width:497px;
height:276px;
/*background:url(../login/loginbg.png);*/
position:relative;
}
input.pcPassword{
width:300px;
height:50px;
line-height:50px;
padding-left:20px;
}
div.PCBtnDiv{
position:relative;
margin-top:20px;
}
img.logoPic{
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 td.last-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;
}
li.unLi{
border: 1px solid #cbcbcb;
border-radius: 3px;
}
.unLi.focus {
border-color: #4ACBD6;
}
li.pwLi{
border: 1px solid #cbcbcb;
border-radius: 3px;
}
.pwLi.focus {
border-color: #4ACBD6;
}
li.blank{
height:8px;
}
input.text{
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;
}
input.text:focus{
outline: none;
}
label.loginBtn{
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;
}
.loginBtn.disabled {
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/icons.png");
background-position: -26px -2px;
vertical-align: middle;
}
.pwd-tip.active .icon {
background-position: -51px -2px;
}
.pwd-tip.error .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/unview.png");
}
.eye-icon.show {
background: url("../img/login/view.png");
}
.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/str.js" type="text/javascript"></script>
<script src="../js/err.js" type="text/javascript"></script>
<script src="../js/language.js" type="text/javascript"></script>
<script src="../js/root.js" type="text/javascript"></script>
<script src="../js/cryptoJS.min.js" type="text/javascript"></script>
<script src="../js/encrypt.js" type="text/javascript"></script>
<script src="../js/tpEncrypt.js" type="text/javascript"></script>
<script src="../js/lib.js" type="text/javascript"></script>
<script type="text/javascript">
$.curPage="login.htm";
var lang = "en_US";
if($.country)
{
//console.log("lang = $.country: ", $.country);
lang = $.country;
}
var url = window.location.href;
if (url.indexOf("tplinklogin.net") >= 0)
{
url = url.replace("tplinklogin.net", "tplinkwifi.net");
window.location = url;
}
var isLocked = false;
deleteCookie("Authorization");
if (window.parent != window)
{
var refresh = function(domain, port, frame, page) {
if ($.local) location.reload(true);
else {
var ret = window.parent.location.href.match(/(https?):\/\/([^:\/]+)(:\d+)?\/?([^?]*)/);
window.parent.location.href = ret[1] + "://" + (domain ? domain : ret[2]) + (port ? ":" + port : (ret[3] ? ret[3] : "")) + "/" + (frame ? frame : (ret[4] ? ret[4] : "")) + (page ? "#__" + page.match(/\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 < input.length)
{
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(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 + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);
}
return output;
}
function utf8_encode (string)
{
string = string.replace(/\r\n/g,"\n");
var utftext = "";
for (var n = 0; n < string.length; n++)
{
var c = string.charCodeAt(n);
if (c < 128)
{
utftext += String.fromCharCode(c);
}
else if((c > 127) && (c < 2048))
{
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
}
else
{
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
}
function onFocusPwd(event) {
$.removeClass($.id("pwd-tips"), "nd");
for (var i = 0, len = tipArr.length; i < len; i++) {
var tip = tipArr[i];
$.removeClass(tip, "nd");
$.removeClass(tip, "error");
}
$.addClass((event.target || event.srcElement).parentNode, "focus");
onKeyUpPwd(event);
}
function onKeyUpPwd(event) {
var value = (event.target || event.srcElement).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((event.target || event.srcElement).parentNode, "focus");
for (var i = 0, len = tips.length; 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 (re.test(value)) return false;
return true;
}
function checkLength(value) {
if (value.length > 5 && value.length < 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 (patternNum.test(value)) level++;
if (patternLetter.test(value)) level++;
if (patternSign.test(value)) level++;
return level > 1;
}
function PCWin(event)
{
if (event.keyCode == 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;
$.Iencryptor.setSeq($.seq);
$.Iencryptor.setRSAKey($.nn, $.ee);
$.Iencryptor.setHash(userName, password);
$.Iencryptor.genAESKey();
var tmpcount = {};
tmpcount.username=userName;
tmpcount.password=password;
$.act(ACT_CGI, "/cgi/login", null, null, tmpcount);
$.newencryptorManager.recordEncryptor();
if(!$.exe(null, false, 1))
{
window.location.reload();
}
}
}
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 (re.test(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 (password.length > 32) {
alert(localString[lang].CHANGE_PWD_TITLE);
return false;
}
if (password !== confirmPassword) {
$.alert(ERR_USER_NAME_PWD_CONFLICT);
return false;
}
if(!checkSpace(password) || !checkLength(password) || !checkChar(password))
{
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 ();
document.cookie = name + "=; expires=" +LargeExpDate.toGMTString();
}
/*
function $(id)
{
return document.getElementById(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 = document.body;
bodyObj.style["width"] = (document.documentElement.clientWidth < 1000 ? 1000 : document.documentElement.clientWidth) + "px";
}
function pageLoad()
{
resize();
window.onresize = 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");
/*
pcPassword.onfocus = function()
{
pwLi.style.background = "url(../img/login/pwselect.png)";
};
pcPassword.onblur = function()
{
pwLi.style.background = "url(../img/login/pwunselect.png)";
};
userName.onfocus = function()
{
unLi.style.background = "url(../img/login/idselect.png)";
};
userName.onblur = function()
{
unLi.style.background = "url(../img/login/idunselect.png)";
};
*/
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) {
pcPassword.focus();
pcPassword.select();
}
else{
userName.focus();
userName.select();
}
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.";
}
window.setTimeout(function()
{
if (count < 1)
{
$.id("note").innerHTML = "";
$.id("tip").innerHTML = "";
isLocked = false;
lockWeb(false);
if (INCLUDE_FORBIDDEN_OLD_PWD) {
pcPassword.focus();
} else {
userName.focus();
}
deleteCookie("Authorization");
window.location.reload();
return ;
}
count--;
if (localString)
{
$.id("tip").innerHTML = tipStr + count + localString[lang].TIP_EXCE2;
}
else{
$.id("tip").innerHTML = tipStr + count + "s.";
}
window.setTimeout(arguments.callee, 1000);
}, 1000);
} else {
pcPassword.focus();
}
if (INCLUDE_FORBIDDEN_OLD_PWD) {
pcPassword.focus();
pcPassword.select();
{
"@category" : "datascan",
"@timestamp" : "2024-11-07T03:26:45.000Z",
"app" : {
"extract" : {
"domain" : [
"w3.org"
],
"hostname" : [
"www.w3.org"
],
"url" : [
"http://www.w3.org/1999/xhtml"
]
},
"http" : {
"bodymd5" : "1085f675b211b792542316cac3083bb6",
"bodymmh3" : -1554851136,
"component" : [
{
"productvendor" : "Oracle",
"product" : "Java"
}
],
"headermd5" : "11a0f56471c2d90b1325b38f027ae473",
"headermmh3" : 2138804131
},
"length" : 16384
},
"asn" : "AS141642",
"city" : "Tasikmalaya",
"country" : "ID",
"cpe" : "<enterprise field>: cpe",
"cpecount" : "<enterprise field>: cpecount",
"data" : "HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=utf-8\r\nContent-Length: 24299\r\nSet-Cookie: JSESSIONID=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/; HttpOnly\r\nConnection: close\r\n\r\n\ufeff<!DOCTYPE html> \r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n\r\n<head>\r\n<META http-equiv=Content-Type content=\"text/html; charset=utf-8\" />\r\n<META http-equiv=Pragma content=no-cache>\r\n<META http-equiv=Expires content=0>\r\n\r\n<!-- \r\n<link rel=\"stylesheet\" href=\"../css/login.css\" type=\"text/css\" />\r\n<link rel=\"stylesheet\" href=\"../img/login/login.css\" type=\"text/css\" />\r\n-->\r\n<link rel=\"Shortcut Icon\" href=\"../img/login/favicon.ico\" type=\"image/jpeg\" />\r\n<style type=\"text/css\">\r\nbody{\r\n font-family:Arial, sans-serief;\r\n background-color:#FFFFFF;\r\n margin:0px;\r\n padding:0px;\r\n}\r\ndiv.loginBox\r\n{\r\n display: block;\r\n position:relative;\r\n margin-top:10%;\r\n text-align:center;\r\n}\r\n.noteDiv{\r\n color:gray;\r\n font-family:Arial;\r\n width:395px;\r\n text-align:left;\r\n margin:0px auto;\r\n font-size:14px;\r\n}\r\n#note{\r\n /*display:inline-block;*/\r\n vertical-align:top;\r\n _display:inline;\r\n _zoom:1;\r\n width:50px;\r\n font-weight:bold;\r\n}\r\n#tip{\r\n display:inline-block;\r\n vertical-align:top;\r\n _display:inline;\r\n _zoom:1;\r\n width:340px;\r\n font-weight:bold;\r\n}\r\ndiv.panelThre{\r\n margin-top:10px;\r\n}\r\ndiv.picDiv{\r\n width:497px;\r\n height:276px;\r\n /*background:url(../login/loginbg.png);*/\r\n position:relative;\r\n}\r\ninput.pcPassword{\r\n width:300px;\r\n height:50px;\r\n line-height:50px;\r\n padding-left:20px;\r\n}\r\ndiv.PCBtnDiv{\r\n position:relative;\r\n margin-top:20px;\r\n}\r\nimg.logoPic{\r\n width:100%;\r\n}\r\n#copyright{\r\n -webkit-text-size-adjust:none;\r\n font-size:8px;\r\n color:#6a6969;\r\n font-family:\"Verdana\";\r\n font-weight:normal;\r\n margin-top:40px;\r\n display:inline-block;\r\n}\r\n.topLogo{\r\n background-color: #4ACBD6;\r\n height:96px;\r\n overflow: hidden;\r\n}\r\ntr{\r\n vertical-align: top;\r\n}\r\n.topLogo td a img{\r\n margin:27px 0 0 25px;\r\n}\r\n.topLogo td.last-td img{\r\n float: right;\r\n margin-right: 14px;\r\n opacity: 0.3;\r\n filter:alpha(opacity=30);\r\n}\r\nul{\r\n padding: 71px 0px 0px 0px;\r\n margin:0px;\r\n list-style:none;\r\n}\r\nul li{\r\n height:32px;\r\n width:250px;\r\n text-align: left;\r\n}\r\nli.unLi{\r\n border: 1px solid #cbcbcb;\r\n\tborder-radius: 3px;\r\n}\r\n.unLi.focus {\r\n\tborder-color: #4ACBD6;\r\n}\r\nli.pwLi{\r\n\tborder: 1px solid #cbcbcb;\r\n\tborder-radius: 3px;\r\n}\r\n.pwLi.focus {\r\n\tborder-color: #4ACBD6;\r\n}\r\nli.blank{\r\n height:8px;\r\n}\r\ninput.text{\r\n border:0px;\r\n height:32px;\r\n line-height:32px;\r\n width:175px;\r\n padding:0px;\r\n /*margin-left: 39px;*/\r\n font-size:14px;\r\n color:#A7A9AC;\r\n font-family:\"Arial\",\"Verdana\";\r\n font-weight:normal;\r\n background-color: transparent;\r\n vertical-align: top;\r\n}\r\ninput.text:focus{\r\n outline: none;\r\n}\r\nlabel.loginBtn{\r\n height:32px;\r\n display:inline-block;\r\n width:250px;\r\n margin-top: 25px;\r\n line-height: 32px;\r\n color: #FFFFFF;\r\n font-size:18px;\r\n font-family: Arial;\r\n\t\tbackground-color: #4acbd6;\r\n\t\tborder-radius: 3px;\r\n cursor:pointer;\r\n}\r\n\r\n.loginBtn.disabled {\r\n\tbackground-color: #cbcbcb;\r\n\tcursor: default;\r\n}\r\n\r\nli img{\r\n\tvertical-align: bottom;\r\n\tline-height: 40px;\r\n\tmargin: -1px 6px 9px 9px;\r\n}\r\n\r\n#pwLi img {\r\n\tmargin-top: 9px;\r\n}\r\n\r\niframe#top{\r\n width:100%;\r\n height:96px;\r\n border: none;\r\n display: block;\r\n}\r\n\r\nhtml{\r\n overflow: hidden;\r\n}\r\ntable,tr,td{\r\n padding: 0;\r\n}\r\ntd {\r\n font-family:\"Times New Roman\", \"\u00cb\u00ce\u00cc\u00e5\";\r\n font-size: 12px;\r\n}\r\nform {\r\n font-family:\"Times New Roman\", \"\u00cb\u00ce\u00cc\u00e5\";\r\n font-size: 12px;\r\n}\r\n/*\r\nbody {\r\n font-family:\"Arial Black\", \"\u00ba\u00da\u00cc\u00e5\";\r\n font-size: 16px;\r\n background: #4ACBD6\r\n}\r\n*/\r\n.style1 {\r\n font-family:Arial;\r\n color: #FFFFFF;\r\n font-size: 18px;\r\n padding-right: 50;\r\n text-align: left;\r\n font-weight: bold;\r\n white-space: nowrap;\r\n}\r\n.style2 {\r\n font-size: 14px;\r\n font-family:Arial;\r\n font-weight: bold;\r\n padding-right: 50;\r\n text-align: left;\r\n white-space: nowrap;\r\n color: #FFFFFF;\r\n}\r\n\r\ntr{\r\n vertical-align: top;\r\n}\r\n#first-td{\r\n width:234px;\r\n}\r\n#first-td img {\r\n margin:27px 0 0 25px;\r\n cursor: pointer;\r\n}\r\n#second-td {\r\n padding-top: 25px;\r\n}\r\n#third-td img {\r\n float:right;\r\n opacity: 0.3;\r\n filter\\0: alpha(opacity=30);\r\n margin-right: 14px;\r\n}\r\ninput[type=\"text\"]::-ms-clear,\r\ninput[type='password']::-ms-reveal{\r\n display:none;\r\n}\r\n\t\t.nd {\r\n\t\t\tdisplay: none !important;\r\n\t\t}\r\n\r\n\t\t.change-pwd-title {\r\n\t\t\ttext-align: center;\r\n\t\t\tfont-size: 23px;\r\n\t\t\tcolor: #36444b;\r\n\t\t}\r\n\r\n\t\t.change-pwd-p {\r\n\t\t\tcolor: #a7a8ac;\r\n\t\t\ttext-align: center;\r\n\t\t\tfont-size: 16px;\r\n\t\t\tmargin-top: 12px;\r\n\t\t}\r\n\t\t.pwd-tip {\r\n\t\t\theight: auto;\r\n\t\t\tpadding-left: 60px;\r\n\t\t\tmargin-bottom: 2px;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tcolor: #999;\r\n\t\t}\r\n\t\t.pwd-tip .icon {\r\n\t\t\tmargin-left: -28px;\r\n\t\t\tmargin-right: 4px;\r\n\t\t\tdisplay: inline-block;\r\n\t\t\twidth: 24px;\r\n\t\t\theight: 24px;\r\n\t\t\tbackground-image: url(\"../img/login/icons.png\");\r\n\t\t\tbackground-position: -26px -2px;\r\n\t\t\tvertical-align: middle;\r\n\t\t}\r\n\t\t.pwd-tip.active .icon {\r\n\t\t\tbackground-position: -51px -2px;\r\n\t\t}\r\n\t\t.pwd-tip.error .icon {\r\n\t\t\tbackground-position: 0 -2px;\r\n\t\t}\r\n\r\n\t\t.eye-icon {\r\n\t\t\tdisplay: inline-block;\r\n\t\t\twidth: 20px;\r\n\t\t\theight: 20px;\r\n\t\t\tmargin-top: 7px;\r\n\t\t\tmargin-left: 15px;\r\n\t\t\tcursor: pointer;\r\n\t\t\tbackground: url(\"../img/login/unview.png\");\r\n\t\t}\r\n\r\n\t\t.eye-icon.show {\r\n\t\t\tbackground: url(\"../img/login/view.png\");\r\n\t\t}\r\n\r\n\t\t.fl {\r\n\t\t\tfloat: left;\r\n\t\t}\r\n</style>\r\n<!--[if lte IE 8]>\r\n<style>\r\n\t.eye-icon {\r\n\t\tdisplay: none;\r\n\t}\r\n</style>\r\n<![endif]-->\r\n<script src=\"../js/oid_str.js\" type=\"text/javascript\"></script>\r\n<script src=\"../js/str.js\" type=\"text/javascript\"></script>\r\n<script src=\"../js/err.js\" type=\"text/javascript\"></script>\r\n<script src=\"../js/language.js\" type=\"text/javascript\"></script>\r\n<script src=\"../js/root.js\" type=\"text/javascript\"></script>\r\n<script src=\"../js/cryptoJS.min.js\" type=\"text/javascript\"></script>\r\n<script src=\"../js/encrypt.js\" type=\"text/javascript\"></script>\r\n<script src=\"../js/tpEncrypt.js\" type=\"text/javascript\"></script>\r\n<script src=\"../js/lib.js\" type=\"text/javascript\"></script>\r\n<script type=\"text/javascript\">\r\n$.curPage=\"login.htm\";\r\nvar lang = \"en_US\";\r\nif($.country)\r\n{\r\n\t//console.log(\"lang = $.country: \", $.country);\r\n\tlang = $.country;\r\n}\r\nvar url = window.location.href;\r\nif (url.indexOf(\"tplinklogin.net\") >= 0)\r\n{\r\n url = url.replace(\"tplinklogin.net\", \"tplinkwifi.net\");\r\n window.location = url;\r\n}\r\n\r\nvar isLocked = false;\r\n\r\ndeleteCookie(\"Authorization\");\r\nif (window.parent != window)\r\n{\r\n\tvar refresh = function(domain, port, frame, page) {\r\n\t\tif ($.local) location.reload(true);\r\n\t\t\telse {\r\n\t\t\t\tvar ret = window.parent.location.href.match(/(https?):\\/\\/([^:\\/]+)(:\\d+)?\\/?([^?]*)/);\r\n\t\t\t\twindow.parent.location.href = ret[1] + \"://\" + (domain ? domain : ret[2]) + (port ? \":\" + port : (ret[3] ? ret[3] : \"\")) + \"/\" + (frame ? frame : (ret[4] ? ret[4] : \"\")) + (page ? \"#__\" + page.match(/\\w+\\.htm$/) : \"\");\r\n\t\t\t}\r\n\t}\r\n\trefresh();\r\n}\r\n\r\nfunction Base64Encoding(input) \r\n{\r\n\tvar keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n\tvar output = \"\";\r\n\tvar chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n\tvar i = 0;\r\n\tinput = utf8_encode(input);\r\n\twhile (i < input.length) \r\n\t{\r\n\t\tchr1 = input.charCodeAt(i++);\r\n\t\tchr2 = input.charCodeAt(i++);\r\n\t\tchr3 = input.charCodeAt(i++);\r\n\t\tenc1 = chr1 >> 2;\r\n\t\tenc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n\t\tenc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n\t\tenc4 = chr3 & 63;\r\n\t\t\r\n\t\tif (isNaN(chr2)) \r\n\t\t{\r\n\t\t\tenc3 = enc4 = 64;\r\n\t\t} \r\n\t\telse if (isNaN(chr3)) \r\n\t\t{\r\n\t\t\tenc4 = 64;\r\n\t\t}\r\n\t\toutput = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);\r\n\t}\r\n\treturn output;\r\n}\r\n\r\nfunction utf8_encode (string) \r\n{\r\n\tstring = string.replace(/\\r\\n/g,\"\\n\");\r\n\tvar utftext = \"\";\r\n\t\r\n\tfor (var n = 0; n < string.length; n++) \r\n\t{\r\n\t\tvar c = string.charCodeAt(n);\r\n\t\tif (c < 128) \r\n\t\t{\r\n\t\t\tutftext += String.fromCharCode(c);\r\n\t\t}\r\n\t\telse if((c > 127) && (c < 2048)) \r\n\t\t{\r\n\t\t\tutftext += String.fromCharCode((c >> 6) | 192);\r\n\t\t\tutftext += String.fromCharCode((c & 63) | 128);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tutftext += String.fromCharCode((c >> 12) | 224);\r\n\t\t\tutftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n\t\t\tutftext += String.fromCharCode((c & 63) | 128);\r\n\t\t}\r\n\t}\t\r\n\treturn utftext;\r\n}\r\n\r\nfunction onFocusPwd(event) {\r\n\t$.removeClass($.id(\"pwd-tips\"), \"nd\");\r\n\tfor (var i = 0, len = tipArr.length; i < len; i++) {\r\n\t\tvar tip = tipArr[i];\r\n\t\t$.removeClass(tip, \"nd\");\r\n\t\t$.removeClass(tip, \"error\");\r\n\t}\r\n\t$.addClass((event.target || event.srcElement).parentNode, \"focus\");\r\n\tonKeyUpPwd(event);\r\n}\r\n\r\nfunction onKeyUpPwd(event) {\r\n\tvar value = (event.target || event.srcElement).value,\r\n\t\t\tspaceTip = tipArr[0],\r\n\t\t\tlengthTip = tipArr[1],\r\n\t\t\tcharTip = tipArr[2];\r\n\r\n\tcheckSpace(value) ? $.addClass(spaceTip, \"active\") : $.removeClass(spaceTip, \"active\");\r\n\tcheckLength(value) ? $.addClass(lengthTip, \"active\") : $.removeClass(lengthTip, \"active\");\r\n\tcheckChar(value) ? $.addClass(charTip, \"active\") : $.removeClass(charTip, \"active\");\r\n}\r\n\r\nfunction onBlurPwd(event) {\r\n\tvar tips = tipArr;\r\n\tvar showBtn = true;\r\n\tvar btn = $.id(\"createBtn\")\r\n\r\n\t$.removeClass((event.target || event.srcElement).parentNode, \"focus\");\r\n\tfor (var i = 0, len = tips.length; i < len; i++) {\r\n\t\tvar tip = tips[i];\r\n\t\tif($.hasClass(tip, \"active\")) {\r\n\t\t\t$.addClass(tip, \"nd\");\r\n\t\t} else {\r\n\t\t\tshowBtn = false;\r\n\t\t\t$.addClass(tip, \"error\");\r\n\t\t}\r\n\t}\r\n\tshowBtn ? $.removeClass(btn, \"disabled\") : $.addClass(btn, \"disabled\");\r\n}\r\n\r\nfunction checkSpace(value) {\r\n\tvar re = /[^\\x00-\\x19\\x21-\\xff]/;\r\n\tif (re.test(value)) return false;\r\n\treturn true;\r\n}\r\n\r\nfunction checkLength(value) {\r\n\tif (value.length > 5 && value.length < 33) return true;\r\n\treturn false;\r\n}\r\n\r\nfunction checkChar(value) {\r\n\tvar patternNum = /[0-9]/g;\r\n\tvar patternLetter = /[A-Za-z]/g;\r\n\tvar patternSign = /[\\`\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\=\\_\\+\\[\\]\\{\\}\\;\\:\\'\\\"\\\\\\|\\/\\?\\.\\,\\<\\>\\x20]/g;\r\n\tvar level = 0;\r\n\r\n\tif (patternNum.test(value)) level++;\r\n\tif (patternLetter.test(value)) level++;\r\n\tif (patternSign.test(value)) level++;\r\n\r\n\treturn level > 1;\r\n}\r\n\r\nfunction PCWin(event)\r\n{\r\n\t\t\tif (event.keyCode == 13) {\r\n\t\t\t\tif (INCLUDE_FORBIDDEN_OLD_PWD) {\r\n\t\t\t\t\tif (isFirstLogin === \"1\") {\r\n\t\t\t\t\t\tcreatePwd();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tPCSubWin();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tPCSubWin();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\nfunction PCSubWin()\r\n{\t\r\n\tif (isLocked == true)\r\n\t{\r\n\t\treturn ;\r\n\t}\r\n\t\t\r\n\tvar auth;\r\n\tvar password = $.id(\"pcPassword\").value;\r\n\t\t\tvar userName;\r\n\t\t\tif (INCLUDE_FORBIDDEN_OLD_PWD) {\r\n\t\t\t\tuserName = \"admin\";\r\n\t\t\t} else {\r\n\t\t\t\tuserName = $.id(\"userName\").value;\r\n\t\t\t}\r\n\r\n\t\t\tdoLogin(userName, password);\r\n\t\t}\r\n\t\r\n\t\tfunction doLogin(userName, password) {\r\n\tif(INCLUDE_LOGIN_GDPR_ENCRYPT)\r\n\t{\r\n\t\r\n\t\t$.act(ACT_CGI, \"/cgi/getParm\");\r\n\t\t$.exe(null,false,0);\r\n\t\t$.nn = nn;\r\n\t\t$.ee = ee;\r\n\t\t$.seq = seq;\r\n\r\n\t\t$.Iencryptor.setSeq($.seq);\r\n\t\t$.Iencryptor.setRSAKey($.nn, $.ee);\r\n\t\t$.Iencryptor.setHash(userName, password);\r\n\t\t$.Iencryptor.genAESKey();\r\n\t\r\n\t\tvar tmpcount = {};\r\n\t\ttmpcount.username=userName;\r\n\t\ttmpcount.password=password;\r\n\t\t\r\n\t\t$.act(ACT_CGI, \"/cgi/login\", null, null, tmpcount);\r\n\t\t$.newencryptorManager.recordEncryptor();\r\n\t\tif(!$.exe(null, false, 1))\r\n\t\t{\r\n\t\t\twindow.location.reload();\r\n\t\t}\t\r\n\t}\r\n\t\t}\r\n\r\n\t\tfunction createPwd() {\r\n\t\t\tif (isFirstLogin === \"0\" || $.hasClass($.id(\"createBtn\"), \"disabled\")) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar re = /[^\\x00-\\x19\\x21-\\xff]/;\r\n\t\t\tvar password = $.id(\"change-pcPassword\").value;\r\n\t\t\tvar confirmPassword = $.id(\"confirm-pcPassword\").value;\r\n\t\t\tvar userName = \"admin\";\r\n\r\n\t\t\tif (re.test(password)) {\r\n\t\t\t\t$.alert(ERR_USER_PWD_HAS_SPACE);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tif (password === \"\") {\r\n\t\t\t\t$.alert(ERR_USER_PWD_EMPTY);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tif ($.asc(password, true)) {\r\n\t\t\t\t$.alert(ERR_USER_PWD_ASCII);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (password.length > 32) {\r\n\t\t\t\talert(localString[lang].CHANGE_PWD_TITLE);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (password !== confirmPassword) {\r\n\t\t\t\t$.alert(ERR_USER_NAME_PWD_CONFLICT);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif(!checkSpace(password) || !checkLength(password) || !checkChar(password))\r\n\t\t\t{\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t$.act(ACT_CGI, \"/cgi/auth\", null, null, {\r\n\t\t\t\tname: userName,\r\n\t\t\t\toldPwd: \"admin\",\r\n\t\t\t\tpwd: password\r\n\t\t\t});\r\n\t\t\tif (!$.exe(null, null, 0)) {\r\n\t\t\t\tdoLogin(userName, password);\r\n\t\t\t}\r\n\t\t}\r\n\r\nfunction deleteCookie(name) \r\n{ \r\n var LargeExpDate = new Date ();\r\n document.cookie = name + \"=; expires=\" +LargeExpDate.toGMTString(); \r\n}\r\n/*\r\nfunction $(id)\r\n{\r\n\treturn document.getElementById(id);\r\n}\r\n*/\r\n\t\tfunction lockWeb(bLock) {\r\n\t\t\t$.id(\"pcPassword\").disabled = bLock;\r\n\t\t\t$.id(\"pcPassword\").blur();\r\n\t\t\tif (!INCLUDE_FORBIDDEN_OLD_PWD) {\r\n\t\t\t\t$.id(\"userName\").disabled = bLock;\r\n\t\t\t\t$.id(\"userName\").blur();\r\n\t\t\t}\r\n\t\t}\r\n\r\nfunction resize()\r\n{\r\n\tbodyObj = document.body;\r\n\tbodyObj.style[\"width\"] = (document.documentElement.clientWidth < 1000 ? 1000 : document.documentElement.clientWidth) + \"px\";\r\n}\r\n\r\nfunction pageLoad()\r\n{\r\n\tresize();\r\n\twindow.onresize = resize;\r\n\tvar tip = $.id(\"tip\"), tipStr=\"\", note = $.id(\"note\");\r\n\tvar unLi = $.id(\"unLi\");\r\n\tvar pwLi = $.id(\"pwLi\");\r\n\t\t\tvar pcPassword = $.id(\"pcPassword\");\r\n\t\t\tif (!INCLUDE_FORBIDDEN_OLD_PWD) {\r\n\t\t\t\tvar userName = $.id(\"userName\");\r\n\t\t\t}\r\n\tdeleteCookie(\"Authorization\");\r\n\t/*\r\n\tpcPassword.onfocus = function()\r\n\t{\r\n\t\tpwLi.style.background = \"url(../img/login/pwselect.png)\";\r\n\t};\r\n\t\r\n\tpcPassword.onblur = function()\r\n\t{\r\n\t\tpwLi.style.background = \"url(../img/login/pwunselect.png)\";\r\n\t};\r\n\t \r\n\tuserName.onfocus = function()\r\n\t{\r\n\t\tunLi.style.background = \"url(../img/login/idselect.png)\";\r\n\t};\r\n\t \r\n\tuserName.onblur = function()\r\n\t{\r\n\t\tunLi.style.background = \"url(../img/login/idunselect.png)\";\r\n\t};\r\n\t*/\r\n\t\r\n\ttry { \r\n\t\tif (localString)\r\n\t\t{\r\n\t\t\t$.id(\"mnum\").innerHTML = localString[lang].MODEL_NO + modelName;\t\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t$.id(\"mnum\").innerHTML = \"Model No. \" + modelName;\t\r\n\t\t}\r\n\t\tif(modelDesc)\r\n\t\t{\r\n\t\t\t$.id(\"mname\").innerHTML = modelDesc;\r\n\t\t}\r\n\t}catch(e) {}\r\n\r\n\tif (forbidAdminLogin == 1)\r\n\t{\r\n\t\tif (localString)\r\n\t\t{\r\n\t\t\t$.id(\"note\").innerHTML = localString[lang].NOTE;\r\n\t\t\t$.id(\"tip\").innerHTML = localString[lang].TIP_CONFLICT;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t$.id(\"note\").innerHTML = \"NOTE:\";\r\n\t\t\t$.id(\"tip\").innerHTML = \"The router allows only one administrator to login at the same time, please try again later.\";\r\n\t\t}\r\n\t\t\r\n\t\tforbidAdminLogin = 0;\r\n\t\tauthTimes = 0;\r\n\t\t\t\tif (INCLUDE_FORBIDDEN_OLD_PWD) {\r\n\t\t\tpcPassword.focus();\r\n\t\t\tpcPassword.select();\r\n\t\t}\r\n\t\telse{\r\n\t\t\tuserName.focus();\r\n\t\t\tuserName.select();\r\n\t\t}\r\n\t\tlockWeb(true);\r\n\t\treturn;\r\n\t}\t\t\r\n\t\r\n\tif (authTimes > 0)\r\n\t{\r\n\t\tif (localString)\r\n\t\t{\r\n\t\t\t$.id(\"note\").innerHTML = localString[lang].NOTE;\r\n\t\t\t$.id(\"tip\").innerHTML = localString[lang].TIP_ERROR;\r\n\t\t}\r\n\t\telse{\r\n\t\t\t$.id(\"note\").innerHTML = \"NOTE:\";\r\n\t\t\t$.id(\"tip\").innerHTML = \"The username or password is incorrect, please try again.\";\r\n\t\t}\r\n\t}\t\r\n\t\r\n\tif (authTimes >= 10)\r\n\t{\r\n\t\tisLocked = true;\r\n\t\tlockWeb(true);\r\n\t\tcount = 7200 - forbidTime;\r\n\t\tif (localString)\r\n\t\t{\r\n\t\t\t$.id(\"note\").innerHTML = localString[lang].NOTE;\r\n\t\t\ttipStr = localString[lang].TIP_EXCE1;\r\n\t\t\t$.id(\"tip\").innerHTML = tipStr + count + localString[lang].TIP_EXCE2;;\t\t\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t$.id(\"note\").innerHTML = \"NOTE\uff1a\";\r\n\t\t\ttipStr = \"You have exceeded ten attempts. Please try again in \";\r\n\t\t\t$.id(\"tip\").innerHTML = tipStr + count + \"s.\";\t\t\r\n\t\t}\r\n\r\n\t\twindow.setTimeout(function()\r\n\t\t{\r\n\t\t\tif (count < 1)\r\n\t\t\t{\r\n\t\t\t\t$.id(\"note\").innerHTML = \"\";\r\n\t\t\t\t$.id(\"tip\").innerHTML = \"\";\r\n\t\t\t\tisLocked = false;\r\n\t\t\t\tlockWeb(false);\r\n\t\t\t\t\t\tif (INCLUDE_FORBIDDEN_OLD_PWD) {\r\n\t\t\t\t\t\t\tpcPassword.focus();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tuserName.focus();\r\n\t\t\t\t\t\t}\r\n\t\t\t\tdeleteCookie(\"Authorization\");\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\tcount--;\r\n\t\t\tif (localString)\r\n\t\t\t{\r\n\t\t\t\t$.id(\"tip\").innerHTML = tipStr + count + localString[lang].TIP_EXCE2;\t\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\t$.id(\"tip\").innerHTML = tipStr + count + \"s.\";\r\n\t\t\t}\r\n\t\t\twindow.setTimeout(arguments.callee, 1000);\r\n\t\t}, 1000);\r\n\t\t\t} else {\r\n\t\t\t\tpcPassword.focus();\r\n\t\t\t}\r\n\t\t\tif (INCLUDE_FORBIDDEN_OLD_PWD) {\r\n\t\t\t\tpcPassword.focus();\r\n\t\t\t\tpcPassword.select();\r",
"datamd5" : "b83213058aea18249b886f5ba49fce6c",
"datammh3" : -2111435552,
"device" : {
"class" : "<enterprise field>: device.class"
},
"geolocus" : {
"asn" : "AS141642",
"continent" : "AS",
"continentname" : "Asia",
"country" : "ID",
"countryname" : "Indonesia",
"domain" : [
"ring.net.id"
],
"isineu" : "false",
"latitude" : "-0.789275",
"location" : "-0.789275,113.921327",
"longitude" : "113.921327",
"netname" : "IDNIC-RINGNET-ID",
"organization" : "Route Object PT Ring Media Nusantara",
"subnet" : "103.162.62.0/23"
},
"ip" : "103.162.62.86",
"ipv6" : "false",
"latitude" : "-7.3263",
"location" : "-7.3263,108.2210",
"longitude" : "108.2210",
"node" : {
"country" : "<enterprise field>: node.country",
"groupid" : "<enterprise field>: node.groupid",
"id" : "<enterprise field>: node.id",
"physicalcountry" : "<enterprise field>: node.physicalcountry"
},
"organization" : "PT Ring Media Nusantara",
"os" : "Linux Kernel",
"osvendor" : "Linux",
"port" : 8984,
"protocol" : "http",
"protocolversion" : "1.1",
"reason" : "OK",
"seen_date" : "2024-11-07",
"source" : "datascan",
"status" : 200,
"subnet" : "103.162.62.0/23",
"tag" : "<enterprise field>: tag",
"tls" : "false",
"transport" : "tcp",
"url" : "/"
}