help blowfish

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Front-end developer

Functie Jij komt te werken in een team van 5 developers. het product is continue in beweging. Nieuwe en bestaande klanten vragen om vaak nieuwe features. Hierin ben jij zeer belangrijk om te zorgen dat de functionaliteiten goed opgezet worden op technisch vlak. Designs krijg je aangeleverd van een externe partij zodat jij je primair kan focussen op de techniek! Je hebt daarbij alle vrijheid om je eigen creativiteit toe te passen en mee te denken over de gebruikte technieken. Het gezamenlijke doel is een product dat functioneel zeer gebruiksvriendelijk is en het bedrijfsproces van de gebruikers versneld en kwalitatief

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »

Back-end developer (Magento2)

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

Medior front-end developer gezocht (€3.300 -

Functie Wat ga je doen? Jij als front-end developer gaat werken binnen de teams van/voor onze klant. Je werkt in een team met starters en ervaren ontwikkelaars met allemaal 1 overeenkomst; passie voor het vak. Maak je een fout? Geen probleem, leer ervan en ga dan weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en jezelf dus snel ontwikkelen. Wat hebben we jou te bieden? • Uitdagende projecten bij mooie klanten (bij jou in de buurt, of binnenkort intern vanuit ons kantoor!) • Een jonge organisatie met talentvolle collega’s • Veel ruimte voor

Bekijk vacature »

Java Ontwikkelaar

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

Experienced Lead Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Delft Vacature ID: 13301 Introductie We are seeking a Lead Java Developer for our team in the area of Delft. You will develop an application used exclusively by the engineers and geologists for site characterizations, which imports raw field and laboratory measurements for further processing, integration, ground modelling, and geotechnical analysis and reporting. The client/server application is entirely written in Java, and the server is hosted in the Amazon cloud, utilizing frameworks such as Spring and Hibernate, and connected to an MS SQL Server RDS instance. There is a trend towards using more

Bekijk vacature »

C# Developer

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Door middel van ASP.NET, MVC Framework en C# ga je webshops, websites en webapplicaties ontwikkelen. Je zorgt voor de optimalisatie van bestaande software en de automatisering van bedrijfsprocessen. Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Bedrijfsprofiel

Bekijk vacature »

Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Software Programmeur

Functie omschrijving Voor onze opdrachtgever in omgeving Rotterdam zijn wij opzoek naar een software programmeur die goed kan schrijven in de talen C of C++ en die het leuk vind om te werken met Linux! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Bedrijfsprofiel Dit bedrijf wil de klanten een volledige oplossing kunnen bieden, waarbij ze een

Bekijk vacature »

Java Front-end Developer

Dit ga je doen Ontwikkelen van nieuwe functionaliteiten in Java met tools als Springboot, MS SQL Server (T-SQL) en JavaScript; Het onderhouden van de (web-)applicaties binnen een complexe omgeving; Werken aan de migratie van een monolithisch systeem naar een architectuur gebaseerd op Kubernetes; Code reviews met collega's en actieve kennisuitdelingsessies voeren; Het uitvoeren van unit- en systeemtests Experimenteren met nieuwe tools en technieken. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

Pagina: « vorige 1 2 3 volgende »

Kenny iets

kenny iets

21/09/2014 16:53:40
Quote Anchor link
Bart V B op 21/09/2014 16:52:16:
Zoals je ziet heb je nooit een zelfde hash. Dat is ook de bedoeling.
Maar volgens mij heb je mijn tweede voorbeeld niet gebruikt anders had je gezie dat het wel werkt.


ja
maar ik snap het gwn echt niet dat
het is me dan wel gelukt voor een registatie pagina te maken
maar inloggen niet
 
PHP hulp

PHP hulp

23/12/2024 09:30:41
 
Bart V B

Bart V B

21/09/2014 16:58:03
Quote Anchor link
Laat je code van registreren en login eens zien wat je nu hebt.
 
Kenny iets

kenny iets

21/09/2014 17:10:12
Quote Anchor link
login heb ik nu niet meer
registreren
[spoiler]
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
require_once("config.php");
if(isset($_POST['hidden']) && $_POST['hidden'] ==1){

$username = $mysqli->real_escape_string($_POST['username']);
 $password = $mysqli->real_escape_string($_POST['password']);
 $password2 =$mysqli->real_escape_string($_POST['password2']);

if ($password == $password2){
 $sql1 = $mysqli->query("SELECT username from user WHERE username='".$username."'");
if($sql1->num_rows == 1){
echo"bestaat al";
 }
else{
         $sql3 = $mysqli->query( "INSERT INTO user (`username`, `password`) VALUES ('".$username."','".password_hash($password, CRYPT_BLOWFISH)."')");
 }

}
else{
    echo "passworden komen niet overeen";
}
}

?>

<html>
<head><title>registeer</title></head>
<body>

<form action='registeer.php' method='post'>
username:<input type='text'name='username'/> <br />
password: <input type='password'name='password' /> <br />
password retype: <input type='password'name='password2' /> <br />
<input type='hidden' name='hidden' value=1>
<input type='submit' value='registeer'>
</form>

</body>
</html>

[/spoiler]
 
Ward van der Put
Moderator

Ward van der Put

21/09/2014 17:13:17
Quote Anchor link
if ... else ... else ...?

Of heb je toch nog wat weggelaten?
 
Kenny iets

kenny iets

21/09/2014 17:17:05
Quote Anchor link
ik denk tog dat er nog wat foutjes in zitten maar het werkt wel;:)
 
