bezpecny auto login

Programovacie jazyky, rady, poradňa...
myxall
Amateur
Amateur
Príspevky: 26
Registrovaný: 18 mar 2009, 8:28
Bydlisko: Lipt.Mikulas/Zilina

bezpecny auto login

Príspevok od používateľa myxall »

Zdravim. Potrebujem malu radu. Chcem do mojej web aplikacie dorobit automaticke prihlasenie,napr. po zatvoreni browsra, pripadne vypnuti PC. Rozmyslam nad tym ze po prvom prihlaseni ulozim uzivatelov login do cookies a pri dalsich navstevach webu tento login vytiahnem a uzivatela automaticky prihlasim... je to bezpecne alebo je to uplna blbost co tu pisem?
Dakujem :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

nie, keď si ja do cookies uložím tvoj login, tak by ma prihlásilo pod tebou. Musíš si uložiť hash napríklad reťazca login+heslo, a rovnaký hash uložíš do db pri tom užívateľovi. Ak sa tieto hodnoty zhodujú, tak sa prihlási automaticky (ak tam ten hash nebude, tak sa musí prihlásiť ručne). Tento hash si už do cookies nedám ako ten login, lebo by som na jeho vygenerovanie musel vedieť aj tvoje heslo
myxall
Amateur
Amateur
Príspevky: 26
Registrovaný: 18 mar 2009, 8:28
Bydlisko: Lipt.Mikulas/Zilina

Príspevok od používateľa myxall »

iba pre testovanie som do cookie ulozil login a heslo ale aj tak mi to nejde ako ma...
v index.jsp nacitam z cookie meno a heslo,ak sa najde tak ho prihlasi ak nie, ide na prihlasovaci formular.
index.jsp

Kód: Vybrať všetko

<%!
  Hashtable cookieTable(Cookie[] cookies)          
  {
    Hashtable cookieTable = new Hashtable();
    if (cookies != null) {
      for (int i=0; i < cookies.length; i++)
        cookieTable.put(cookies[i].getName(), cookies[i].getValue());
    }
    return cookieTable;
  }
%>
<%
  Cookie myCookie;
  String username = new String();
  String passw = new String();
  Hashtable cookies = cookieTable(request.getCookies());

  if (cookies.containsKey("name")) {
    username = (String)cookies.get("name");
  }
  if (cookies.containsKey("pwd")) {
    passw = (String)cookies.get("pwd");
  }
%>
po prihlaseni by sa mali do cookie zapisat meno a heslo...
login.jsp

Kód: Vybrať všetko

<%
  Cookie myCookieN,myCookieP;

  String newLogin = request.getParameter("logname");
  String newPassw = request.getParameter("passw");

  if (newLogin != null && newPassw!=null) 
  {
    myCookieN = new Cookie("name", newLogin);
    myCookieP = new Cookie("pwd", newPassw);

    response.addCookie(myCookieN);
    response.addCookie(myCookieP);
  }
%>
probem je v tom ze ked zatvorim browser tieto udaje nie su vobec v cookie. je tam jedine JSESSIONID :?
--==[ RA ]==--
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 841
Registrovaný: 03 mar 2006, 18:07
Bydlisko: Kosice
Kontaktovať používateľa:

Príspevok od používateľa --==[ RA ]==-- »

Nepozeral som ti to detailne ale chyba ti tam cas platnosti, nieco take som vygooglil:

Kód: Vybrať všetko

cookie.setMaxAge(365 * 24 * 60 * 60);
samozrejme v zatvorke je doba platnosti
Napísať odpoveď