Autor | Zpráva | ||
---|---|---|---|
Jonáš1 Profil * |
#1 · Zasláno: 1. 3. 2011, 14:35:35
Ahoj, udělal jsem si kod na automatické přihlášení(autologin)
<?php if($_COOKIE['autologin_active']=="1" && strlen($_COOKIE['autologin_login'])>0 && strlen($_COOKIE['autologin_heslo'])>0 && strlen($_COOKIE['autologin_idses'])>0){ if(isset($_GET["strana"]) and $_GET["strana"] == "login") { $search_user = mysql_query("SELECT password FROM users WHERE login=\"".$_COOKIE['autologin_login']."\" "); if(mysql_num_rows($search_user)>0){ list($search_user) = mysql_fetch_array($search_user); if($_COOKIE['autologin_heslo']==md5(md5($search_user))){ $_SESSION["username"]=$_COOKIE['autologin_login']; $_SESSION["idses"]=$_COOKIE['autologin_idses']; } } }elseif ($login && $heslo) { $search_user=mysql_query("SELECT * FROM users WHERE login=\"$login\" and password=\"$heslo\" "); $sql=mysql_fetch_array($search_user); if(mysql_num_rows($search_user)){ $_SESSION["username"]=$sql['login']; if ($_POST['autologin']==1) { setcookie("autologin_active", "1", time()+(12*365*24*60*60)); setcookie("autologin_login", $login, time()+(12*365*24*60*60)); setcookie("autologin_heslo", md5(md5($heslo)), time()+(12*365*24*60*60)); setcookie("autologin_idses", iduser($login, $heslo), time()+(12*365*24*60*60)); } $_SESSION['idses'] = true; } } } ?> problém je že se to dá hacknout nějak přes URL adresy javascript idses=[id].... a samo se to přihlásí za uživatele dá se to nějak tento kod zabezpečit? |
||
Tori Profil |
#2 · Zasláno: 1. 3. 2011, 15:49:53 · Upravil/a: Tori
Dají se ošetřit vstupy do DB (mysql_real_escape_string).
Odkud se berou proměnné $login a $heslo? Co dělá funkce iduser() ? Jestli jen zjišťuje ID uživ., nešlo by číst z $sql['id'] ? edit: Pořádně jsem si přečetla, co píšete o JavaScriptu - ošetření vstupů do DB sice zvýší bezpečnost, ale k tomu JS vám neporadím (nevím, jak se to dá nabourat). |
||
Jonáš1 Profil * |
#3 · Zasláno: 1. 3. 2011, 16:05:02
Nabourat se to dá právě přes tento kod:
if($_COOKIE['autologin_active']=="1" && strlen($_COOKIE['autologin_login'])>0 && strlen($_COOKIE['autologin_heslo'])>0 && strlen($_COOKIE['autologin_idses'])>0) já už bohužel taky nevím jak se to dalo nabourat, právě tento kus kodu sem smazal před rokem jak sem to zjistil, a teď ho tam chci zpět protože jedině tak mi běží autologin |
||
Časová prodleva: 13 let
|
0