Forum » Izdelava spletišč » php login - simple
php login - simple
hidetr ::
Yo, ne spoznam se dosti na varnost pri php-ju in sem še kar nov v tem jeziku... so bare with me.
Videl sem pri kolegu, da uporablja razmeroma preprosto scripto za login:
function logIn($username, $password){
$pass= stripslashes($password);
$user= stripslashes($username);
$query = sprintf("SELECT * FROM login WHERE _user='%s' and _pass='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($pass));
$result = mysql_query($query);
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
$count=mysql_num_rows($result);
if($count==1){
return $user;
}
else{
return false;
}
}
Sem probal malo potestirat doma in deluje v redu. Rabil bi nekaj podobnega za eno izy stran.
Kako je z varnostjo ? je to varno pred injectioni?
Videl sem pri kolegu, da uporablja razmeroma preprosto scripto za login:
function logIn($username, $password){
$pass= stripslashes($password);
$user= stripslashes($username);
$query = sprintf("SELECT * FROM login WHERE _user='%s' and _pass='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($pass));
$result = mysql_query($query);
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
$count=mysql_num_rows($result);
if($count==1){
return $user;
}
else{
return false;
}
}
Sem probal malo potestirat doma in deluje v redu. Rabil bi nekaj podobnega za eno izy stran.
Kako je z varnostjo ? je to varno pred injectioni?
Looooooka ::
teoreticno gledano bi mogl bit.
lahko pa zacnes kj bl objektnega uporabljat, kjer je za te zadeve poskrbljeno
v phpju mas baje tole:
http://pear.php.net/manual/en/package.d...
pa kksna opensource mysql wrapper knjiznica, ki skrbi za te zadeve tud obstaja.
lahko pa zacnes kj bl objektnega uporabljat, kjer je za te zadeve poskrbljeno
v phpju mas baje tole:
http://pear.php.net/manual/en/package.d...
pa kksna opensource mysql wrapper knjiznica, ki skrbi za te zadeve tud obstaja.
technolog ::
Ne, ni čisto kul. Sicer nič groznega, ampak kul.
Izdajanje notranjih podatkov napadalcu. Če napadalcu nekako uspe naredit error, oz. je po tvoji krivdi, dobi napadalec podatke, ki jih bolje da ne bi mel. To je sicer ranjljivost nižjega ranga, ne skrbet, ampak vseeno raje logiraj napake v datoteko ali bazo.
In ni treba uporabljat knjižnic, samo ustvarjajo nepotrebne odvisnosti od tuje kode. Edino funkcijo mysql_real_escape_string() lahko skrajšaš v mres(), ker je res nemarno dolga.
function mres($str) {return mysql_real_escape_string($str);}
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
Izdajanje notranjih podatkov napadalcu. Če napadalcu nekako uspe naredit error, oz. je po tvoji krivdi, dobi napadalec podatke, ki jih bolje da ne bi mel. To je sicer ranjljivost nižjega ranga, ne skrbet, ampak vseeno raje logiraj napake v datoteko ali bazo.
In ni treba uporabljat knjižnic, samo ustvarjajo nepotrebne odvisnosti od tuje kode. Edino funkcijo mysql_real_escape_string() lahko skrajšaš v mres(), ker je res nemarno dolga.
function mres($str) {return mysql_real_escape_string($str);}
Zgodovina sprememb…
- spremenil: technolog ()
jype ::
Za formatiranje SQL poizvedb uporabi generično funkcijo ki prepreči vrivanje, ali pa še bolje: Uporabi ORM kakšnega ogrodja za take reči. Zadnje čase je popularen http://www.symfony-project.org/
krho ::
jype: pa ne linkat na staro verzijo no: symfony2 stabilna od konca julija, uporabna, po mojih izkušnjah že celo letošnje leto :) Čeprav, če bo tule se šel z loginom ukvarjat bo doktorat naredil preden bo skupaj spravil kaj konkretnega, razen če skopira vse skupaj iz primera . Sva pa oba offtopic. Je technolog lepo popravil.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | PHP povezava z MysqlOddelek: Izdelava spletišč | 925 (770) | snooze77 |
» | mySQL prikaz apostrofOddelek: Izdelava spletišč | 1094 (981) | -=aVa=- |
» | MySQL Query VprašanjeOddelek: Izdelava spletišč | 3213 (2978) | overlord_tm |
» | [php] Knjiga gostovOddelek: Izdelava spletišč | 3157 (2360) | darix |
» | [PHP] moj forum :DOddelek: Izdelava spletišč | 1522 (1361) | medobear |