veilige cookies

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Developer

De vacature Wij zijn een ambitieuze ontwikkelaar van SaaS-platforms die worden ingezet voor onder andere digitaal toetsen, online leertrajecten en het opbouwen van digitale portfolio’s. Met mooie en bekende klanten, waaronder hogescholen en universiteiten, exameninstellingen, uitgevers en bedrijven in allerlei sectoren. Mensen solliciteren met onze software, halen examens en diploma’s, laten zien waar ze trots op zijn, en ontwikkelen hun mogelijkheden. We hebben echte impact op ontwikkeling van mensen. Als PHP developer ga je aan de slag om het team van MijnPortfolio uit te breiden. Je werkt met je collega's om ons veelgebruikte online platform naar een hoger niveau te

Bekijk vacature »

Lead Developer E-commerce

Bouwen aan het VDL E-commerce platform van de toekomst wat geschikt moet zijn voor meer dan 100 industriële bedrijven in verschillende markten. Als Salesforce lead developer vertaal jij de behoeftes van de VDL-bedrijven op het gebied van E-commerce naar oplossingen binnen het raamwerk van onze digitale fabriek. Vind jij het leuk een divers team van configurators en business analisten te leiden in de verdere ontwikkeling van het E-commerce platform? De VDL Salesforce reis is krap 1,5 jaar geleden begonnen binnen VDL. Er zijn nog legio uitdagingen en wensen die nog ingevuld moeten worden. Krijg jij er energie van om op

Bekijk vacature »

Frontend Developer

De vacature Wat houdt de baan als frontend developer dan precies in? Jij houdt je bezig met de gebruikerservaring van de platformen van onze klanten. Je denkt na over de manieren waarop we deze perfectioneren, hoe we omzetdoelen behalen en welke methodiek én techniek het meest geschikt zijn. Daarnaast heb je de verantwoordelijkheid om projecten aan te sturen en masterplannen te ontwikkelen met je backend-, UX- en designcollega’s. De focus? Een state of the art e-commerce-omgeving aanleveren! Tenslotte vervul je een coachende rol voor jouw juniorcollega’s. Wat wil je nog meer? Functie eisen Je neemt graag het initiatief; Je presteert

Bekijk vacature »

ETL Developer

De vacature Als ETL Developer ben jij verantwoordelijk voor het fundament: het modeleren en implementeren van robuuste, high-performing datastores en het importeren en verwerken van data uit verschillende bronnen. Voor jou kan het volume niet te groot en de doorlooptijd nooit te kort zijn. Jij blijft steeds op zoek naar verbeteringen in de ETL pipeline. Functie eisen Uitstekende beheersing van MS SQL Server en SSIS Kennis van en ervaring met .NET / C # zijn een pre Certificaten van Microsoft zijn een pre Een HBO- of WO-diploma van een IT-gerelateerde studie Ervaring in de context van grote internationale ondernemingen (bij

Bekijk vacature »

Java Developer / DevOps / Overheid @ Leeuwarden

2021-11-17 iSense Java Developer / DevOps / Overheid Ben jij op zoek naar een (her)start van jouw carrière binnen de ICT? Wil jij je graag verder ontwikkelen en zie je het zitten om aan de slag te gaan bij een van de grootste overheidsorganisaties van Nederland? Lees dan snel verder! ISDA51724 Organisatie De organisatie is ambitieus en innovatief met continu aandacht voor verbetering. De combinatie van innovatiekracht, kennis en deskundigheid zorgt voor een prominente positie binnen de overheid. Ruim 1200 gedreven medewerkers zorgen ervoor dat de taken op een juiste wijze, ondersteund door adequate ICT en binnen de beschikbare middelen

Bekijk vacature »

Oracle PL/SQL ontwikkelaar voor maatschappelijke o

