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 »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Digital Agency is looking for PHP developers!

Functie The team currently has 20 colleagues, consisting of developers (front and backend) and the operations team, which also includes management and two scrum masters. They are looking for a PHP developer who is able to work independently. You will work in one of the three scrum teams and start working on a project for the customer. The interesting thing about this is that you do have variety in terms of work, but at the same time continuously work for existing customers. This also gives you the opportunity to really go into depth and develop innovative technical solutions. In terms

Bekijk vacature »

Senior Lead Front End Developer

Functieomschrijving Voor Stichting Waternet zijn wij op zoek naar een senior Lead Front End Developer. Binnen het DevOps team Online zijn we op zoek naar een Senior Lead Front End developer met kennis van toegankelijkheid. Deze developer zal zich bezighouden met development van webpaginas die in verbinding staan met systemen uit het back office. Taken Ontwerpen, ontwikkelen, implementeren, documenteren en beheren van webapplicaties in een Azure-omgeving Debuggen, analyseren en oplossen van problemen in de OTAPomgevingen Je participeert in het DevOpsTeam Online voor het verder uitwerken en implementeren van gebruikerswensen Je bent betrokken bij toegankelijkheid audits en het implementeren van WCAG

Bekijk vacature »

C# Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Wil jij graag aan de slag als C# ontwikkelaar en jouw skills verder ontwikkelen? Zoek niet verder! Als C# ontwikkelaar ga je aan de slag met de volgende taken: (verdere) ontwikkeling van de software voor de interne processen binnen een .net omgeving; optimaliseren van de dataprocessing; ontwerpen en implementeren van zowel desktop- als web-programmatuur; ontwikkeling van tools ten behoeve van consultants en klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Den Bosch. Zij ontwikkelen business intelligence software voor een specifieke branche. Dit houdt in dat zij dashboards ontwikkelen

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Gezocht: Ervaren VB6 developer met C# ambitie!

Bedrijfsomschrijving Dit bedrijf is een vooraanstaande softwareleverancier die gespecialiseerd is in het ontwikkelen van software pakketten voor autoschade herstel bedrijven. De software wordt gebruikt door meer dan de helft van alle autoschade herstel bedrijven in Nederland. Het team van professionals is op zoek naar getalenteerde collega developers die hun vaardigheden willen inzetten om het bedrijf te laten groeien. Functieomschrijving Voor dit bedrijf zoek ik een ervaren VB6 / VB.NET developer met interesse om op termijn verder te gaan in C#. In deze functie ben je verantwoordelijk voor het onderhouden van de bestaande softwarepakketten. Een deel van de code is nog

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Dordrecht zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Fullstack Developer

Functieomschrijving Voor een erkende werkgever in regio Etten-Leur zijn wij op zoek naar een Fullstack Developer met PHP/Laravel ervaring. Je gaat aan de slag met het bouwen van maatwerk software voor klanten die actief zijn in een specifieke markt. Als fullstack developer ben je samen met een enthousiast team van 7 collega’s verantwoordelijk voor de ontwikkeling, beheer en innovatie van informatiesystemen voor klanten in een specifieke branche. Verder ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Ervaring met Laravel is een must. Om de klant zo goed mogelijk te

Bekijk vacature »

Low-Code Expert/Developer: Power Platform Speciali

Bedrijfsomschrijving Als Low-Code Expert/Developer bij ons innovatieve bedrijf, neem je een cruciale rol op je in de creatie, ondersteuning en implementatie van diverse oplossingen met behulp van het veelzijdige Power Platform. Dit platform omvat Power Apps, Power BI, Power Automate, Power Virtual Agent en Azure Logic Apps. Het Power Platform biedt je de mogelijkheid om klanten te voorzien van naadloze integraties door op maat gemaakte oplossingen te creëren die compatibel zijn met (bijna) alle bestaande software-infrastructuren. Dankzij het uitgebreide scala aan toepassingen, krijg je de kans om als architect en projectleider van je eigen oplossing te fungeren. Dompel jezelf onder

Bekijk vacature »

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 »

Lead React Developer

Dit ga je doen Als Lead React Developer zul jij je voornamelijk gaan bezighouden met: Het werken aan tal van uiteenlopende projecten waar gloednieuwe (web)applicaties van scratch af aan ontwikkeld worden met o.a. React (Native) en Drupal; Het aansturen van een team bestaande uit 5-6 talentvolle en gedreven ontwikkelaars; Het adviseren en meedenken over nieuwe (technische) oplossingen en te gebruiken tools/frameworks; Het meedenken over de architectuur en de juiste implementatiebeslissingen maken; De doorontwikkeling van huidige applicaties. Hier ga je werken Als je inderdaad een ervaren Lead React Developer bent die zichzelf graag nog verder wil ontwikkelen dan is het goed

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 developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

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/11/2024 03:03:02
 
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.