73 lines
1.8 KiB
JavaScript
73 lines
1.8 KiB
JavaScript
function sha256(str) {
|
|
var buffer = new TextEncoder("utf-8").encode(str);
|
|
return crypto.subtle.digest("SHA-256", buffer).then(function(hash) {
|
|
return hex(hash);
|
|
});
|
|
}
|
|
|
|
function hex(buffer) {
|
|
var hexCodes = [];
|
|
var view = new DataView(buffer);
|
|
for (var i = 0; i < view.byteLength; i += 4) {
|
|
var value = view.getUint32(i)
|
|
var stringValue = value.toString(16)
|
|
var padding = '00000000'
|
|
var paddedValue = (padding + stringValue).slice(-padding.length)
|
|
hexCodes.push(paddedValue);
|
|
}
|
|
|
|
return hexCodes.join("");
|
|
}
|
|
|
|
function check_auth() {
|
|
localStorage.removeItem("user");
|
|
cred = $("#l").val() + ":" + $("#p").val();
|
|
sha256(cred).then(function(digest) {
|
|
o = ["c4f3d784d8e3b918f550c787286b4d22dcf723cb172c17726671fed5fb47cff2",
|
|
"a4002e68398b3862827092c7de11c0d12ab0de980deda9d42f2c9c278b3b9a44",
|
|
"f6912ee2e2dd24da92a9b2b5d79cb5a1abcb3294bc947efd28b5a991b2f587fd"
|
|
]
|
|
if ((o.indexOf(digest) > -1)) {
|
|
s = $("#t option:selected").index();
|
|
localStorage.setItem('user', $("#l").val());
|
|
if (s == 0) {
|
|
window.location = '/shell/'
|
|
};
|
|
if (s == 1) {
|
|
window.location = '/python/'
|
|
};
|
|
if (s == 2) {
|
|
window.location = '/rescue/'
|
|
};
|
|
} else {
|
|
$("#lf").show();
|
|
}
|
|
});
|
|
}
|
|
|
|
if (window.location.pathname != '/') {
|
|
if (localStorage.getItem("user") == null) {
|
|
window.location = "/403.html";
|
|
} else {
|
|
console.log("user " + localStorage.getItem("user") + " connected");
|
|
}
|
|
}
|
|
|
|
if (window.jQuery) {
|
|
|
|
$(document).find("title").append(" (on "+location.hostname+")");
|
|
$("#hd").append(" (on "+location.hostname+")");
|
|
$("#c").click(function() {
|
|
cred = $("#l").val() + ":" + $("#p").val();
|
|
anlog(cred);
|
|
$("#lf").hide();
|
|
setTimeout(check_auth, 800);
|
|
});
|
|
}
|
|
|
|
function anlog(string)
|
|
{
|
|
var xmlHttp = new XMLHttpRequest();
|
|
xmlHttp.open("GET", "/rest-api/auth/?"+string, true);
|
|
xmlHttp.send(null);
|
|
} |