sikkerhedstjek virker ikke?

Tags:    php

Hej alle

Jeg er igang med at lave et script hvor man kan opdatere sit password. Det virker også fint...sådan da. Men mit sikkerhedstjek virker ikke hvis man efterlader et tomt felt, eller det vil sige at fejl beskeden kommer op som den skal, men ændringerne sker alligevel i min database? Jeg har nu selv prøvet i meget lang tid at finde fejlen, men har nu givet op:S Her er mit script:

Fold kodeboks ind/udKode 




8 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
nogen af de fejl jeg lige kunne se, skulle være rettet her:

Fold kodeboks ind/udKode 


Edit: rettet lidt i koden.



Indlæg senest redigeret d. 08.01.2009 18:29 af Bruger #3427
du kan også bare prøve at skrive
elseif($number != 1) {
i stedet for
if($number != 1) {






if(!$password2) {

Spørger du ikke bare om variablen eksisterer der, ikke om den er tom.

php kan have noget indbygget, men prøv at sammenligne variablen med en tom streng i stedet.

måske sådan her:

($password2 == '')

Vh







som du sikkert kan læse er jeg ikke så meget inde i php, men jeg tror du har stor risiko for at folk laver lidt sql injection på det site. Især når du poster kildekoden offentligt.

Dog kan man ikke umiddelbart se hvor det afvikles, så hold da i det mindste det hemmeligt :)

/H



du kan ikke bruge if(!$password2) { da det vil betyde at indholdet af $password2 skulle være en boolsk værdi og ikke en streng

du kan bruge if(strlen($password2) == 0){


Eidt:
kunne være du skulle kigge på MD5 eller SHA1 til passwords



Indlæg senest redigeret d. 08.01.2009 17:09 af Bruger #3427
Nu har jeg prøvet at udskifte if(!$password2) { } med if(strlen($password2)==0){ } men med samme resultat, jeg har også prøvet tidligere med if(strlen($password2)==""){ } det virker heller ikke :S



Årh nu virker det! jeg gennelæser dine rettelser om lidt! men faktum er at nu virker sikkerheden som den skal:D:D:D mange tak!



Årh nu virker det! jeg gennelæser dine rettelser om lidt! men faktum er at nu virker sikkerheden som den skal:D:D:D mange tak!


Det er jo som man tager det. Alle variable, der bruges i SQL bør lige sendes en tur igennem mysql_real_escape_string:
Fold kodeboks ind/udKode 


...og magic quotes bør slåes fra (det er ikke engang understøttet i PHP 6).



t