Wachtwoord hashen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP/Symfony developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Bergen op Zoom ben je als PHP/Symfony Developer niet alleen bezig met software ontwikkeling. Je bent buiten ontwikkeling ook continu bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Techstack: PHP, Symfony & mySQL. Jouw takenpakket ziet er als volgt uit: Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc 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

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Als junior .NET Developer lever je met jouw oplossingen direct een bijdrage aan de bedrijfsprocessen van de klanten. Werkzaamheden waar jij je zoal mee bezig houdt zijn; Het ontwikkelen, onderhouden en optimaliseren van de draaiende platforms van de klanten; Softwareontwikkeling middels C#, .NET; Klantcontact om de wensen te bespreken en uit te werken; Optimaliseren van de (huidige) bedrijfsprocessen; De IT-afdeling bestaat uit 30 personen verdeeld over 3 teams. Het team waar je in terecht komt bestaat uit ongeveer tien man. Het is een team wat bestaat uit betrokken collega’s, waar iedereen bereidt is om elkaar te

Bekijk vacature »

C# Developer

Dit ga je doen Je gaat aan de slag in het websites team of portals team waarin je je bezighoudt met concept & design, implementatie en ook een stukje bugfixing en onderhoud; Je werkt met je team volgens de Scrum werkwijze; Zo adviseer je ook de PO & Scrum Master over de technische architectuur, koppelingen en integratie met externe systemen en API’s; Je blijft op de hoogte van de laatste ontwikkelingen en trends op het gebied van C# / .NET en deelt deze kennis binnen de organisatie. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

Bekijk vacature »

C# .NET Developer IoT SQL Server

Samengevat: Wij ontwikkelen innovatieve oplossingen om apparaten en bezittingen op een eenvoudige en flexibele manier te beveiligen. Ben jij een C# .NET developer? Heb jij ervaring met C# en SQL server? Vaste baan: C# .NET Developer IoT HBO €3.200 - €4.500 Deze werkgever is gespecialiseerd in hoogwaardige GSM/GPRS alarm- en telemetrietechnologie. Met een eigen productlijn en klantspecifieke ontwikkelingen biedt deze werkgever oplossingen om op afstand te meten, melden, loggen en aansturen, ook op plaatsen zonder stroomvoorziening. Onze producten worden gekarakteriseerd door flexibiliteit in de configuratie, betrouwbaarheid en een extreem laag stroomverbruik. Zij werken voor MKB klanten. Deze werkgever heeft veel

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Capelle aan den IJssel zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je

Bekijk vacature »

Junior Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Samenwerken in een team van 10 collega's; Opleveren van mooie eindproducten, middels de Agile methodiek; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als startende IT-professional kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven.

Bekijk vacature »

PHP developer (Laravel, Docker, Gitlab-CI)

Functie Het IT-team bestaat momenteel uit 4 ontwikkelaars. Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. Een groot deel van de systemen is gebouwd met behulp van het Laravel framework en PHP (minimaal 7.2), Docker voor lokaab gebruik en Gitlab-CI voor het deployen

Bekijk vacature »

Full Stack .NET Developer

Dit ga je doen Als developer nieuwe gave features ontwikkelen; Werken met technieken als C#, Angular 12 en Javascript,; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een team van 7 professionals ben je als Full Stack .NET Developer verantwoordelijk voor het ontwikkelen van applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Wil je van meerwaarde

Bekijk vacature »

Medior C# Developer

You'll build modern applications for Coolblue's back office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

IoT Software Developer PHP

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een IoT software developer met kennis van PHP. In deze rol wordt je verantwoordelijk voor het vernieuwen van het multimedia platform van een super tof bedrijf in Breda. Je gebruikt PHP als programmeerlaag, en bent in staat om de helicopterview te pakken / projectmatig te werken. Jouw werkzaamheden zien er als volgt uit: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "intern" ontwikkelde multimedia platform. Je neemt de lead in het moderniseren van het platform door het deels opnieuw op te zetten of

Bekijk vacature »

C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Testen en valideren van de ontwikkelde software. Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je gaat aan de slag met diverse technologieën en frameworks. Denk hierbij aan C#, JS frameworks, HTML, CSS, TypeScript,

Bekijk vacature »

Pagina: « vorige 1 2 3 4 volgende »

Eeyk Vd noot

Eeyk Vd noot

08/03/2015 19:42:41
Quote Anchor link
Btw je moet geen Mysql_ meer gebruiken. gebruik Mysqli_ anders heb je straks een probleem als je webhosting een update geeft aan je huidige php versie.
 
PHP hulp

PHP hulp

27/11/2024 06:55:57
 
Dos Moonen

Dos Moonen

08/03/2015 20:12:56
Quote Anchor link
registratie pagina: include password.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php // kleurtjes
$password = $_POST['password'];
// controleer hier op minimale lengte, maximale lengte of wat dan ook
$hash = password_hash($password, PASSWORD_BCRYPT, array('cost' => 12));
$test = $hash; // of verander '$test' in die query door $hash
?>


login pagina: include password.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php // kleurtjes

// vervang regels 19 t/m 27 door dit

        if(($username == $table_users) && password_verify($password, $table_password))
        {

                $_SESSION['user'] = $username; // heb je geen id dat je kan gebruiken? is wat netter
                header("location: home.php");
                exit();
        }

?>


MD5 is niet aan te raden, zeker niet wanneer je maar 2 iteraties doet in plaats van een paar duizend. password_* functies zijn geschreven door mensen die er meer verstand van hebben dan wij.
Gewijzigd op 08/03/2015 20:13:15 door Dos Moonen
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 20:24:00
Quote Anchor link
Bedankt, het wegschrijven doet hij goed.

Alleen kan ik nu niet meer inloggen? (invalid password zegt hij):

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
<?php
include("password.php");
    session_start();
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);

    mysql_connect("localhost", "root","usbw") or die(mysql_error()); //Connect to server
    mysql_select_db("first_db") or die("Cannot connect to database"); //Connect to database
    $query = mysql_query("SELECT * from users WHERE username='$username'"); //Query the users table if there are matching rows equal to $username
    $exists = mysql_num_rows($query); //Checks if username exists
    $table_users = "";
    $table_password = "";
    if($exists > 0) //IF there are no returning rows or no existing username
    {
        while($row = mysql_fetch_assoc($query)) //display all rows from query
        {
            $table_users = $row['username']; // the first username row is passed on to $table_users, and so on until the query is finished
            $table_password = $row['password']; // the first password row is passed on to $table_users, and so on until the query is finished
        }
      if(($username == $table_users) && password_verify($password, $table_password))
        {

                $_SESSION['user'] = $username; // heb je geen id dat je kan gebruiken? is wat netter
                header("location: home.php");
                exit();
        }

        
        else
        {
            Print '<script>alert("Incorrect Password!");</script>'; //Prompts the user
            Print '<script>window.location.assign("login.php");</script>'; // redirects to login.php
        }

    }

    else
    {
        Print '<script>alert("Incorrect Username!");</script>'; //Prompts the user
        Print '<script>window.location.assign("login.php");</script>'; // redirects to login.php
    }
?>
 
- Ariën  -
Beheerder

- Ariën -

08/03/2015 20:26:33
Quote Anchor link
Je hasht hem niet bij de inlog.
 
Dos Moonen

Dos Moonen

08/03/2015 20:31:49
Quote Anchor link
Zet het volgende eens tussen regel 19 en 20:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var_dump($row, $_POST);

Post het resultaat hier, zorg dat je een test password gebruikt :p
Gewijzigd op 08/03/2015 20:32:31 door Dos Moonen
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 20:45:06
Quote Anchor link
dan krijg ik het volgende (username test1 password test1):


bool(false) array(2) { ["username"]=>string(5)"test1"["password"]=>string(5)"test1"}
 
