Beveiligde pagina

Status
Niet open voor verdere reacties.

btshelp

Gebruiker
Lid geworden
11 jun 2015
Berichten
17
Ik probeer al heel lang zelf een login pagina te maken maar lukt dus niet. Ik heb een databse waar de registraties inkomen en ook het inloggen gaat prima. Maar nu kan ik de "beveiligde" pagina overzicht.php gewoon rechtstreeks benaderen. Kan iemand mij een beetje op weg helpen?

inloggen.php

Code:
<?php
error_reporting(E_ALL);
include('verbind.php');

if(isset($_POST['inloggen']))
{
   $gebruiker_query = "SELECT * FROM gebruiker WHERE gebruiker_naam = '".mysql_real_escape_string(trim($_POST['gebruikersnaam']))."';";
   $gebruiker_sql   = mysql_query($gebruiker_query)or die(mysql_error());
   $gebruiker_tellen= mysql_num_rows($gebruiker_sql);
    if ($gebruiker_tellen == 1){
        $rij = mysql_fetch_array($gebruiker_sql);
               if(md5($_POST['wachtwoord']) == $rij['gebruiker_wachtwoord']){
                session_start();
                   $_SESSION['gebruiker_id']   = $rij['gebruiker_id'];
                   $_SESSION['gebruiker_naam'] = $rij['gebruiker_naam'];
                   $_SESSION['gebruiker_rank'] = $rij['gebruiker_rank'];
                header('Location: overzicht.php');
               }else{
                   echo 'Fout bij het inloggen. Probeer het opnieuw';
               }
    }else{
        echo 'Fout bij het inloggen. Probeer het opnieuw';
    }
}else{
    echo '<table align="center"><form method="POST" action="inloggen.php">';
    echo '<tr><td><input type="text" name="gebruikersnaam" value="gebruikersnaam"></td>';
    echo '<td><input type="password" name="wachtwoord" value="wachtwoord"></td>';
    echo '<td><input type="submit" name="inloggen" value="Inloggen"></td>';
    echo '<td><a href="registreren.php">Eerst registreren?</a></td></tr></form></table>';
}
?>
 
verbind.php

Code:
<?php
$db = array (
    'host' => 'localhost',
    'user' => '***********',
    'pass' => '***********',
    'dbname' => '*************'
);

if(!mysql_connect($db['host'], $db['user'], $db['pass']))
{
    trigger_error('Fout bij verbinden: '.mysql_error());
}
elseif(!mysql_select_db($db['dbname']))
{
    trigger_error('Fout bij selecteren database: '.mysql_error());
}
else
{
    $sql = "SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'";
    if(!mysql_query($sql))
    {
        trigger_error('MySQL in ANSI niet mogelijk');
    }
}
?>
 
de te beveiligen pagina "overzicht.php"

Code:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="">
  <meta name="author" content="">
  <title>mijn-taxi-administratie.nl</title>
  <link href="css/bootstrap.min.css" rel="stylesheet">
  <link href="css/animate.min.css" rel="stylesheet"> 
  <link href="css/font-awesome.min.css" rel="stylesheet">
  <link href="css/lightbox.css" rel="stylesheet">
  <link href="css/main.css" rel="stylesheet">
  <link id="css-preset" href="css/presets/preset1.css" rel="stylesheet">
  <link href="css/responsive.css" rel="stylesheet">

  <!--[if lt IE 9]>
    <script src="js/html5shiv.js"></script>
    <script src="js/respond.min.js"></script>
  <![endif]-->
  
  <link href='http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700' rel='stylesheet' type='text/css'>
  <link rel="shortcut icon" href="images/favicon.ico">
</head><!--/head-->

<body>




    <div class="main-nav">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="sr-only">Toggle navigation</span>



 blablablablablabla.......................................................



  </footer>

  <script type="text/javascript" src="js/jquery.js"></script>
  <script type="text/javascript" src="js/bootstrap.min.js"></script>
  <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
  <script type="text/javascript" src="js/jquery.inview.min.js"></script>
  <script type="text/javascript" src="js/wow.min.js"></script>
  <script type="text/javascript" src="js/mousescroll.js"></script>
  <script type="text/javascript" src="js/smoothscroll.js"></script>
  <script type="text/javascript" src="js/jquery.countTo.js"></script>
  <script type="text/javascript" src="js/lightbox.min.js"></script>
  <script type="text/javascript" src="js/main.js"></script>





</body>
</html>
 
Ik begrijp dat ik rechtstreekse bezoekers op deze pagina eerst moet verwijzen of zo met een "include"??
 
Je zou de controle of iemand is ingelogd dan moeten inkapselen in een functie met bijv. de naam check_loggedin().

Dan kan je eenvoudig op elke pagina controleren of iemand ingelogd is of niet.

Verder is md5() behoorlijk onveilig en verouderd. Gebruik password_hash() een password_verify().
 
Laatst bewerkt:
Bedankt maar zou niet weten waar te beginnen. Ik dacht dat ik een php.bestand moest includen op die "overzicht.php".
Toch te hoog gegrepen voor mij zo'n inlog- en registratie systeem.
 
Verdiep je eens in het maken van eigen functies in PHP. Elke tutorial bespreekt dit wel.
 
Je wil niet weten hoe lang ik al aan het "verdiepen" ben geweest voordat ik nu hulp zoek.
Het meeste is me gelukt maar het belangrijkste niet (pagina beveiligen)
Ik laat het wel door iemand maken dan. Bedankt voor je moeite
 
Je kan ook controleren of je sessie bestaat.
 
En is het nog gelukt?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan