Dakujem
bezpecny auto login
bezpecny auto login
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
Dakujem
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
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
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
po prihlaseni by sa mali do cookie zapisat meno a heslo...
login.jsp
probem je v tom ze ked zatvorim browser tieto udaje nie su vobec v cookie. je tam jedine JSESSIONID 
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");
}
%>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);
}
%>-
--==[ RA ]==--
Light Professional
- Príspevky: 841
- Registrovaný: 03 mar 2006, 18:07
- Bydlisko: Kosice
- Kontaktovať používateľa:
Nepozeral som ti to detailne ale chyba ti tam cas platnosti, nieco take som vygooglil:
samozrejme v zatvorke je doba platnosti
Kód: Vybrať všetko
cookie.setMaxAge(365 * 24 * 60 * 60);