Dos Moonen

Dos Moonen

08/03/2015 20:50:46
Quote Anchor link
Ik ben een idioot... het had tussen 18 & 19 gemoeten, sorry!
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 20:53:23
Quote Anchor link
geen probleem :)

array(10) { ["id"]=> string(2) "10" ["username"]=> string(5) "test1" ["password"]=> string(50) "$2y$12$2JQY43uS37k9nbNDgOZdYe3jhu63igEkRfLcaVr1E8Z" ["naam"]=> string(0) "" ["achternaam"]=> string(0) "" ["telefoonnr"]=> string(0) "" ["email"]=> string(0) "" ["straatnaam"]=> string(0) "" ["huisnr"]=> string(1) "0" ["postcode"]=> string(1) "0" } array(2) { ["username"]=> string(5) "test1" ["password"]=> string(5) "test1" }
 
Dos Moonen

Dos Moonen

08/03/2015 21:04:33
Quote Anchor link
Vergroot het 'password' veld in database, minimaal 66 geloof ik (uit mijn hoofd), maar doe gewoon 255.

MySQL heeft een deel van de hash weggegooit...
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 21:08:33
Quote Anchor link
THANKs!!!!!! dat was hem idd :)

Nog een vraagje:
$hash = password_hash($password, PASSWORD_BCRYPT, array('cost' => 12));
Wat doet "array('cost' => 12)" feitelijk als ik vragen mag?
 
Dos Moonen

Dos Moonen

08/03/2015 21:19:54
Quote Anchor link
Dat zorgt er voor dat het 2 tot de 12e macht keer een computatie doet. Voor het hashen van wachtwoorden wil je een relatief traag algoritme gebruiken. Bij Bcrypt kan je dynamisch de traagheid aanpassen door de cost parameter aan te passen
Het moet voor Bcrypt een waarde tussen 4 en 31 zijn. 2^12=4096. Die array is optioneel, de standaard cost is 10.

Nu je op een veilige manier wachtwoorden hast stel ik voor dat je switched van mysql_ functies naar de mysqli_ functies zodat je gebruik kunt maken van prepared statements. Het is netter en als je jezelf aanleert om altijd prepared statements te gebruiken is de kans dat je sql injecties mogelijk maakt kleiner.
Gewijzigd op 08/03/2015 21:29:28 door Dos Moonen
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 22:09:14
Quote Anchor link
Bedankt!
 
Ivo P

Ivo P

09/03/2015 09:17:51
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
include("password.php");
    session_start();
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);

    mysql_connect("localhost", "root","***") or die(mysql_error()); //Connect to server
    mysql_select_db("first_db") or die("Cannot connect to database"); //Connect to database
?>


De functie mysql_real_escape_string() heeft een database connectie nodig. Niet handig om die te gebruiken voordat je connect. PHP gaat nu zelf proberen zonder password te connecten. Meestal met een foutmelding tot gevolg.

escapen van je password bij het inloggen moet je niet doen trouwens.
Je gebruikt de waarde van $_POST['password'] niet in je query.

Stel het password is ' (alleen een single quote).
Na het escapen is het \'

Daarna haal je het gehaste password op. Dat zou de hash van ' moeten zijn.

Als je daarna de hash van \' bepaalt, is dat niet gelijk.
(tenzij je bij het opslaan van het password natuurlijk dezelfde fout maakt)
 
Dos Moonen

Dos Moonen

09/03/2015 10:52:50
Quote Anchor link
Ivo P op 09/03/2015 09:17:51:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
include("password.php");
    session_start();
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);

    mysql_connect("localhost", "root","***") or die(mysql_error()); //Connect to server
    mysql_select_db("first_db") or die("Cannot connect to database"); //Connect to database
?>


De functie mysql_real_escape_string() heeft een database connectie nodig. Niet handig om die te gebruiken voordat je connect. PHP gaat nu zelf proberen zonder password te connecten. Meestal met een foutmelding tot gevolg.