Bedrijfsomschrijving Dagelijks worden er in de zorg enorme aantallen data geproduceerd. Van medicijngebruik van patiënten tot aan loonkosten van personeel. Deze data bevat een schat aan informatie die pas zichtbaar wordt als ze op de juiste manier worden verzameld, opgeslagen, beheerd, bewerkt en vergeleken. Hiermee helpen zij medische instellingen om hun informatiepositie te verbeteren. Kijk bijvoorbeeld op het gebied van kwaliteit, bedrijfsvoering en marktpositie. Functieomschrijving Mijn klant heeft de huidige Oracle applicaties volledig binnen Forms reports en designer draaien. De bedoeling is dat al deze applicaties omgezet worden naar Apex applicaties in de toekomst. Daarom is mijn klant ter uitbreiding

Bekijk vacature »

Delphi Developer

As a Delphi Developer you work together with other development teams to make our back-office applications work as optimal as possible. How do I become a Delphi Developer at Coolblue? You work together with other development teams to make our back-office applications work as optimal as possible, being extending features or migrating them to APIs. Everything to put a smile in our colleagues' faces! Although you are a Delphi Developer, you are not averse to a some C# or JavaScript. Would you also like to become a Delphi Developer at Coolblue? Read below if the job suits you. You enjoy

Bekijk vacature »

Backend Developer (Node.js)

De vacature Onze online platforms worden voornamelijk ontwikkeld in JavaScript. Frontends met React, apps met React Native, en backends op basis van Node.js. We geloven sterk in herbruikbare code, standaardisering van de stack, werkwijze en stijl tussen de verschillende projecten die we bouwen en onderhouden. Enige tijd geleden zijn we begonnen met interne packages. Het is onze ambitie deze steeds verder uit te bouwen, zodat we sneller, veiliger en kwalitatiever kunnen bouwen. Functie eisen Ervaring met Git Enkele jaren relevante werkervaring, bij voorkeur bij een agency Cultural fit (vakmanschap, teamplayer, easy going) Pre: ervaring met scrum Pre: ervaring met DevOps

Bekijk vacature »

.NET Software Developer - Amstelveen

De vacature Met je kennis van .NET en de Microsoft-stack het verschil maken in de digitale transformatie van bedrijven; dat is wat wij zoeken in een .NET software developer. In de tijd die je al als software developer bezig bent geweest, heb je inmiddels veel kennis opgedaan over .NET en weet je hoe je in C# het beste applicaties kunt ontwikkelen. Maar wij weten ook dat development breder is dan coderen alleen. Goede software ontwikkelen heeft voor jou net zo goed te maken met het toepassen van best practices en goede architectuur, het efficiënt gebruik van resources of het kunnen

Bekijk vacature »

.NET Developer

De vacature In deze diverse functie als .Net Ontwikkelaar ben je verantwoordelijk voor de innovatie, realisatie en het beheer van de complexe informatiesystemen voor een van onze leuke klanten. Als developer achterhaal je proactief de behoeften en wensen van de gebruikers binnen de organisatie. Deze vertaal je naar functionele en technische ontwerpen, afhankelijk van de omvang van het project. Vervolgens realiseer, programmeer en test je je oplossingen, om daarna samen met je klant te bespreken of het gewenste resultaat bereikt is. Functie eisen Een relevant diploma heeft op minimaal HBO niveau; Minimaal twee jaar relevante werkervaring heeft; Bij voorkeur C#,

Bekijk vacature »

BI Developer / Oracle / Internationaal @ Utrecht

2021-08-16 iSense BI Developer Oracle Internationaal Ben jij op zoek naar een dynamische omgeving om als BI Developer aan de slag te gaan? Heb jij goede kennis van Oracle BI, Datawarehouses en Oracle Data Integrator (ODI)? En pas jij dit graag toe in een innovatieve omgeving waar je voldoende uitdaging zult vinden? Reageer dan nu! ISKL48194-2 Organisatie Deze organisatie is internationaal actief binnen de zakelijke dienstverlening en heeft de kwaliteit van de IT afdeling hoog in het vaandel staan. Al vanaf de oprichting, meer dan 30 jaar geleden, heeft de IT afdeling alle systemen in eigen beheer en worden de

Bekijk vacature »

.NET Developer