Ward van der Put
Moderator

Ward van der Put

21/09/2014 17:21:37
Quote Anchor link
Just checking.

Ik dacht dat je een stuk code had weggelaten, ook omdat je na $sql1 ineens $sql3 hebt en er nergens een $sql2 te vinden is...
 
Kenny iets

kenny iets

21/09/2014 17:30:53
Quote Anchor link
ergens een andere php bestand
iemand die dat dat fouten op kon leveren


Toevoeging op 21/09/2014 17:36:51:

maar ff tot zaken
kan jullie helpen met login script?
 
- Ariën  -
Beheerder

- Ariën -

21/09/2014 20:47:52
Quote Anchor link
Heb je al iets geprobeerd met Barts code? Verder plaats je al alles goed gevalideerd is een sessie.
 
Kenny iets

kenny iets

21/09/2014 20:56:39
Quote Anchor link
dat is een regestratie
en ja maar kwam er niet egt uit om het in me login te bouwen
en heb hem verwijder dus moet hem zo ff op nieuw maken
 
- Ariën  -
Beheerder

- Ariën -

21/09/2014 21:27:08
Quote Anchor link
Die code is bedoeld om een hash van een wachtwoord te controleren. Voor een login pagina dus.

Let a.u.b. ook even op je taalgebruik. We zitten op een forum en niet op Whatsapp waar je verkortte woorden als 'egt' gebruikt.
Gewijzigd op 21/09/2014 21:35:00 door - Ariën -
 
Bart V B

Bart V B

23/09/2014 09:31:44
Quote Anchor link
Zal een keer je laten zien hoe je het ongeveer moet doen:
login.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
session_start();

$mysqli = new mysqli('host', 'user', 'password', 'database');
if(mysqli_connect_errno())
{

    trigger_error('Fout bij verbinding: '.$mysqli->error);
}



if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{

    $options = [
            'cost' => 10
           ];
          
    $username = $mysqli->real_escape_string($_POST['username']);
    
    $sql = "SELECT username FROM user WHERE username= '".$username."' AND password = '".password_hash($_POST['password'], PASSWORD_BCRYPT, $options)."'";
    
    if(!$result = $mysqli->query($sql))
    {

    trigger_error('Fout in query: '.$mysqli->error);
    }

    else
    {
        if( $result->num_rows > 0 )
        {

            // session aanmaken
            $_SESSION['loggedin'] = true;
            // doorsturen naar beveiligde pagina
            header('Location: beveiligdepagina.php');
            exit();
        }

        else
        {
            echo 'Login gegevens kloppen niet.';
        }
        
    }

}

?>


<html>
<head><title>Login</title></head>
<body>

<form action="login.php" method="post">
username: <input type="text" name="username" /> <br />

password: <input type="password" name="password" /> <br />

<input type="submit" value="registeer">
</form>

</body>
</html>
 
Sam van Broemsen

Sam van Broemsen

23/09/2014 16:57:27
Quote Anchor link
Nooit een error aan een gebruiker laten zien, die $mysqli->error; moet dus weg als het systeem openbaar wordt gemaakt.
Gewijzigd op 23/09/2014 16:58:08 door Sam van Broemsen
 
Ward van der Put
Moderator

Ward van der Put

23/09/2014 17:04:43
Quote Anchor link
Sam, er staat geen echo voor, hè.

Een professionele productieomgeving stel je zó in dat elke kritieke error of exception centraal wordt afgehandeld en in een log verschijnt. Dáár bepaal je vervolgens ook wat de gebruiker ervan te zien krijgt, bijvoorbeeld een foutmelding.
 
