Avatar billede kimmys Nybegynder
28. juli 2004 - 19:49 Der er 14 kommentarer og
1 løsning

md5 krypteret, hvordan?

Spørgsmål til alle... jeg har lige fået et login script med autologin (http://www.eksperten.dk/spm/524169), men der står i scriptet "// Glem ikke at passwords skal gemmes som md5 krypteret i DB'en"
Men hvordan gør jeg det?
Avatar billede gil-galad Nybegynder
28. juli 2004 - 19:53 #1
Bruger du phpmyadmin? Bruger du Mysql?  For så kan du, når du indsætter dit kodeord sætte funktionen til at være MD5 - og så bliver alt der kommer derind MD5 krypteret.

Hvis der bare er tale om et enkelt kodeord der skal krypteres, er det nok lettere at skrive det her, og så bare cut 'n paste de krypterede kodeord ind: http://www2.spejdernet.dk/chrlilje/tools/md5.php
Avatar billede salmanr Nybegynder
28. juli 2004 - 20:03 #2
Lav en form til brugerinput. Når du så har fået et input fra brugeren. Laver du en variabel ud af inputtet. kunne jo være $password, så skriver du bare
$password =md5($password), så er det lavet om til md5-format.
Avatar billede kimmys Nybegynder
28. juli 2004 - 20:06 #3
det var bare et..

Men nu har jeg prøvet det sidste og men når jeg taster brugernavnet ind og taster den ikke krypteret kode.. og trykker login får jeg dette svar "Unknown column 'Brugernavet' in 'where clause'
Avatar billede Slettet bruger
28. juli 2004 - 20:37 #4
Det er jo så et problem henledt til dit SQL kald.

Husk at man ikke kan dekryptere md5, du kan kun sammenligne to krypterede strenge, for password auth.
Avatar billede salmanr Nybegynder
28. juli 2004 - 20:43 #5
Så når du får login inputtet fra brugeren, skal du inden du sammenligner med db'en huske at lave inputtet til md5format inden du laver sammenligningen.
Avatar billede salmanr Nybegynder
28. juli 2004 - 20:44 #6
Smid gerne noget kode, hvis du kommer i vanskeligheder.
Avatar billede kimmys Nybegynder
28. juli 2004 - 21:05 #7
okay.. hmm er stadig ikke med..

Jeg har fået et login script her fra; http://showsource.dk/php/vis_script.php?id=1066495650&sh=0e78daef51588c99e36382e68061e205

det eneste der står er "Åben settings.php og ret til dit brug."

dette er settings.php ->

<?php
// Glem ikke at passwords skal gemmes som md5 krypteret i DB'en

$db_host = "localhost"; //Host der connectes til
$db_user = "brugernavn"; // Dit brugernavn
$db_pass = "brugerpassword"; // Dit password

$db_table = "DB-navn"; // DB der vælges

$login_db = "brugere"; // DB-table hvor brugernavne og passwords ligger. Husk at gemme passwords som md5 krypteret
$user_felt = "username"; // Feltnavn for brugernavn
$pass_felt = "password"; // Feltnavn for passwords

$actionfile = "check.php"; //Filnavnet på den fil som der submittes til m.m.

?>

hvilket jeg har gjort så...  Der følger også en database med som jeg faktisk havde regnet med at den selv ligge ind.. men den har jeg selv lagt ind og rettet til så bruger og password passer sammen... men det viker bare ikke..
Avatar billede salmanr Nybegynder
28. juli 2004 - 21:45 #8
Scriptet ser fint nok ud der mangler bare et register script dertil, ellers har du jo ingen brugere til scriptet. Det der står med at du skal huske md5 hash er noget du skal implementere i dit register script. her er et eksempel på et register script:

Først lige en side til brugerens input:

<?
/*Denne side er kodet af SalmanR.
  Du er velkommen til at bruge koden som du lyster,
  skulle du vælge at bruge koden i den samme form. Bedes du venligst lade denne comment blive.*/
 
  //Så skal vi have lavet et nyt password. Vi starter lige med en form.
?>
<html>
<head>
<title>Nyt pass</title>
</head>
<body>
<font size=1><center><font color=$textcolor1>Skriv din Email!<br> Brugernavn!<br> Skriv dit nye password 2 gange og tryk på opret!<br>
                    Husk at bruge 6 eller flere tegn. Ikke et krav, men det vil gøre dig mere sikker på<br>
                    at ingen gætter din kode.
                    </center></font>
<form name="input" method="post" action="make_password.php">
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="7%" align="left" valign="top"><font size="1"><font color=$textcolor1>Email</font></td>
      <td width="93%"><input size="10"name="email_address" type="text" id="email_address"></td>
    </tr>
    <tr>
      <td align="left" valign="top"><font size="1"><font color=$textcolor1>Brugernavn</font></td>
      <td><input size="10"name="username" type="text" id="username"></td>
    </tr>
    <tr>
      <td align="left" valign="top"><font size="1"><font color=$textcolor1>Ny Pass</font></td>
      <td><input size="10"name="new_password" type="password" id="new_password"></td>
    </tr>
    <tr>
      <td align="left" valign="top"><font size="1"><font color=$textcolor1>Gentag pass</font></td>
      <td><input size="10" name="repeat_new_password" type="password" id="repeat_new_password"></td>
    </tr>
    <tr>
      <td align="left" valign="top">&nbsp;</td>
      <td><input type="submit" name="Submit" value="Opret!"></td>
    </tr>
  </table>
</form>
</center>
</body>
</html> 

Så et til at lave database ændringer(Altså lave brugeren på siden), sender desuden en mail til brugeren.

<?
/*Denne side er kodet af SalmanR.
  Du er velkommen til at bruge koden som du lyster,
  skulle du vælge at bruge koden i den samme form. Bedes du venligst lade denne comment blive.*/
 
  //Så skal vi have lavet variablerne.
  $email_address = $_POST['email_address'];
  $username = $_POST['username'];
  $new_password = $_POST['new_password'];
  $repeat_new_password = $_POST['repeat_new_password'];
 
  //Først tester vi om der overhovedet er skrevet noget i felterne.
  if((!$new_password) || (!$repeat_new_password))
  {
    echo "<font color=red><font size=1><center>Du har ikke skrevet noget i felterne!</center></font>";
    include("make_password_form.php");
    }
  //Så tester vi lige om de er ens.
  if($new_password != $repeat_new_password)
  {
    echo "<font color=red><font size=1><center>De 2 indtastede passwords er ikke ens!</center></font>";
    include("make_password_form.php");
  }
  //Test om det indtastede er ens.
  if($new_password == $repeat_new_password)
  {
    //Så laver vi det indtastede om til md5 format.
    $new_password =md5($new_password);
   
    //So far so good:) Så Skal vi have det nye password sat ind i db'en og have sendt en mail til brugeren.
    //Tror lige det kræver en kop kaffe inden jeg går videre.
   
    //Vi inkluderer lige databasen.
    include("db.php");
   
    $sql = mysql_query("UPDATE users SET password='$new_password' WHERE username='$username'");
                       
      if(!$sql)
      {
        echo "<font color=$textcolor1>There has been an error creating your account. Please contact the webmaster.";
      }
      else
      {
        $userid = mysql_insert_id();
        $subject = "Your Password at MyWebsite!";
    $message = "Hej Din Password er nu ændret!
   
    Nyt password: $repeat_new_password
   
    http://www.mywebsite.com/login.php
   
   
    Webmaster
   
    Denne mail er automatisk, så undlad venligst at besvare den.";
   
    mail($email_address, $subject, $message, "From: MyDomain Webmaster<admin@mydomain.com>\nX-Mailer: PHP/" . phpversion());
    echo "<font size=1><center><font color=$textcolor1>Dit nye password er sendt til din email!<br /><br /></center";
    include 'login.php';
      } }
?>
Avatar billede salmanr Nybegynder
28. juli 2004 - 21:46 #9
Kig evt. på www.hotscripts.com for tutorials om emnet.
Avatar billede kimmys Nybegynder
28. juli 2004 - 22:55 #10
Salmanr:

Det ser meget flot ud alt det der.... Men.. Jeg skal ikke ha' så folk kan registere sig.. Jeg har en brugergruppe nu.. og vi har allerede et login med et brugernavn og kode.. problemet er bare at vi er blevet trætte af at vi hele tiden skal logge på.. derfor ville jeg bare ha' et Login med Autologin, ikke noget med multilogin eller registering.. bare login og autologin.. Er det noget du kender noget til`?
Avatar billede salmanr Nybegynder
29. juli 2004 - 09:42 #11
Jamen virker cookie funktionen i sriptet ikke?
Avatar billede kimmys Nybegynder
30. juli 2004 - 21:38 #12
gil-galad
kom med et svar
Avatar billede gil-galad Nybegynder
30. juli 2004 - 22:28 #13
Kunne du bruge det til noget?
Avatar billede kimmys Nybegynder
31. juli 2004 - 22:17 #14
he he tjaaa... nææææ... Men.. det link du gav var jo rigtigt nok.. men jeg fik hjælp af en anden med det der Login script!
Avatar billede gil-galad Nybegynder
01. august 2004 - 00:18 #15
ok, takker for points :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester