Timer web javascript !

Iniciado por TrashAmbishion, 24 Febrero 2018, 23:08 PM

0 Miembros y 1 Visitante están viendo este tema.

TrashAmbishion

Hola,

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 (javascript) [Seleccionar]



     //??????
  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

srWhiteSkull

#1
Si es posible, el problema es que no afectará al tiempo registrado en el servidor ya que el js sólo es para mostrar el tiempo en el frontend. El desarrollador posiblemente ya pensó en eso.

TrashAmbishion

Hola srWhiteSkull,

No se pierde nada con intentarlo.

Voy a descargar el codigo html del sitio para revisar que funcion realiza el boton de cerrar sesion.

Saludos y gracias