Sam van Broemsen

Sam van Broemsen

23/09/2014 17:16:28
Quote Anchor link
Ward van der Put op 23/09/2014 17:04:43:
Sam, er staat geen echo voor, hè.

Een professionele productieomgeving stel je zó in dat elke kritieke error of exception centraal wordt afgehandeld en in een log verschijnt. Dáár bepaal je vervolgens ook wat de gebruiker ervan te zien krijgt, bijvoorbeeld een foutmelding.


Een foutmelding laten zien is prima,
Maar om alle informatie over de fout te laten zien is een beetje overbodig en komt onprofessioneel over. Wanneer mensen bij Google een foutje maken en er misschien een MySQL-Error komt, dan is de fout toch ook niet meteen zichtbaar?
 
Ward van der Put
Moderator

Ward van der Put

23/09/2014 17:24:15
Quote Anchor link
>> Maar om alle informatie over de fout te laten zien is een beetje overbodig en komt onprofessioneel over.

Dat doet trigger_error() in het voorbeeld van Bart ook helemaal niet. trigger_error() laat het PHP-script een user error gooien. Wat je daarmee vervolgens doet, is aan jou.
 
Bart V B

Bart V B

23/09/2014 18:22:04
Quote Anchor link
Sam,
Ik maak al lang genoeg scripts om te weten hoe het wel en niet moet.
Op of aanmerkingen betreft mijn voorbeeld zijn prima. Maar laat het dan ook zien met een beter voorbeeld en kijk dan eerst even wat een ding doet zoals trigger_error().
 
Kenny iets

kenny iets

23/09/2014 19:49:20
Quote Anchor link
Bart V B op 23/09/2014 09:31:44:
Zal een keer je laten zien hoe je het ongeveer moet doen:
login.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
session_start();

$mysqli = new mysqli('host', 'user', 'password', 'database');
if(mysqli_connect_errno())
{

    trigger_error('Fout bij verbinding: '.$mysqli->error);
}



if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{

    $options = [
            'cost' => 10
           ];
          
    $username = $mysqli->real_escape_string($_POST['username']);
    
    $sql = "SELECT username FROM user WHERE username= '".$username."' AND password = '".password_hash($_POST['password'], PASSWORD_BCRYPT, $options)."'";
    
    if(!$result = $mysqli->query($sql))
    {

    trigger_error('Fout in query: '.$mysqli->error);
    }

    else
    {
        if( $result->num_rows > 0 )
        {

            // session aanmaken
            $_SESSION['loggedin'] = true;
            // doorsturen naar beveiligde pagina
            header('Location: beveiligdepagina.php');
            exit();
        }

        else
        {
            echo 'Login gegevens kloppen niet.';
        }
        
    }

}

?>


<html>
<head><title>Login</title></head>
<body>

<form action="login.php" method="post">
username: <input type="text" name="username" /> <br />

password: <input type="password" name="password" /> <br />

<input type="submit" value="registeer">
</form>

</body>
</html>

moet
password_hash
password_verify
zijn?
 
Sam van Broemsen

Sam van Broemsen

24/09/2014 15:53:51
Quote Anchor link
Ik snap zelf niet hoe je daar op bent gekomen.

Een hash kan nooit het zelfde zijn.

Je moet de wachtwoorden uit de db halen waarvan de gebruikersnaam $_POST['username'] is.

Dan doe je if (password_verify($_POST['username'], $passwordvandb)) : echo "Jippie!"; else : "Mwahh.. Niet gelukt."; endif;

En als dat nog te moeilijk is, dan vraag ik je om eerst de basis van if statements te leren, of eerst een inlogsysteem maken zonder iets gehasht. Dit is echter wel heel onveilig, maar het is waarschijnlijk wel handig om te weten hoe een inlogsysteem werkt.
 
Kenny iets

kenny iets

27/09/2014 15:45:44
Quote Anchor link
dit heeft een vriend voor me gemaakt :)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
require "config.php";
if ($_SERVER['REQUEST_METHOD'] == "POST") {
        if ($_POST['username'] == NULL) {
                $login_error =  "username in vullen aub";
        }

        if ($_POST['password'] == NULL) {
                $login_error =  "password invullen aub";
        }

      
       if (isset($_POST['password']) && isset($_POST['username'])) {

$username = $mysqli->real_escape_string($_POST['username']);
$password = CRYPT_BLOWFISH;


$query = $mysqli->query("SELECT * FROM user WHERE username = ".$username." AND password = ".$password." LIMIT 1");

        if ($query->num_rows == 1) {

                $row = $query->fetch_assoc();

                $_SESSION['loggedin'] = TRUE;
                $_SESSION['username'] = $_POST['username'];
                $_SESSION['uid'] = $row['id'];
                header("location: member.php");

        }
else {
            header('Location: index.php');
            echo "user bestaat niet";
            exit;
        }
}
}


