Hvad vil du opnå ved det ?
Du forringer sikkerheden fordi der mangler visse tegn og der er visse tegn som forekommer flere gange.
Det er bare de tegn, som må bruges i saltet, og funktionen returnerer 16 tilfældigt valgte tegn fra alfabetet. At du sætter dem i uorden giver ikke nogen god effekt.
Okay
Tak for hjælp, jeg giveer dig lige +1 op for her om 2min når jeg har test det hele og det virker
EIDT
Fejl her;
$salt = generateSalt(16); //<--- SHA 512 bruger et 16 tegn langt salt
- */
-
- function generateSalt($length) {
- $alphabet = './ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
- $alphabet_length = strlen($alphabet);
- $salt = '';
- for ($i = 0; $i < $length; $i++) {
- $salt .= $alphabet[rand(0, $alphabet_length - 1)];
- }
- return $salt;
- }
-
- /*
- * Opret bruger på siden og kan har mulighed for alle ting!..
- */
-
- function bruger_opret_siden(){
- if ($stmt = $this->mysqli->prepare('SELECT NULL FROM `bruger` WHERE `brugernavn` = ?'))
- {
- $stmt->bind_param('s', $brugernavn);
- $brugernavn = $_POST["brugernavn"];
- $stmt->execute();
- $stmt->store_result();
- $count = $stmt->num_rows;
- $stmt->close();
- if($count > 0)
- {
- $user_found = 1;
- }
- }
- if(!isset($user_found))
- {
- if($_POST["pass"] != $_POST["gentag"])
- {
- $errors = 1;
- echo "<li id=\"check_not\">Angive ens password på siden..</li>";
- }
- if(empty($_POST["pass"]) && empty($_POST["gentag"]))
- {
- $errors = 1;
- echo "<li id=\"check_not\">Angive et password på siden..</li>";
- }
- if(empty($_POST["navn"]))
- {
- $errors = 1;
- echo "<li id=\"check_not\">Angive et Fornavn</li>";
- }
- if(empty($_POST["efternavn"]))
- {
- $errors = 1;
- echo "<li id=\"check_not\">Angive et Efternavn</li>";
- }
- if(empty($_POST["land_by"]))
- {
- $errors = 1;
- echo "<li id=\"check_not\">Angive en by</li>";
- }
- if(empty($_POST["hojde"]))
- {
- $errors = 1;
- echo "<li id=\"check_not\">Angive en Højde</li>";
- }
- if(empty($_POST["email"]))
- {
- $errors = 1;
- echo "<li id=\"check_not\">Angive en Email</li>";
- }
- if(empty($_POST["brugernavn"]))
- {
- $errors = 1;
- echo "<li id=\"check_not\">Angive en Højde</li>";
- }
-
- if(!isset($errors))
- {
- $pb = null;
-
- include 'function/class.upload.php';
- $handle = new Upload($_FILES["file"]);
-
- if($handle->uploaded)
- {
- //lidt mere store billeder
- $handle->image_resize = true;
- $handle->image_ratio_y = true;
- $handle->image_x = 220;
- $handle->Process("profil-img/store");
-
- //til profil billede lign..
- $handle->image_resize = true;
- $handle->image_ratio_crop = true;
- $handle->image_y = 115;
- $handle->image_x = 100;
- $handle->Process("profil-img");
-
- //til profil billede lign..
- $handle->image_resize = true;
- $handle->image_ratio_crop = true;
- $handle->image_y = 75;
- $handle->image_x = 75;
- $handle->Process("profil-img/lille");
- $pb = $handle->file_dst_name;
-
- }
-
- $password = $_POST["pass"];
- $algorithm = '$6$'; //<--- Dette betyder SHA 512
- $salt = generateSalt(16); //<--- SHA 512 bruger et 16 tegn langt salt
-
- $hash = crypt($password, $algorithm . $salt);
-
- if ($stmt = $this->mysqli->prepare('INSERT INTO `bruger`
- (`rank`, `email`, `brugernavn`, `password`, `profilbillede`, `profilbillede_godkendt`, `navn`, `efternavn`, `alder_d`, `alder_m`, `alder_aar`, `status`, `kon`, `seksualitet`, `land_by`, `hojde`)
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'))
- {
-
- $stmt->bind_param('issssisssssiiisi', $rank, $email, $brugernavn, $password, $profilbillede, $pb_godkendt, $navn, $efternavn, $alder_d, $alder_m, $alder_aar, $kon, $seksualitet, $partnerstatus, $land_by, $hojde);
- $rank = '1';
- $pb_godkendt = '1';
- $email = $_POST["email"];
- $brugernavn = $_POST["brugernavn"];//C
- $password = $hash;//C
- $profilbillede = $pb;//C
- $navn = $_POST["navn"];
- $efternavn = $_POST["efternavn"];
- $alder_d = $_POST["alder_d"];
- $alder_m = $_POST["alder_m"];
- $alder_aar = $_POST["alder_aar"];
- $kon = $_POST["kon"];
- $seksualitet = $_POST["seksualitet"];
- $partnerstatus = $_POST["partnerstatus"];
- $land_by = $_POST["land_by"];
- $hojde = $_POST["hojde"];
-
- $stmt->execute();
- $stmt->close();
-
- echo "godkendt";
-
- }
- else
- {
- /* Der er opstået en fejl */
- echo 'Der opstod en fejl i erklæringen til ligge i databasen: ' . $mysqli->error;
- }
- }
- }
- else
- {
- echo "<li id=\"check_not\">Dette brugernavn er optaget!!</li>";
- }
- }
over på den side hvor de bliver henter altså functionerne
- <?php
- if(isset($_POST["godkendt_bruger"]))
- {
- $pass = $mebe->generateSalt();
- $users = $mebe->bruger_opret_siden();
- }
- else
- {
- echo "<li id=\"check_opret\">Indtast dine oplysninger herunder for at opret en bruger</li>";
- }
- ?>
bare skriver fejl sådan her;
Fatal error: Call to undefined function generateSalt() in /home/jesperbo/public_html/mebe/function/function.php on line 607
Fejl her;
$salt = generateSalt(16); //<--- SHA 512 bruger et 16 tegn langt salt
Indlæg senest redigeret d. 16.11.2012 16:16 af Bruger #17136