Wachtwoord hashen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C#.NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie; Het oplossen van bugs en incidenten. Hier ga je werken Als C#.NET Developer binnen deze organisatie kan jij het verschil maken. Zij werken momenteel nog met programmatuur die is ontwikkeld in C++. Hiervan gaan zij afscheid nemen zodra alle nieuwe software in C#.NET geschreven is. Een grootschalig en langdurig project. Voor hen is deze software van

Bekijk vacature »

.NET software developer

Functie omschrijving Voor een gewilde werkgever in omgeving Roosendaal zijn wij op zoek naar een back-end software developer met een aantal jaar werkervaring. Je krijgt een plekje in het workflow team en je zal betrokken worden bij het bouwen van nieuwe software, en het optimaliseren van bestaande code. Je werkt bij dit bedrijf in een Scrum team waarin je soms klantcontact hebt. Jouw werkzaamheden zullen er als volgt uit zien: Je krijgt een plekje op de in-house IT afdeling. Deze afdeling bestaat uit zo'n 12 collega's, verdeeld over verschillende specialisaties (BI, Beheer, Business software & workflow). De vacature staat open

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

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 »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Capelle ad Ijssel Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Een deel van jouw werkzaamheden: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps en Power BI.

Bekijk vacature »

Medior/senior front end developer React Sportsoftw

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van onze stack; Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor

Bekijk vacature »

APEX Ontwikkelaar in een team van Oracle Developer

Bedrijfsomschrijving Wij zijn op zoek naar een APEX Ontwikkelaar om onze opdrachtgever in Den Haag te versterken. In deze rol zul je verantwoordelijk zijn voor het ontwikkelen en onderhouden van de front-end van onze applicaties met behulp van Oracle Application Express (APEX). Je werkt aan zowel inhouse als externe projecten. De sfeer binnen het Oracle team is gemoedelijk en men probeert elkaar te helpen én van elkaar te leren. Zo ontstaat er een prettige en plezierige werksfeer waar ruimte is voor persoonlijke ontwikkeling en groei. Er wordt gewerkt met de meest nieuwe technologieën waardoor je kennis up-to-date blijft. Het bedrijf

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Arnhem gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Als C# .NET Developer binnen dit bedrijf houd je je niet alleen bezig met het verbeteren van

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in ons development team met twee andere .NET developers. Als team werken jullie in scrum en is er iedere ochtend om 11.00 een standup. Jij krijgt als junior .NET ontwikkelaar een inwerk traject dat echt specifiek wordt ingericht op basis van wat jij nodig hebt. Een van de grootste pluspunten bij ons is dat wij binnen ons bedrijf veel (technische) vrijheid geven en juist eigen initiatieven erg stimuleren. Jouw werkzaamheden gaan er bij ons als volgt uit zien: – Het ontwikkelen van nieuwe software samen met interne en eventueel externe ontwikkelaars; – Het

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Dynamics Ontwikkelaar

Dit ga je doen Ontwikkelen van Dynamics 365 voor de interne uitrol; Samen met de consultants sparren met klanten over de wensen en eisen; Ontwikkelen van Dynamics 365 voor verschillende grote klanten; Technische analyse en testen; Meedenken over het gebruik en de richting van Dynamics binnen de organisatie. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er

Bekijk vacature »

C# developer

Functie omschrijving We are looking for a dutch native speaker Ik ben op zoek naar een back-end developer, die met name kennis & ervaring heeft van de programmeertaal C#. Jij gaat aan de slag bij een topspeler in de logistieke sector, die zich behalve met logistiek, ook bezig houdt met softwareontwikkeling. Welke taken komen hierbij kijken? Je gaat desktop- en webapplicaties onderhouden en optimaliseren, waarin je werkt met o.a. C#, ASP.NET, SQL Server en T-SQL. Je hebt regelmatig klantcontact om de wensen in kaart te brengen en te evalueren over de huidige draaiende applicaties. Je implementeert nieuwe functionaliteiten toe aan

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

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 »

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

20/04/2024 15:16:58
 
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.