?>

<html>
<head>
<title>Inloggen</title>
</head>
<body>
<form method="POST">
<?php if(isset($username) == TRUE){ echo $username; }else{echo "username";}?>: <input type="text" name="username"><br>
<?php if(isset($password) == TRUE){ echo $password; }else{echo "password";}?>: <input type="password" name="password"><br>
<input type="submit" value="<?php echo "login " ?>"><br>
</form>
</body>
</html>
[/code/
 
Dos Moonen

Dos Moonen

27/09/2014 19:24:25
Quote Anchor link
Hij snapt het blijkbaar ook niet helemaal.

password_hash() is op het moment van schrijven een wrapper om de crypt() functie handige defaults. Dit komt omdat de enige mode die er nu voor bestaat PASSWORD_BCRYPT is. In de toekomstige PHP versies kunnen er nieuwe modi bij komen en kan de default ook veranderen.

password_hash() heeft drie parameters, waarvan maar één verplicht is.
- het wachtwoord
- optioneel: de modus
- optioneel: modus specifieke opties

De standaard modus is op het moment de enige modus: PASSWORD_BCRYPT.
De opties voor de modus PASSWORD_BCRYPT zijn de 'cost' en de 'salt'.

De cost is een waarde van 4 tot en met 31. 2 to de macht 'cost' is het aantal hash iteraties dat wordt gedaan. Stel dit zo in dat het 100-300 milliseconden duurt voor het hashen van een wachtwoord. Dat is snel genoeg voor één succesvolle login, maar traag genoeg om (offline) bruteforce aanvallen miljarden euro's te laten kosten en je dus de user de schuld kan geven omdat het een slecht wachtwoord heeft gekozen als het gekraakt wordt.

De salt wil je eigenlijk nooit zelf instellen, de standaard manier genereert die namelijk op een veilige manier. Don't try this at home, unless you are an expert.
De bedoeling van een salt is om te zorgen dat wanneer gebruikers het zelfde wachtwoord te hebben ze niet ook nog eens de zelfde hash hebben. Salts horen dus uniek te zijn. Je zou dit in theorie kunnen forceren door zelf salt in te stellen maar in de praktijk is dit het niet waard.

Doordat salts dus telkens gegenereerd worden zal er dus telkens een nieuwe hash gegenereerd worden, ook al hash je telkens het zelfde wachtwoord.
Maar je hebt natuurlijk wel de originele salt nodig om er achter te komen of het ingevoerde wachtwoord de zelfde hash oplevert. Dat is de reden dat de salt in de hash verwerkt zit, net als de cost aangezien deze ook invloeg heeft op de uiteindelijke hash.

Dus het resultaat van bcrypt is eigenlijk geen hash omdat de hash maar een deel is van het resultaat.
Een username en wachtwoord is dus genoeg input van de gebruiker om te controleren of de gebruiker wel is wie hij/zij zegt dat hij is:
1) Probeer het resultaat van password_hash() dat is opgeslagen in dat database op te halen met een query waar de username in verwerkt is.
2) Als er geen user met die username gevonden is weergeef je een error.
3) Als er wel een user is met die username heb je dus je password_hash() resultaat dat de cost, salt en hash bevat.
4) Voer password_verify() de door de gebruiker opgegeven password en het password_hash() resultaat.
5) Weergeef een error als het resultaat van password_verify() FALSE is.
6) Log de gebruiker in als het resultaat van password_verify() TRUE is.


Wat er dus fout is aan het bovenstaande script is dat de query kijkt of het wachtwoord '1' is. Haal alles vanaf 'AND'. LIMIT 1 mag op zich blijven.
Er is geen if waar je controleert wat het resultaat van password_verify($POST['password'], $row['password']) is.

Voor de rest kunnen er nog dingen netter:
- geen star-select, selecteer alleen het veld password.
- gebruik op regels 4 en 7 !isset($POST['blabla']) en niet $POST['blabla'] == NULL
- een exit na regel 26.
- regels 43 en 44 zijn alleen om te testen neem ik aan? Het wachtwoord in HTML proberen te zetten is geen goed idee namelijk. Sowieso hoort heel die $password variabele weg te kunnen.
 

Pagina: « vorige 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.