Estoy usando un portal cautivo que una vez me logueo me muestra un timer.
Estoy casi seguro de que es con javascript este es el codigo
Código
//?????? function $$(tt){return tt<10?"0"+tt : tt;}; var today = new Date(); var hour = $$(today.getHours() ); var minu = $$(today.getMinutes()); var second= $$(today.getSeconds()); var actime= 'null'; if('notFound.jsp' != 'notFound.jsp') { var newWnd =window.open("notFound.jsp","_blank");newWnd.opener = null; } function set() { var loginTime=parseInt((new Date().getTime()-today.getTime())/1000); if(loginTime++ > 600000) { today =new Date() ; //???????????,????! alert("Ha iniciado sesión en una semana. Reajuste el tiempo."); } if(actime > 0) { setonTime(actime); actime++; } else if(loginTime >0) { setonTime(loginTime); } } setInterval(set,1000); function setonTime(loginTime) { var hours = 0; var minutes = 0; var seconds = 0; hours = Math.floor(loginTime/3600); minutes = Math.floor((loginTime%3600)/60); seconds = loginTime%60; if(hours <= 9) { hours="0"+hours; } if(minutes <= 9) { minutes="0"+minutes; } if(seconds <= 9) { seconds="0"+seconds; } var cdate = hours + ":" + minutes + ":" + seconds; document.getElementById('onlineTime').innerHTML = cdate; } var g_httpRequest = null; var g_isSubmitLogout = false; //??????? function windowExitFunc(e) { var event= window.event||e; try { if(g_isSubmitLogout) { return false; } var message = "Visitar otros sitios web en esta página le llevará fuera de línea de forma anormal. Para visitar otros sitios web, haga clic en Cancelar y abra una nueva página."; if (event) { event.returnValue = message; } } catch(e) { alert("alert window error!!!"); } return true; } function userSubmitLogout() { if(!confirm("Se le desconectará. ¿Seguro que quieres cerrar sesión?")) { return false; } logoutImpl(); return true; } function logoutImpl() { pageOnunload(); } function pageOnunload() { //if(!g_httpRequest){ g_httpRequest = createHttpRequest(); } var cookieCheck = document.getElementById("removeCookie"); var removeCookie = "1"; if (cookieCheck && cookieCheck.checked == true) { removeCookie = cookieCheck.value; } var g_httpRequest = createHttpRequest(); if (g_httpRequest == null) { alert("Se desconecta de forma anormal. Por favor, póngase en contacto con el administrador de la red."); return false; } else { var urlParam = "ATTRIBUTE_UUID=5F3ECF4FA52669B2A002632DAB1C1326&CSRFHW=8772d9aa7aaa9104f739acb0a1c7f7be" + "&wlanuserip=10.190.17.43" + "&ssid=" + "&loggerId=20180223233301814+aismelva@gmail.com" + "&domain=" + "&username=aismelva@gmail.com" + "&wlanacname=" + "&wlanmac=" +"&remove="+removeCookie; g_httpRequest.open("GET", "/LogoutServlet?CSRFHW=8772d9aa7aaa9104f739acb0a1c7f7be&" + urlParam, true); g_httpRequest.send(); var isOut; g_httpRequest.onreadystatechange=function() { if (g_httpRequest.readyState==4 && g_httpRequest.status==200) { if(g_httpRequest.responseText.indexOf("SUCCESS") != -1) { if (g_httpRequest.responseText.indexOf("REMOVE_AUTHINFO_SUCCESS") != -1) { alert("???logout_result.removecookie.success???"); } else if(g_httpRequest.responseText.indexOf("ERROR") != -1){ alert("???logout_result.removecookie.fail???"); } isOut = true; } else { isOut = true; } if(isOut == false) { alert("Se desconecta de forma anormal. Por favor, póngase en contacto con el administrador de la red."); return; } else if (isOut == null) { alert("Su red está desconectada. Compruébelo por favor."); g_isSubmitLogout = true; logoutToFirstPage(); return; } // alert("???logout_result.logout_success???"); g_isSubmitLogout = true; //window.location.replace("http://www.google.com"); logoutToFirstPage(); } else { if(g_httpRequest.readyState==4 && g_httpRequest.status != 200) { alert("request error " + g_httpRequest.status); return false; } } } } } function logoutToFirstPage() { //[false alarm:Cross-Site Scripting: Reflected] window.location.href="/nauta_etecsa/OnlineURL/offline.jsp?CSRFHW=8772d9aa7aaa9104f739acb0a1c7f7be&lang="+'es_ES'; } function IEkeydown(event) { if ((event.keyCode == 8)|| //??????? (event.keyCode == 114)|| (event.keyCode == 116)|| //?? F5 ??? (event.keyCode == 122)) //?? F12 ??? { event.keyCode=0; event.returnValue=false; } if ((event.altKey)&& ((event.keyCode==37)||(event.keyCode==39))) // ?? Alt + -> ? Alt+ <- { event.returnValue=false; } if (event.ctrlKey ||(event.shiftKey)&&(event.keyCode==121)) //?? Ctrl ? ? shift+F10 { event.returnValue=false; } } function FFkeydown(event) { var key = event.which; if ((key == 8) || (key == 114)|| (key == 116)|| (key == 122)) //???????(event.keyCode == 8)||//?? F5 ???//?? F12 ??? { key=0; event.preventDefault(); } if ((event.altKey)&& ((key==37)||(key==39))) // ?? Alt + -> ? Alt+ <- { event.preventDefault(); } if (event.ctrlKey ||(event.shiftKey)&&(key==121)) //?? Ctrl ? ? shift+F10 { event.preventDefault(); } } function windowKeyDown(e) { if (window.event) { var event = window.event; IEkeydown(event); } else { var event= e; FFkeydown(event); } } function createHttpRequest() { var request; try { request = new XMLHttpRequest(); } catch (trymicrosoft) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { request = null; } } } return request; } function windowOnunload() { if (!g_isSubmitLogout) { logoutImpl(); } } function updateAvailableTime() { var g_httpRequest = createHttpRequest(); if (g_httpRequest == null) { alert("Actualización disponible tiempo falle."); return; } else { g_httpRequest.open("post", "/EtecsaQueryServlet?CSRFHW=8772d9aa7aaa9104f739acb0a1c7f7be&op=getLeftTime&op1=aismelva@gmail.com&op2=F2DFE7165C25BE8CE34BF00BB73D318F217D582CDF1E174E4EAE42B6496E2FFC", true); g_httpRequest.send(); g_httpRequest.onreadystatechange=function() { if (g_httpRequest.readyState==4 && g_httpRequest.status==200) { //????????? var responseText = g_httpRequest.responseText; if (responseText.indexOf("errorop") != -1) { alert("Actualización disponible tiempo falle."); document.getElementById("availableTime").innerHTML = "--:--:--"; return; } //???? document.getElementById("availableTime").innerHTML = responseText; } else if(g_httpRequest.readyState==4 && g_httpRequest.status != 200) { alert("request error " + g_httpRequest.status); return false; } } } }
Es posible al yo pinchar en el boton de cerrar la session manipular el tiempo consumido.
Saludos