Waar let je op bij een login systeem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3

Soccertime website

soccertime website

11/02/2016 20:40:10
Quote Anchor link
het werkt nu goed dat recht voor admin heb ik niet nodig want dit formulier is alleen voor admins normale gebruikers kunnen er geen gebruik van maken,
hoe kan ik nu doen dat wanneer admin 1 inlogt er komt te staan welkom admin 1
of als 2 inlogt welkom admin 2

----------------------------------------------------------------------------------------------
edit: ik weet niet wat er nu fout gaat maar nu kan ik wel weer via mijn browser balk naar admin.php ik heb het script wat ik in mijn vorige reactie geplaatst gekopiëerd om te kijken of en nu een fout zat in het nieuwe maar dit is niet het geval als ik het script letterlijk kopieer en plak kan ik weer via mijn browser balk naar admin.php
----------------------------------------------------------------------------------------------
edit 2: ik heb nog een keer gekeken en kwam erachter dat in microsoft edge het wel werkt maar in chrome niet nadat ik de volgende regels php toevoegde kon ik ook weer via mijn browserbalk naar admin.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
// Juiste gebruikersnaam en wachtwoord: inloggen!
    $_SESSION['logged_in'] = true;
    $_SESSION['gebruiker'] = $sGebruiker;
Gewijzigd op 11/02/2016 21:14:15 door soccertime website
 
PHP hulp

PHP hulp

02/05/2024 07:58:06
 
- Ariën  -
Beheerder

- Ariën -

11/02/2016 21:13:34
Quote Anchor link
Ik wil je toch nog eens vriendelijk vragen om die tutorial nog eens door te nemen. Daarin wordt beschreven hoe je de techniek achter sessies kan integreren in een inlogsysteen.
 
Soccertime website

soccertime website

11/02/2016 21:18:28
Quote Anchor link
- Ariën - op 11/02/2016 21:13:34:
Ik wil je toch nog eens vriendelijk vragen om die tutorial nog eens door te nemen. Daarin wordt beschreven hoe je de techniek achter sessies kan integreren in een inlogsysteen.


ik ben nu al de hele tijd bezig met die tutorial sinds ik die link heb gekregen
maar ik kom er gewoon niet uit wat ik fout doe,

het volgende gaat nu mis je kon niet meer via de browserbalk naar admin.php
maar nu kon je ook niet meer inloggen.
dus ging ik naar de tutorial toen kwam ik deze regels php tegen daarmee zou het volgens mij opgelost moeten zijn

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
// Juiste gebruikersnaam en wachtwoord: inloggen!
    $_SESSION['logged_in'] = true;
    $_SESSION['gebruiker'] = $sGebruiker;