De vacature Als Developer werk je aan opdrachten voor klanten en onze eigen producten. Je vindt het leuk om in een SCRUM team samen te werken en met oog voor detail samen een project te dragen. Je krijgt energie van het uitdenken van oplossingen en presenteert deze graag met trots naar je collega’s of de klant. Je bent nieuwsgierig, staat open voor nieuwe technieken en wil altijd blijven leren. Je vindt het leuk om mee te denken in het gehele proces en helpt graag mee om het werkt beter en slimmer te doen. Functie eisen Een werkplek in een full-tech

Bekijk vacature »

Front-end Developer

De vacature Je wordt onderdeel van team Super Sites. Team Super Sites is één van de vijf teams binnen Connect Holland en bestaat uit vijf ontwikkelaars en een Digital Entrepreneur (business verantwoordelijke). Het team is binnen Connect Holland verantwoordelijk voor het bouwen van visueel aantrekkelijke en gebruiksvriendelijke (corporate) websites. Als front-end developer werk je nauw samen met onze UX-designers, zodat ontwerpen efficient en nauwkeurig worden gebouwd. We werken met het vier ogen principe, waarbij een 2e ontwikkelaar altijd jouw code checkt. En andersom natuurlijk! Dit zorgt voor waardevolle feedback en een steile leercurve. Naast het werk aan projecten besteden we

Bekijk vacature »

Lead Software Developer

De afdeling ICT is belangrijk binnen onze organisatie. Deze afdeling ontwikkelt zich steeds meer naar een flexibele, innovatieve en zakelijke organisatie, die marktconform werkt en een hoogwaardig aanbod aan diensten biedt. We kennen een grote diversiteit aan systemen (ERP, Warehouse management, Enterprise Service Bus, BI, e-commerce). Onlangs hebben we onze systemen vernieuwd. Ter versterking van deze afdeling zijn we op zoek naar een enthousiaste collega voor de functie van: Lead Software Developer (32 – 40 uur) Als Lead Software Developer geef je vakinhoudelijk leiding aan het ontwikkelteam en ben je samen met jouw teamleden verantwoordelijk voor het verder ontwikkelen van

Bekijk vacature »

Backend Developer