escapen van je password bij het inloggen moet je niet doen trouwens.

Goede punten. Maar de mysqli extensie gebruiken in combinatie met prepared statements is nog netter. Dan escape je dingen impliciet door waardes als waardes door te geven, niet als delen van de query.

Ivo P op 09/03/2015 09:17:51:
Je gebruikt de waarde van $_POST['password'] niet in je query.

Dat willen we ook helemaal niet, het wachtwoord komt niet verder dan PHP.

Ivo P op 09/03/2015 09:17:51:
Stel het password is ' (alleen een single quote).
Na het escapen is het \'

Daarna haal je het gehaste password op. Dat zou de hash van ' moeten zijn.

Als je daarna de hash van \' bepaalt, is dat niet gelijk.
(tenzij je bij het opslaan van het password natuurlijk dezelfde fout maakt)

Inderdaad niet gewenst.
 
Ivo P

Ivo P

09/03/2015 10:55:01
Quote Anchor link
Quote:
Dat willen we ook helemaal niet, het wachtwoord komt niet verder dan PHP.


dat zeg ik ook niet. Ik constateer alleen dat de reden voor het escapen het gebruik ik een query zou zijn. Aangezien dat niet plaats vindt (prima), is het escapen ook overboedig / ongewenst (zie rest)
 
Ronnie Peeters

Ronnie Peeters

09/03/2015 13:15:12
Quote Anchor link
Even een bijkomende vraag, ik heb een extra veld aangemaakt in mijn users tabel. Namelijk admin, wanneer er in dat veld de waarde "azert" is mogen ze aanloggen, maar ik wil ook de juiste footbooschap vermelden wanneer de gebruikersnaam, wachtwoord of dat ze idd access denied krijgen omdat ze geen admin rechten hebben.

Ik denk dat er iets mis is met mijn if else structuur, mogelijk nog iets anders. (mysql zal ik nog aanpassen naar mysqli of pdo) Als ik met de juiste credentials inlog die admin rechten hebben, heb ik geen probleem.
Maar als ik inlog met een gebruikersnaam die niet bestaat, krijg ik gewoon en wit scherm. Hetzelfde als ik inlog met een acccount die wel bestaat maar geen admin is?

Alvast bedankt!

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
<?php
    session_start();
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    $bool = true;

    mysql_connect("localhost", "ok", "ok") or die (mysql_error());
    mysql_select_db("first_db") or die ("Cannot connect to database");
    $query = mysql_query("Select * from users WHERE username='$username'");
    $exists = mysql_num_rows($query);
    $table_users = "";
    $table_password = "";
    if($exists > 0)
    {

       while($row = mysql_fetch_assoc($query))
       {

          $table_users = $row['username'];
          $table_password = $row['password'];
         $admin = $row['admin'];
      }

      if (($admin =="azert"))
      {

      
       if(($username == $table_users) && ($password == $table_password) && ($admin == "azert"))
       {

          
          if($password == $table_password)
          {

             $_SESSION['user'] = $username;
            $_SESSION['admin'] = $admin;
             header("location: home.php");
          }

          else
              
           {
        Print '<script>alert("Incorrect username!");</script>';
        Print '<script>window.location.assign("login.php");</script>';
       }
       }

       else
       {
        Print '<script>alert("Incorrect Password!");</script>';
        Print '<script>window.location.assign("login.php");</script>';
       }
    }

    else
    {
        Print '<script>alert("Acces denied!");</script>';
        Print '<script>window.location.assign("login.php");</script>';
    }}

?>
Gewijzigd op 09/03/2015 13:17:07 door Ronnie Peeters
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/03/2015 13:55:56
Quote Anchor link
Even in jip en janneke taal:

Inloggen is om te bepalen WIE een anonieme gebruiker zou kunnen zijn. Alle gebruikers zijn in den beginne anoniem maar we willen niet dat iedereen overal zomaar bij kan. Daarom willen we gebruikers identificeren aan de hand van een gebruikersnaam/email en wachtwoord.
Daarna is een anonieme gebruiker in eens een bekende gebruiker geworden en kunnen we uit de database lezen welke rechten (of rollen) de gebruiker heeft.

Bovenstaande brengt ons op het logische punt dat je altijd eerst gaat inloggen om de identiteit te achterhalen van de gebruikers en pas daarna ga je bepalen welke rechten ze hebben.


dus:
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
<?php
if($username == $table_users && $password == $table_password)
{

    $_SESSION['user'] = $username;
    $_SESSION['admin'] = $admin;

    if($admin == "azert")
    {

        header("location: admin.php");
    }
else {
        header("location: home.php");
    }
}

?>


Toevoeging op 09/03/2015 14:00:11:

Ik zou je foutmeldingen beperken tot 'Combinatie van gebruikersnaam en wachtwoord onjuist.'. Dit om hackers niet de informatie te geven dat ze bijvoorbeeld de gebruikersnaam al geraden hebben.

Toevoeging op 09/03/2015 14:05:04:

Een access denied pagina zou ik hooguit tonen aan gebruikers die
a) reeds ingelogd zijn
b) onvoldoende rechten hebben om de pagina te bekijken

Deze pagina mag ook een normale webpagina zijn die netjes de mededeling 'Onvoldoende rechten' laat zien.

Voor gebruikers die niet zijn ingelogd zou ik doorsturen naar de loginpagina.
 
Ward van der Put
Moderator

Ward van der Put

09/03/2015 14:07:08
Quote Anchor link
Ronnie Peeters op 09/03/2015 13:15:12:
Ik denk dat er iets mis is met mijn if else structuur, mogelijk nog iets anders. (mysql zal ik nog aanpassen naar mysqli of pdo) Als ik met de juiste credentials inlog die admin rechten hebben, heb ik geen probleem.

En daarnaast is je if/else-structuur inderdaad niet goed. Verbeter je het inspringen, dan zie je dat if ($admin == "azert") bij false (dus de gebruiker is geen admin) altijd eindigt in inloggen:
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
<?php
if ($exists > 0) {
    while($row = mysql_fetch_assoc($query)) {
        $table_users = $row['username'];
        $table_password = $row['password'];
        $admin = $row['admin'];
    }

    if ($admin == "azert") {
        if(($username == $table_users) && ($password == $table_password) && ($admin == "azert")) {
            if ($password == $table_password) {
                $_SESSION['user'] = $username;
                $_SESSION['admin'] = $admin;
                header("location: home.php");
            }
else {
                print '<script>alert("Incorrect username!");</script>';
                print '<script>window.location.assign("login.php");</script>';
            }
        }
else {
            print '<script>alert("Incorrect Password!");</script>';
            print '<script>window.location.assign("login.php");</script>';
        }
    }
else {
        print '<script>alert("Acces denied!");</script>';
        print '<script>window.location.assign("login.php");</script>';
    }
}

?>
 
Ronnie Peeters

Ronnie Peeters

09/03/2015 20:19:50
Quote Anchor link
Voor wat dient die exit() in het volgende?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php // kleurtjes

// vervang regels 19 t/m 27 door dit

        if(($username == $table_users) && password_verify($password, $table_password))
        {

                $_SESSION['user'] = $username; // heb je geen id dat je kan gebruiken? is wat netter
                header("location: home.php");
                exit();
        }

?>


Alvast bedankt!
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/03/2015 20:24:06
Quote Anchor link
bij de header() functie geef je aan dat de client doorgestuurd wordt maar hiermee wordt het script nog niet beëindigd. Je script loopt na het wijzigen van de headers (dat een onderdeel is van je response) gewoon door omdat er ook gewoon content meegegeven kan worden wat enkel bij een redirect geen zin heeft.
 

Pagina: « vorige 1 2 3 4 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.