Inlog systeem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

OMEGA_ReD

OMEGA_ReD

18/09/2007 16:11:00
Quote Anchor link
Hallo allemaal!

Ik heb gebruik gemaakt van een tutorial nml: veilig login systeem.

Voor zover krijg ik het werkend alleen blijft de sessie niet goed in stand.
Ik ga naar een beveiligde pagina waar ik de check.php heb geincluded en echo alle session values maar niks staat er meer in.

Ik heb ook in de login.php een paar echo's gemaakt om te kijken of na de post de sessie values er nog instaan en dat werkt.

Alvast bedankt!

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
<?php
session_start();

require("db_inc.php");

    // functie voor random key
function make_rand($length) {
  $chars = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ1234567890";
  $rand = '';
  for ($i = 1; $i <= $length; $i++) {
    $num = rand(0, strlen($chars));
    $rand .= substr($chars, $num, 1);
    }

  return $rand;
  }

//debuggen WERKT!
echo $_SESSION['user_id'];
echo $_SESSION['session_id'];
echo $_SESSION['user_ip'];
echo $_SERVER['REMOTE_ADDR'];

    // kijk of formulier is verzonden
if ($_SERVER['REQUEST_METHOD'] == "POST") {    // indien verzonden
  $query= mysql_query("SELECT * FROM tblUsers WHERE username = '" . addslashes($_POST['username']) . "'");
  if (mysql_num_rows($query) > 0) {    // als er een gebruiker is gevonden
    $user = mysql_fetch_object($query);
    if ($user->password == $_POST['password_encrypted']) {  // als het wachtwoord klopt
      $_SESSION['user_id'] = $user->username;
      $_SESSION['session_id'] = make_rand(50);    // maak een random string voor sessie session_id mbv van functie
      //zet de sessie id in de db zodat we hem later kunnen controleren

      mysql_query("UPDATE tblUsers SET session_id = '" . $_SESSION['session_id'] . "' WHERE username = '" . $_SESSION['user_id'] . "'");
      $_SESSION['user_ip'] = $_SERVER['REMOTE_ADDR'];
      echo 'Inloggen is gelukt!';
      echo '<br><a href="../index.php">Ga verder..</a>';
      }
else {  // ongeldig wachtwoord
      echo 'Ongeldig wachtwoord/gebruikersnaam!';
      }
    }
else {  // ongeldige gebruikersnaam
    echo 'Ongeldig wachtwoord/gebruikersnaam!!';
    }
  }
/* else { hier zou je het formulier kunnen zetten } */
?>


check.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
<?php
if (isset($_SESSION['user_id'], $_SESSION['user_ip'], $_SESSION['session_id']) && $_SESSION['user_ip'] == $_SERVER['REMOTE_ADDR']) {
    // sessies bestaan en ip klopt, dus gaan we verder met controleren van  sessie session_id
  $session_id = mysql_fetch_object(mysql_query("SELECT session_id FROM users WHERE user_id = '" . $_SESSION['user_id'] . "'"));
  if ($_SESSION['session_id'] == $session_id->session_id) {
    /*
        alles klopt, dus we zijn hier klaar
        eventueel zou je hier mooi iets kunnen zetten wat bijhoud wie waar is geweest
    */

    } else { // session_id klopt niet
    header('location: login/aanmelden.php'); // stuur door naar login pagina
    }
  }
else {  // sessies bestaan niet, of ip is onjuist
  //Debug:

  echo 'sessie klopt niet';
  echo $_SESSION['user_id'];
  echo $_SESSION['session_id'];
  echo $_SESSION['user_ip'];
  //header('location: login/aanmelden.php'); // stuur door naar login pagina (alweer :-) )
  }
?>


aanmelden.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
<script type="text/javascript" src="sha1.js"></script>

<script type="text/javascript">
function _submit() {
  document.getElementById('password_encrypted').value = hex_sha1(document.getElementById('password').value);
  document.getElementById('password').value = '';
  }
</script>

<form action="login.php" method="post" onsubmit="return _submit();">
  Gebruikersnaam:<input type="text" name="username" />
  Wachtwoord:<input type="password" id="password" />
  <input type="hidden" id="password_encrypted" name="password_encrypted" value="" />
  <input type="submit" value="Login" />
</form>
 
Er zijn nog geen reacties op dit bericht.



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.