deze regels plaatste ik op regel 19 boven header(location: admin.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
<?php
session_start();
// Controle of het formulier verzonden is
if($_SERVER['REQUEST_METHOD'] == 'POST')
    
 
// Controle of benodigde velden wel ingevuld zijn
if(isset($_POST['name'], $_POST['pass']))


$con= mysqli_connect('127.0.0.1','root','','lgt');
if(isset($_POST['login'])){
    $name= mysqli_real_escape_string($con,$_POST['name']);
    $password= mysqli_real_escape_string($con,$_POST['pass']);
    $select_user="SELECT * FROM user WHERE naam ='$name' AND wachtwoord ='$password' ";
    $run_user= mysqli_query($con, $select_user);
    $check_user= mysqli_num_rows($run_user);
    if($check_user>0){
        header('location: admin.php');
    }
else {
        echo 'uw naam en/of gebruikersnaam kloppen niet';
    }
}

        ?>

<!doctype html>
<html>
    <head>
        <title>loginscript test</title>
    </head>
    <body>
        <form action="" method="post">
            Naam: <br/> <input type="name" name="name" value=""/><br/>
            Wachtwoord: <br/> <input type="password" name="pass" value=""/><br />
            <input type="submit" value="inloggen" name="login">
        </form>
    </body>
</html>

nadat ik dit gedaan heb kon ik weer inloggen maar kon ik ook weer via de browserbalk naar admin.php
Gewijzigd op 11/02/2016 21:20:27 door soccertime website
 
- Ariën  -
Beheerder

- Ariën -

11/02/2016 21:19:40
Quote Anchor link
Daarmee maak je die sessies aan, inderdaad!
 
Soccertime website

soccertime website

11/02/2016 21:21:02
Quote Anchor link
maar nu kan ik ook weer via mijn browserbalk naar admin.php
 
Obelix Idefix

Obelix Idefix

11/02/2016 21:42:32
Quote Anchor link
Je slaat een wachtwoord zonder encryptie op in de database?
 
Soccertime website

soccertime website

11/02/2016 21:43:03
Quote Anchor link
dit snap ik niet?
 
- Ariën  -
Beheerder

- Ariën -

11/02/2016 22:54:21
Quote Anchor link
Jij kan iedereen hun wachtwoord uitlezen. Dat lijkt mij niet echt betrouwbaar. En wat als je database uitgelekt wordt, en de wachtwoorden van je gebruikers ook toebehoren aan andere diensten? Juist, dan ligt hun priveleven op straat.

Gebruik daarom: password_hash en password_verify
Gewijzigd op 11/02/2016 22:57:47 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

11/02/2016 23:13:51
Quote Anchor link
Na een header('Location: ...') dient bijna altijd een "exit" te staan zoals al eerder uitgelegd.

Je vergeet ongeveer alles waar je op zou moeten letten bij een veilig loginsysteem to be fair...
 
Soccertime website

soccertime website

11/02/2016 23:14:57
Quote Anchor link
Oke hier zal ik naar gaan kijken maar wat gaat er nu eigenlijk mis bij het aanmaken van de sessies waardoor ik weer admin.php in mijn browser balk kan krijgen
 
Thomas van den Heuvel

Thomas van den Heuvel

12/02/2016 01:11:55
Quote Anchor link
Ik snap de vraag niet.

Iedereen kan intypen in zijn of haar adresbalk wat zij willen. De scripts op die locatie moeten afgeschermd worden middels code zodat alleen bevoegden bepaalde code uit kunnen voeren maar iedereen staat vrij om het script aan te roepen - wat dit script verder doet bepaal jij door wat je programmeert.
 
Soccertime website

soccertime website

12/02/2016 16:23:53
Quote Anchor link
ik kan dus niet meer in mijn browserbalk naar admin.php maar nu heb ik ook het probleem dat ik zelf niet meer kan inloggen want ik wordt weer teruggestuurd dan zet ik het volgende stukje code er in
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
// Juiste gebruikersnaam en wachtwoord: inloggen!
    $_SESSION['logged_in'] = true;
    $_SESSION['gebruiker'] = $sGebruiker;

voor het stukje php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
  header('location : admin.php');

nu kan ik ook weer inloggen maar kan ik ook weer via mijn browser balk admin.php invullen en er naartoe gaan zonder in te loggen.

wat gaat er in deze stap fout
 
- Ariën  -
Beheerder

- Ariën -

12/02/2016 16:38:24
Quote Anchor link
Wat doet admin.php? Heb je relevante code?
je laatste grote codeblok is alleen van je inlogpagina.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/02/2016 17:07:52
Quote Anchor link
"Security through obscurity" waarbij je na het inloggen naar een "geheime pagina" navigeert lijkt mij geen goede oplossing. Je zult admin.php via code moeten afschermen. Dit doe je op grond van controles.

Je hebt net een zwik code geschreven om dingen over verschillende pagina's te onthouden middels een sessie, maak hier dan ook gebruik van? Oftewel, voer in admin.php controles uit op $_SESSION en besluit op grond hiervan wat iemand met deze pagina kan doen.

Ik maak hier (wederom) uit op dat je nog niet echt een gevoel hebt hoe deze principes werken of hoe je ze kunt toepassen, maar wellicht komt dat nog.
 
Soccertime website

soccertime website

12/02/2016 20:13:33
Quote Anchor link
dit is mijn 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
<?php
session_start();
// Controle of het formulier verzonden is
if($_SERVER['REQUEST_METHOD'] == 'POST')
    
 
// Controle of benodigde velden wel ingevuld zijn
if(isset($_POST['name'], $_POST['pass']))


$con= mysqli_connect('127.0.0.1','root','','lgt');
if(isset($_POST['login'])){
    $name= mysqli_real_escape_string($con,$_POST['name']);
    $password= mysqli_real_escape_string($con,$_POST['pass']);
    $select_user="SELECT * FROM user WHERE naam ='$name' AND wachtwoord ='$password' ";
    $run_user= mysqli_query($con, $select_user);
    $check_user= mysqli_num_rows($run_user);
    if($check_user>0){
        // Juiste gebruikersnaam en wachtwoord: inloggen!
        $_SESSION['loggin'] = true;
        $_SESSION['gebruiker'] = $sGebruiker;
        header('location: admin.php');
        exit();
    }
else {
        echo 'uw naam en/of gebruikersnaam kloppen niet';
    }
}

        ?>

<!doctype html>
<html>
    <head>
        <title>loginscript test</title>
        <link rel="stylesheet" href="css/main.css">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
    </head>
    <body>
        <form action="" method="post">
            Naam: <br/> <input type="name" name="name" value="" class="input"/><br/>
            Wachtwoord: <br/> <input type="password" name="pass" value="" class="input"/><br />
            <input type="submit" value="inloggen" name="login">
        </form>
    </body>
</html>

en dit is mijn admin.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
<?php
 // We werken ook hier met sessies
session_start();

// Controleren of de bezoeker ingelogd is
if(!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] == false)
{

    header('Location: login.php');
    exit();
}

?>

<!doctype html>
<html>
    <head>
        <title>loginscript test</title>
        <link rel="stylesheet" href="css/main.css">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
    </head>
    <body>
        <h1>Welkom admin</h1>
    </body>
</html>


Toevoeging op 12/02/2016 20:16:37:

laat maar zitten ik heb nu door wat er fout ging ik was in admin.php vergeten de session logged_in te veranderen naar login (facepalm)

Toevoeging op 12/02/2016 20:27:40:

ik kijk nu een beetje op internet naar een uitlog knop maar vind allemaal verschillende soorten wat zouden jullie aanraden om te gebruiken
 
- Ariën  -
Beheerder

- Ariën -

12/02/2016 20:43:00
Quote Anchor link
Eentje die bij je design past.
 
Soccertime website

soccertime website

12/02/2016 20:48:49
Quote Anchor link
ik bedoel de werking ervan niet het uiterlijk
 
- SanThe -

- SanThe -

12/02/2016 21:30:23
Quote Anchor link
Een if(....) zonder { en } geldt alleen voor de eerstvolgende regel.
Gebruik gewoon altijd de {} dan zit je altijd goed.
 

Pagina: « vorige 1 2 3



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.