Skaptrollet Skrevet 4. desember 2003 Del Skrevet 4. desember 2003 jeg vet det er dreamweaver generert mye av koden men ikke la det stoppe dere å hjelpe meg! jeg har 2 script hvorav det ene skal vise alle brukere som er registrert og passordet. Passordet blir lagret i md5 og det virker som dreamweaver koden ikke er glad i md5 krypterte passord for jeg måtte slite litt for å få fikset sånn at passordene blir md5. uansett her er koden som viser registrerte og hvor du kan registrere deg: <?php require_once('Connections/conn.php'); ?> <?php $nick = $_POST['nick']; $passord = $_POST['passord']; $cryptpassord = md5($passord); function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = (" INSERT INTO `brukere` ( `nick` , `passord` ) "); VALUES ( '$nick', md5($passord ) ); mysql_select_db($database_conn, $conn); $Result1 = mysql_query($insertSQL, $conn) or die(mysql_error()); $insertGoTo = "index.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) { $insertSQL = sprintf("INSERT INTO brukere (nick, passord) VALUES (%s, %s)", GetSQLValueString( $nick, "text" ), GetSQLValueString( md5($passord), "text" )); mysql_select_db($database_conn, $conn); $Result1 = mysql_query($insertSQL, $conn) or die(mysql_error()); } mysql_select_db($database_conn, $conn); $query_Recordset1 = "SELECT nick, passord FROM brukere"; $Recordset1 = mysql_query($query_Recordset1, $conn) or die(mysql_error()); $row_Recordset1 = mysql_fetch_assoc($Recordset1); $totalRows_Recordset1 = mysql_num_rows($Recordset1); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>md5+SQL kryptering</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <table width="200" border="1"> <tr> <td>NICK</td> <td>PASSORD</td> </tr> <?php do { ?> <tr> <td><?php echo $row_Recordset1['nick']; ?></td> <td><?php echo $row_Recordset1['passord']; ?></td> </tr> <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?> </table> <p> </p> <form method="post" name="form2" action="<?php echo $editFormAction; ?>"> <table align="center"> <tr valign="baseline"> <td nowrap align="right">Nick:</td> <td><input type="text" name="nick" value="" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right">Passord:</td> <td><input type="password" name="passord" value="" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right"> </td> <td><input type="submit" value="Insert record"></td> </tr> </table> <input type="hidden" name="MM_insert" value="form2"> </form> <p> </p> </body> </html> <?php mysql_free_result($Recordset1); ?> og her er koden til login script! hvis jeg kopierer md5 koden så går det å logge inn men det går ikke hvis jeg taster inn passordet så jeg tror jeg må bruke et mellom script som sjekker mot md5 hashen. men da er jo egentlig passordet i ren tekst? <?php require_once('Connections/conn.php'); ?> <?php // *** Validate request to login to this site. session_start(); $loginFormAction = $_SERVER['PHP_SELF']; if (isset($accesscheck)) { $GLOBALS['PrevUrl'] = $accesscheck; session_register('PrevUrl'); } if (isset($_POST['brukernavn'])) { $loginUsername=$_POST['brukernavn']; $password=$_POST['passord']; $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "http://www.vg.no"; $MM_redirectLoginFailed = "http://google.com"; $MM_redirecttoReferrer = false; mysql_select_db($database_conn, $conn); $LoginRS__query=sprintf("SELECT nick, passord FROM brukere WHERE nick='%s' AND passord='%s'", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); $LoginRS = mysql_query($LoginRS__query, $conn) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = ""; //declare two session variables and assign them $GLOBALS['MM_Username'] = $loginUsername; $GLOBALS['MM_UserGroup'] = $loginStrGroup; //register the session variables session_register("MM_Username"); session_register("MM_UserGroup"); if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form name="form1" method="POST" action="<?php echo $loginFormAction; ?>"> <input name="brukernavn" type="text" id="brukernavn"> <input name="passord" type="password" id="passord"> <input type="submit" name="Submit" value="Submit"> </form> </body> </html> noen som vet hva problemet er? Takk for alle svar Lenke til kommentar
entotre Skrevet 4. desember 2003 Del Skrevet 4. desember 2003 Du må md5-kryptere passordet som skrives inn ved innlogging for at det skal matche det som ligger i databasen. Sammenlikne altså passord i db med "md5($passord_som_skrives_inn)". Da burde det gå fint. Ellers er det som du sier - passordet i ren tekst vil ikke stemme med det krypterte. Det er noe av vitsen med krypteringen. Lenke til kommentar
Skaptrollet Skrevet 4. desember 2003 Forfatter Del Skrevet 4. desember 2003 det var noe sånt jeg trodde men dumme dreamweaver koden er litt slit å bearbeide takk for svar nå skal det blir tøft her Lenke til kommentar
Skaptrollet Skrevet 4. desember 2003 Forfatter Del Skrevet 4. desember 2003 det var noe sånt jeg trodde men dumme dreamweaver koden er litt slit å bearbeide takk for svar nå skal det blir tøft her Lenke til kommentar
Torbjørn Skrevet 5. desember 2003 Del Skrevet 5. desember 2003 står det ikke noe dokumentasjon i dreamweaver til denne koden/funksjonaliteten da? Lenke til kommentar
The Red Devil Skrevet 5. desember 2003 Del Skrevet 5. desember 2003 Veit ikkje om du har fikset koden ennå, men vist ikkje prøv og bytt if (isset($_POST['brukernavn'])) { $loginUsername=$_POST['brukernavn']; $password=$_POST['passord']; til if (isset($_POST['brukernavn'])) { $loginUsername=$_POST['brukernavn']; $encrypt = md5($_POST['passord']); $password=$encrypt; Den burde fungere, men visse parter av den koden der forstår eg ikkje heilt kvifor er slik den er så det kan være du må forandre på database søket etter brukeren/passwordet og. Lenke til kommentar
Skaptrollet Skrevet 5. desember 2003 Forfatter Del Skrevet 5. desember 2003 koden er helt mongo pga dreamweaver men det løste seg Lenke til kommentar
Torbjørn Skrevet 5. desember 2003 Del Skrevet 5. desember 2003 jeg synes koden så grei ut... Lenke til kommentar
Skaptrollet Skrevet 5. desember 2003 Forfatter Del Skrevet 5. desember 2003 dreamweaver er jo helt mongo og da! jeg lager en tabell som skal skrive til sql og slettr den og lager den på nytt og da har jeg 2(!!!) helt like innføringer av php og sql kode, eneste som forsvant når jeg slettet den var html koden. tydelig at det er et stort problem til dreamweaver, men det funker. veldig dårlig koden av dreamweaver men funker det så funker det. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå