Inlog script

Pagina: 1
Acties:
  • 39 views sinds 30-01-2008

  • Pwigle
  • Registratie: December 2000
  • Laatst online: 08-09 18:12
Het inlogscript moet als verificatie goed is iemand doorverwijzen naar een andere pagina.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//Check of goede wachtwoord en password zijn ingevuld   
$query= "SELECT voornaam, achternaam, wachtwoord FROM beheerders WHERE voornaam = '$sle_username' AND wachtwoord='$sle_password'";  
$result = mysql_query($query);
$row = mysql_fetch_row($result);
    
if ($sle_password == mysql_result($result, "wachtwoord"))
    session_start();
    $_SESSION["admin"]= $sle_username;
    $location = "Location: http://".$HTTP_SERVER_VARS['HTTP_HOST']
    ."".dirname($HTTP_SERVER_VARS['PHP_SELF'])
      ."/admin.php";
      header($location);
    exit;
    }
    {
            $errorMessage= "Helaas pindakaas.. je bent geen admin";
        }
    }
?>

Hij gaat hier de mist in:
code:
1
if ($sle_password == mysql_result($result, "wachtwoord"))

Wat doe ik fout ?

  • FoxzMan
  • Registratie: September 2000
  • Laatst online: 01-03 20:35
gebruik het volgende stukje:
PHP:
1
<?$Results = mysql_num_rows($Query);if ($Results == '1') {echo (u bent ingelogd); }else {echo (u bent geen admin);}?>

Het stukje code kijkt of de query 1 resultaat heeft, zo ja dan heeft de administrator de juiste gegevens ingevuld en is hij ingelogd....

Zijn er 0 resultaten, dan heeft de administrator de verkeerde gegevens ingevuld.

-


  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

//OT: Let erop dat de code die je nu gebruikt case-insensitive is, dus niet echt optimaal veilig.

This can no longer be ignored.


  • FoxzMan
  • Registratie: September 2000
  • Laatst online: 01-03 20:35
Op dinsdag 07 mei 2002 21:35 schreef Erik Jan het volgende:
//OT: Let erop dat de code die je nu gebruikt case-insensitive is, dus niet echt optimaal veilig.
Kun je oplossen door de kolommen waarin je de usernames en userpasswords op "binary" te zetten.

Of in de volgende query te gebruiken (wel even aanpassen aan je eigen form en tabel)
code:
1
SELECT * FROM users WHERE NOT (STRCM(username,'$LoginNaam') OR STRCMP(userpassword,'$LoginPassword'))

-


  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

heb je overal { en } op de juiste plekken staan en wat is de error?

Sundown Circus


  • Virtox
  • Registratie: December 2000
  • Laatst online: 11-08 10:24
over veiligheid gesproken :
als je nu als wachtwoord invult :
' and 1=1 ' oid

Anything goes !!


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op donderdag 09 mei 2002 22:32 schreef MoodSwing het volgende:
over veiligheid gesproken :
als je nu als wachtwoord invult :
' and 1=1 ' oid
tja ... dan is je wachtwoord niks, dus matcht die niet.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 10 mei 2002 00:20 schreef Orphix het volgende:
tja ... dan is je wachtwoord niks, dus matcht die niet.
Dan maak je ervan:
blaat' OR 1=1

net zo makkelijk ;)
Oftewel _altijd_ je invoer waarden controleren...
mysql_escape_string is zooo makkelijk, dus waarom zou je het niet gebruiken? ;)

  • Pwigle
  • Registratie: December 2000
  • Laatst online: 08-09 18:12
He bah, ondanks al jullie goeie adviesen, ben ik er nog niet uit.
Ik ben redelijk nieuw in de php, maar na eindeloos kloten wil het niet.. zou iemand een klein voorbeeldje willen geven van hoe het wel moet ?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

ga maar eens op zoek naar wat tutorials. inlogscripts worden vrijwel overal behandeld

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.