O facebook é codificado em PHP e o PHP foi lançado em 1994. Mas no PHP, há uma desvantagem, ou seja, se desativarmos os cookies (digamos no Facebook), o servidor do Facebook esquecerá a pessoa que se conectou anteriormente e me levará isso página quando esse aplicativo foi iniciado pela primeira vez. Mas em Java (JEE Edition, lançado em 1999), temos uma técnica chamada “Codificação de URL” com a qual ainda podemos fazer o login, mesmo depois de desabilitar os cookies. Então, vamos mostrar isso a vocês, por meio de codificação.

Existem dois vídeos para descrevê-lo.

No primeiro vídeo, apagamos os cookies do Facebook e tentamos fazer o login novamente. Mas ele redirecionou para aquela página, quando o aplicativo foi lançado pela primeira vez. E como você pode ver no vídeo, o nome de usuário e a senha são visíveis para mim. À medida que excluímos os cookies, o servidor esqueceu quem você é e o redirecionou para essa página quando o aplicativo foi iniciado pela primeira vez.

Agora, vamos mostrar isso usando Java. Aqui está um programa simples sobre hit-counter e a partir disso vamos relatar, o que está acontecendo por trás do facebook. Também veremos a modificação neste código.

<% @page contentType = "text/html" pageEncoding = "UTF-8" %>
<!DOCTYPE html>
<head>
    <meta http - equiv = "Content-Type"
            content = "text/html; charset=UTF-8">
    <title>Session Counter</title>
</head>
   
< % int count
    = 0;
HttpSession sess = request.getSession();
System.out.println("session object id is: " + sess.getId());
System.out.println("session object is new: " + sess.isNew());
String name = request.getParameter("btn");
if (name != null) {
    if (sess.getAttribute("countval") != null) {
          
        if (name.equals("Next")) {
            count = 
            Integer.parseInt((String)sess.getAttribute("countval")) + 1;
        }
        else {
            count = 
            Integer.parseInt((String)sess.getAttribute("countval")) - 1;
        }
    }
}
  
sess.setAttribute("countval", String.valueOf(count));
  
// String url="hitcount.jsp;jsessionid=" + sess.getId();
% > 
<h3> Count is : <%= count %></h3>
   
<form action
    = <%= "hitcount.jsp" %> // name of program is "hitcount"
    <input type = "submit" value = "Next" name = "btn">
    <input type = "submit" value = "Previous" name = "btn">
</form>

Nota: Por se tratar de um programa de servlet, portanto, precisamos de um servidor de aplicativos para executá-lo. Aqui, vamos usar “Apache Tomcat” e conectá-lo com o Netbeans.

Count is: 0  // The output in the chrome browser.

// In apache tomcat log window.
session object id is: 68EE34B33FCE6ACB8C1183A2FA8CCBBF

session object is new: true

A saída quando iniciamos o aplicativo pela primeira vez.

Agora, suponha que aumentemos ou diminuamos o valor de um contador, o id do objeto de sessão permanecerá o mesmo, mas é um novo usuário? Não, portanto, isso vai me dar falso. Agora vamos ver a saída ao incrementar o valor de um contador.

Count is: 1

// Same alpha numeric string as above, because the
// server has identified me with the  help of cookies
session object id is: 68EE34B33FCE6ACB8C1183A2FA8CCBBF  
                                                         
session object is new: false

Nota: A mesma coisa acontece com o Facebook. Ele verificará se você é um novo usuário. Se “Se o objeto de sessão for novo” for verdadeiro, ele irá redirecioná-lo para a página de login. Caso contrário, sua página do Facebook será aberta e você não precisará fazer login novamente.

Agora, e se excluirmos os cookies do hitcounter (localhost: nome do meu servidor)

Nota: Os vídeos contêm uma explicação passo a passo sobre como excluir cookies.
Agora, quando excluímos os cookies do localhost e executamos o programa hitcounter novamente. O servidor esquecerá quem é o usuário e redirecionará para essa página quando o aplicativo for iniciado pela primeira vez.
Agora veja a saída quando excluímos os cookies do localhost. Depois de excluir os cookies, qualquer tecla que pressionarmos (ou seja, aumentar ou diminuir) será exibida “Contagem é: 0” porque era a página inicial quando o aplicativo foi iniciado pela primeira vez.

  
Count is: 0
 
session object id is: 7552ECB909E08330A345AF18915EE743

// Since we have delete cookies, the server will forget
// the previous user and will treat it as a new user.
// Therefore session object id is different from above
// and "session is new" giving true.
session object is new: true 

Nota: Quando apagamos os cookies do Facebook, redirecionamos para aquela página quando foi lançado pela primeira vez e conseguimos ver o nome de usuário e a senha.

No segundo vídeo, modifique o código de acordo com nosso objetivo real. Mesmo se excluirmos os cookies, ainda podemos estar logados sem fazer login novamente.

<% @page contentType = "text/html" pageEncoding = "UTF-8" %>
<!DOCTYPE html>
<head>
    <meta http - equiv = "Content-Type" 
            content = "text/html; charset=UTF-8">
    <title> Session Counter</title>
</head>
   
<% int count
    = 0;
HttpSession sess = request.getSession();
System.out.println("session object id is: " + sess.getId());
System.out.println("session object is new: " + sess.isNew());
String name = request.getParameter("btn");
  
if (name != null) {
    if (sess.getAttribute("countval") != null) {
        if (name.equals("Next")) {
            count = 
            Integer.parseInt((String)sess.getAttribute("countval")) + 1;
        }
        else {
            count = 
            Integer.parseInt((String)sess.getAttribute("countval")) - 1;
        }
    }
}
  
sess.setAttribute("countval", String.valueOf(count));
  
// By using "URL Encoding" method
String url = "hitcount.jsp;jsessionid=" + sess.getId();
%> 
<h3> Count is : <%= count %></h3>
   
<form action = "<%=url%>">
    <input type = "submit" value = "Next" name = "btn">
    <input type = "submit" value = "Previous" name = "btn">
</form>

Saída:

Count is: 0

session object id is: 74E551B3F2E36B74C09885DE6F2EFC67
session object is new: true

Novamente, se incrementarmos o valor, veja a saída

Count is: 1

session object id is: 74E551B3F2E36B74C09885DE6F2EFC67
session object is new: false

A verdadeira magia vem agora. Agora, vamos deletar os cookies do host local e incrementar o valor de count. Veja a saída

Count is: 2

session object id is: 74E551B3F2E36B74C09885DE6F2EFC67
session object is new: false

Agora, se excluirmos o cookie, o servidor vai me identificar como “objeto de sessão é novo”, me dando falso. Isso ocorre porque agora seu id de sessão está sendo passado por URL. É por isso que é denominado “Codificação de URL”. Agora é só relacionar com o Facebook. Mesmo se você excluir os cookies, não precisará fazer login novamente e sua página do Facebook será aberta.

Go Premium (uma experiência sem anúncios com muitos mais recursos)