De vacature Wij zoeken een medior backend developer, welke ervaring heeft met Django REST Framework en REST APIs, welke voornamelijk zal werken aan de uitbreiding van de Utomik API. De Utomik API wordt door verschillende producten gebruikt zoals onze Utomik client (waar de games in te spelen zijn), website en management console. Als medior backend developer wordt verwacht dat je aan de hand van requirements, zelfstandig een technische specificatie kan opstellen en deze kan implementeren met REST best practices en de verschillende consumers van de API in het achterhoofd. Functie eisen Relevante kennis (en opleiding) Relevante werkervaring Communicatief (woord en

Bekijk vacature »
Wouter bakker

wouter bakker

28/09/2010 20:32:34
Quote Anchor link
beste mensen,
ik ben bezig met een inlog systeem maar ik kom er dus echt niet uit met de cookie.
hij moet zo veilig mogelijk zijn alleen hoe???
dit zijn de gegevens:

<td><input id="cookie" type="checkbox" name="cookie" value="do" />Onthoud mijn gegegevens</td>

dus if($_POST['cookie']="do"){ cookie aanmaken enz.}

je hebt een user_id, gebruikersnaam,wachtwoord tot je beschikking ($user_id, $username,$password)

de vraag is dus of je even een kort scriptje wil maken over hoe je het cookie aanmaakt (incl. coderen enzo om het veiliger te maken), en als het aangemaakt is het verwerkt zodat je dan in dit voorbeeld je bijvoorbeeld welkom $username op het scherm te zien krijgt (ik wil het zo maken dat je dan niet meer hoeft in te loggen en dan gewoon welkom $username, en daaronder aanmelden (zonder iets in te vullen)

ik zal hier de cookie neerzetten die ik gebruikte alleen die klopt dus voor geen meter en is ook niet veilig...

code:
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
<?php
if(isset($_POST['submit'])) {
  
   $sql = "SELECT user_id,username,password,admin,active,cookie_pass FROM `account` WHERE username='".$_POST['username']."'";
   $query = mysql_query($sql);
   $row = mysql_fetch_object($query);
   $dbpass = htmlspecialchars($row->password);
   $userpass = md5($_POST['password']);
   $cookiepass = htmlspecialchars($row->cookie_pass);
   $user_id = htmlspecialchars($row->user_id);
   $userstatus = htmlspecialchars($row->admin);
   $useractief = htmlspecialchars($row->active);
   if($dbpass == $userpass) {
     if($useractief == 1) {
        $_SESSION['user_id'] = $user_id;
        $_SESSION['user_status'] = $userstatus;
        if($_POST['cookie'] == "do") {
      setcookie("user_id", $userid, time() + 365 * 86400);
      setcookie("user_password", $dbpass, time() + 365 * 86400);

    }

--
enz inloggen dus--

//als cookie al bestaat:

if(isset($_COOKIE['cookie_id'])) {
  $sql = "SELECT username FROM `account` WHERE user_id='".$_COOKIE['cookie_id']."'";
  $query = mysql_query($sql);
  $row = mysql_fetch_object($query);
  $username = htmlspecialchars($row->username);
}

?>


verder ben ik dus niet gekomen (of heb ik het verknoeid...)

zou iemand alsjeblieft het even maken zodat het werkt en veilig is??? je mag er alles bij halen, een hash van het ip, datum/tijd enz. als het dus maar werkt en veilig is^^

dit is de vorige versie (msschien heb ik het met wat hierboven staat wat verprutst...):

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
52
53
54
55
<?php
if(isset($_POST['submit'])) {
   // Login
   $sql = "SELECT user_id,username,password,admin,active,cookie_pass FROM `account` WHERE

username='"
.$_POST['username']."'";
   $query = mysql_query($sql);
   $count = mysql_num_rows($query);
   if($count == 1) {
    $row = mysql_fetch_object($query);
    $dbpass = htmlspecialchars($row->password);
    $userpass = md5($_POST['password']);
    $cookiepass = htmlspecialchars($row->cookie_pass);
    $user_id = htmlspecialchars($row->user_id);
    $userstatus = htmlspecialchars($row->admin);
    $useractief = htmlspecialchars($row->active);
    if($dbpass == $userpass) {
     if($useractief == 1) {
      $_SESSION['user_id'] = $user_id;
      $_SESSION['user_status'] = $userstatus;
      if($_POST['cookie'] == "do") {
       if($cookiepass == "") {
        $cookiecode = mt_srand((double)microtime()*100000);
        while(strlen($cookiecode) <= 10) {
         $i = chr(mt_rand (0,255));
         if(eregi("^[a-z0-9]$", $i)) {
         $cookiecode = $cookiecode.$i;
         }
        }

        $sql = "UPDATE `account` SET cookie_pass = '".$cookiecode."' WHERE username = '".$_POST['username']."' LIMIT 1";
        mysql_query($sql);
        $cookiepass = $cookiecode;
       }

       setcookie("cookie_id", $user_id, time() + 365 * 86400);
       setcookie("cookie_pass", $cookiepass, time() + 365 * 86400);
      }


//en als er al een cookie was:

if(isset($_COOKIE['cookie_id'])) {
  // Read cookie, make session
  $sql = "SELECT user_id,username,password,admin,cookie_pass,active FROM `account` WHERE user_id='".$_COOKIE['cookie_id']."'";
  $query = mysql_query($sql);
  $row = mysql_fetch_object($query);
  $user_id = htmlspecialchars($row->user_id);
  $user = htmlspecialchars($row->username);
  $status = htmlspecialchars($row->admin);
  $dbpass = htmlspecialchars($row->cookie_pass);
  $actief = htmlspecialchars($row->active);
  if($dbpass == $_COOKIE['cookie_pass'] AND $actief == 1) {
$username = $user;
  }
}


?>


bedankt!!!!!

groetjes,
wouter

ohja het gewone inloggen werkt wel, maar de cookie dus niet...
Gewijzigd op 28/09/2010 20:34:06 door Wouter bakker
 
PHP hulp

PHP hulp

28/11/2021 02:40:09
 
- SanThe -

- SanThe -

28/09/2010 20:36:51
Quote Anchor link
Een cookie is nooit veilig.
 
Wouter bakker

wouter bakker

28/09/2010 20:37:45
Quote Anchor link
nee ik bedoel zo veilig mogelijk;) (en vooral dat hij werkt... ik kom er dus echt nie uit-.-) (bedankt voor je snelle reactie;)
 
- SanThe -

- SanThe -

28/09/2010 20:43:23
Quote Anchor link
setcookie("user_id"... het liefst versleuteld o.i.d.
setcookie("user_password"... nooit in een cookie zetten.
 
Wouter bakker

wouter bakker

28/09/2010 20:45:49
Quote Anchor link
het user_password is in md5 he? kan het dan wel.
kun je msschien een voorbeeldje maken euh...:$ (ik weet niet precies meer hoe alles gaat (na 3/4 jaar niet programmeren is dit het 1e dingetje dat ik weer op pak om een site te maken:P).

ene weet je wat er fout is?
bedankt!
 
Martijn B

Martijn B

28/09/2010 20:54:54
Quote Anchor link
De meeste inlog systemen werken met een sessie id.

Deze kun je als volgt genereren (Stuk je code uit mijn winkel):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sSessionId
= sha1(microtime() . SHOP_ID . uniqid(mt_rand(), true));
?>


Deze zet je zowel in je cookie als in de database.
En zie daar je hebt je eigen sessie systeem. En je kunt dit systeem uiteraard zo ingewikkeld maken als je zelf wil.

Voorbeeldjes:
- Gebruikers krijgen een nieuwe sessie id als ze in en uitloggen
- Sessies verlopen naar een x aantal seconden
- Verlopen sessies moeten worden verwijderd uit je database. Anders blijft je database tabel maar groeien.
- Sessies koppelen aan IP en browser.
Gewijzigd op 28/09/2010 21:00:11 door Martijn B
 
Wouter bakker

wouter bakker

28/09/2010 20:59:54
Quote Anchor link
en is dit heel veilig?
maar dan heb je het over de sessie's... het probleem zit momenteel nog bij de cookies-.-
ik zal de gehele script even posten:

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
<?php

ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);

include("htmltop.php");
include_once("connect.php");

if(isset($_SESSION['user_id'])) {
 header("Location: stats.php");
}
else{
  if(isset($_POST['submit'])) {
  
   $sql = "SELECT user_id,username,password,admin,active,cookie_pass FROM `account` WHERE username='".$_POST['username']."'";
   $query = mysql_query($sql);
   $row = mysql_fetch_object($query);
   $dbpass = htmlspecialchars($row->password);
   $userpass = md5($_POST['password']);
   $cookiepass = htmlspecialchars($row->cookie_pass);
   $user_id = htmlspecialchars($row->user_id);
   $userstatus = htmlspecialchars($row->admin);
   $useractief = htmlspecialchars($row->active);
   if($dbpass == $userpass) {
     if($useractief == 1) {
        $_SESSION['user_id'] = $user_id;
        $_SESSION['user_status'] = $userstatus;
        if($_POST['cookie'] == "do") {
        setcookie("cookie_id", $user_id, time() + 365 * 86400);
    }

      echo "U bent succesvol aangemeld, u wordt nu doorgelinkt. Gebeurt er niets? klik dan <a href='stats.php'>hier</a>.";
      ?>

<script language="Javascript" type="text/javascript">
window.location="http://www.mijnsite.nl/stats.php";
</script>
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
<?
     }else{
      echo "Uw account is nog niet geactiveerd, check uw mailbox voor de activatielink.";
     }  
    }
else{
     echo "Uw ingevulde wachtwoord klopt niet";
    }
   }
else{
    echo "uw ingevulde gebruikersnaam klopt niet";
  }
}

 
if(isset($_COOKIE['cookie_id'])) {
  $sql = "SELECT username FROM `account` WHERE user_id='".$_COOKIE['cookie_id']."'";
  $query = mysql_query($sql);
  $row = mysql_fetch_object($query);
  $username = htmlspecialchars($row->username);
}


?>

<form method="post" action="index.php">
<table>
<tr>
<td><label for="username">gebruikersnaam:</label></td><td><input id="username" type="text" name="username" maxlength="50" /></td>
</tr>
<tr>
<td><label for="password">wachtwoord:</label></td><td><input id="password" type="password" name="password" /></td>
</tr>

<tr>
<td></td><td><input type="submit" name="submit" value="aanmelden" /></td>
</tr>
<tr>
<td><input id="cookie" type="checkbox" name="cookie" value="do" />Onthoud mijn gegegevens</td>
</tr>
<tr>
<td><a href="forgotpass.php">Ik ben mijn wachtwoord vergeten</a></td>
</tr>
</table>
</form>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
include("htmlbottom.php");
?>


of zit msschien de fout bij stats.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
include_once("connect.php");
require("safe_user.php");

?>



Toevoeging op 28/09/2010 21:04:27:

ow trouwens over die sessie's
is dat echt veel veiliger? ik heb nu dus safe_user.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
<?php
if(isset($_SESSION['user_id'])) {
 // Login ok, update last active
 $sql = "UPDATE `account` SET lastactive=NOW() WHERE id='".$_SESSION['user_id']."'";
 mysql_query($sql);
}
else{
 if(isset($_COOKIE['cookie_id'])) {
  $sql = "SELECT cookie_pass,admin FROM `account` WHERE user_id='".$_COOKIE['cookie_id']."'";
  $query = mysql_query($sql);
  $row = mysql_fetch_object($query);
  $dbpass = htmlspecialchars($row->cookie_pass);
  $dbstatus = htmlspecialchars($row->admin);
  if($dbpass == $_COOKIE['cookie_pass']) {
   $_SESSION['user_id'] = $_COOKIE['cookie_id'];
   $_SESSION['user_status'] = $dbstatus;
  }
else{
   setcookie("cookie_id", "", time() - 3600);
   setcookie("cookie_pass", "", time() - 3600);
   header("Location: index.php");
  }
 }
else{
  header("Location: index.php");
 }
}

?>


wat moet ik hieraan dan aanpassen? (trouwens nu heb ik beide scripten weer gecombineerd... dit was dus de oude script die ik nog niet bewerkt had:


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
<?php

include("htmltop.php");
include_once("connect.php");

if(isset($_SESSION['user_id'])) {
 header("Location: stats.php");
}
else{
  if(isset($_POST['submit'])) {
   // Login
   $sql = "SELECT user_id,username,password,admin,active,cookie_pass FROM `account` WHERE

username='"
.$_POST['username']."'";
   $query = mysql_query($sql);
   $count = mysql_num_rows($query);
   if($count == 1) {
    $row = mysql_fetch_object($query);
    $dbpass = htmlspecialchars($row->password);
    $userpass = md5($_POST['password']);
    $cookiepass = htmlspecialchars($row->cookie_pass);
    $user_id = htmlspecialchars($row->user_id);
    $userstatus = htmlspecialchars($row->admin);
    $useractief = htmlspecialchars($row->active);
    if($dbpass == $userpass) {
     if($useractief == 1) {
      $_SESSION['user_id'] = $user_id;
      $_SESSION['user_status'] = $userstatus;
      if($_POST['cookie'] == "do") {
       if($cookiepass == "") {
        $cookiecode = mt_srand((double)microtime()*100000);
        while(strlen($cookiecode) <= 10) {
         $i = chr(mt_rand (0,255));
         if(eregi("^[a-z0-9]$", $i)) {
         $cookiecode = $cookiecode.$i;
         }
        }

        $sql = "UPDATE `account` SET cookie_pass = '".$cookiecode."' WHERE username = '".$_POST['username']."' LIMIT 1";
        mysql_query($sql);
        $cookiepass = $cookiecode;
       }

       setcookie("cookie_id", $user_id, time() + 365 * 86400);
       setcookie("cookie_pass", $cookiepass, time() + 365 * 86400);
      }

      echo "U bent succesvol aangemeld, u wordt nu doorgelinkt. Gebeurt er niets? klik dan <a href='stats.php'>hier</a>.";
      ?>

<script language="Javascript" type="text/javascript">
window.location="http://www.mijnsite.nl/stats.php";
</script>
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
<?
     }else{
      echo "Uw account is nog niet geactiveerd, check uw mailbox voor de activatielink.";
     }  
    }
else{
     echo "Uw ingevulde wachtwoord klopt niet";
    }
   }
else{
    echo "uw ingevulde gebruikersnaam klopt niet";
   }
  }
 }

if(isset($_COOKIE['cookie_id'])) {
  // Read cookie, make session
  $sql = "SELECT user_id,username,password,admin,cookie_pass,active FROM `account` WHERE user_id='".$_COOKIE['cookie_id']."'";
  $query = mysql_query($sql);
  $row = mysql_fetch_object($query);
  $user_id = htmlspecialchars($row->user_id);
  $user = htmlspecialchars($row->username);
  $status = htmlspecialchars($row->admin);
  $dbpass = htmlspecialchars($row->cookie_pass);
  $actief = htmlspecialchars($row->active);
  if($dbpass == $_COOKIE['cookie_pass'] AND $actief == 1) {
$username = $user;
  }
}

   ?>

<form method="post" action="index.php">


<table width="100%" border="0" cellspacing="0" cellpading="2"><tr>

<td align="right">Gebruikersnaam</td>
<td><label for="username">
<input id="username" name="username" class="field" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo"$username" ?>
" maxlength=256>
</td>
</tr><tr>
<td align="right">Wachtwoord</td>
<td><label for="password">
<input id="password" name="password" type="password" class="field" maxlength=256>
</td>

<td><input class="submit" type="submit" name="submit" value="Aanmelden" /><br><br></td>
</tr>
<tr>
<td colspan="2" class="box"><input id="cookie" type="checkbox" name="cookie" value="do" />Onthoud mijn

gegegevens</td>
</tr>
<tr><td colspan="2" class="box"><a href="forgotpass.php">Ik ben mijn wachtwoord vergeten</a></td></tr>

</table>


</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
include("htmlbottom.php");
?>
 
Martijn B

Martijn B

28/09/2010 21:12:32
Quote Anchor link
Om je problemen te omschrijven:
Jij wil dat de website een jaar lang weet wie jij bent.


Als je gebruikt maakt van PHP sessies (deze dus $_SESSION) dat gebeurd er standaard hetzelfde als wat ik net typte.
Er wordt een cookie gemaakt met een random nummer en er wordt een bestand gemaakt op je server. Die met dit nummer correspondeert. In dat bestand zitten al je sessie gegevens.

Nu kun je de cookie van PHP sessies zo instellen dat deze een jaar lang geldig is.
En heb je dus het gene bereikt wat je wou.

De meeste websites werken op deze manier.
Als je echt veilig wil dan moet je voor HTTPS kiezen.
Gewijzigd op 28/09/2010 21:14:39 door Martijn B
 
Wouter bakker

wouter bakker

28/09/2010 21:16:38
Quote Anchor link
dat heb ik nu toch ook:$ hij maakt een code aan, zet die in de database en in de cookie of bedoel je dat niet?
(ik heb dus al een hele tijd niet meer geprogrammeerd dus ben een weer een onmeunige noob:(
(kun je het msschien even verduidelijken met een scriptje?)

bedankt!
 
Martijn B

Martijn B

28/09/2010 21:28:40
Quote Anchor link
Je kunt in ieder geval beter een random nummer (sessie id) in je cookie zetten dan een gebruiker id en een wachtwoord (ook al is dit md5(wachtwoord)).
 
Wouter bakker

wouter bakker

28/09/2010 21:31:14
Quote Anchor link
maar het idee is hetzelfde? (dus is het best veilig? (behalve bij cookie stealing)

ene mag ik je hierop wijzen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
 if($cookiepass == "") {
        $cookiecode = mt_srand((double)microtime()*100000);
        while(strlen($cookiecode) <= 10) {
         $i = chr(mt_rand (0,255));
         if(eregi("^[a-z0-9]$", $i)) {
         $cookiecode = $cookiecode.$i;
         }
        }

?>

het is dus niet het echte wachtwoord;)
en dan kan de user_id toch wel? (daar heb je dan ook niks aan).

--alleen hij werkt nog niet...--
 



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.