veilige cookies

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden geactualiseerd.

Bekijk vacature »

Back End Developer

Als Back End developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Je hebt een focus op de back end van onze software, daarvoor werken wij hoofdzakelijk met C# en .NET. Wij hanteren een full-stack benadering, wat betekent dat je naast de back-end ook meehelpt bij andere onderdelen van de code. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein

Bekijk vacature »

.NET Software Developer

Dit ga je doen Als .NET Software Developer zul jij je voornamelijk bezig houden met: Het van scratch af aan bouwen van applicaties (.NET, C#, Bootstrap, KnockoutJs en WebAPI2); Het testen van jouw code d.m.v. het uitvoeren van unittesten; Het oplossen van bugs in de code; Het onderhouden van contact met collega's betreffende de door jouw ontwikkelde applicaties; Het verbeteren en doorontwikkelen van maatwerkapplicaties. Hier ga je werken Jij gaat aan de slag als .NET Software Developer en gaat je focussen op het bedenken, ontwikkelen en testen van maatwerkapplicaties in voornamelijk C#. Dit ga je doen bij een grote, internationale

Bekijk vacature »

PHP Developer

Dit ga je doen Ontwikkelen, implementeren en testen van PHP-oplossingen en Apps voor klanten en bedrijfsprocessen; Opstellen van requirements en uitwerken van de oplossingen; Testen van software en borgen van een soepele overdracht, inclusief documentatie; Proactief adviseren vanuit eigen expertisegebied over ontwikkelingen en verbeterpunten in technische toepassingen en processen binnen de organisatie. Hier ga je werken De organisatie is een ambitieuze en vooruitstrevende speler in de markt in de regio Rotterdam. Ze zijn de snelst groeiende in hun branche. Met een excellent aanbod en service willen zij de beste keuze zijn voor hun bestaande en nieuwe klanten. Dit alles doen

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Moordrecht zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

Traineeship Java Developer

Functie Wat ga je doen als Java Developer? Jij start via ons bij deze opdrachtgever als Trainee Java ontwikkelaar, tijdens het traineeship ga je in 1 jaar van de basis naar professioneel Java ontwikkelaar. Je start samen met een groep trainees, volgt de aangeboden cursussen en gaat aan de slag bij één van onze opdrachtgevers. Na een aantal maanden volgt de volgende opdracht. Door de groei in jouw rol kom je op steeds complexere opdrachten terecht. Veel afwisseling dus. Collega’s met ervaring helpen je bij deze groei en samen met jouw coach ga je een persoonlijke leerplan opzetten om jou

Bekijk vacature »

Full stack ontwikkelaar Laravel, Vue.js

Functie Als ontwikkelaar binnen deze organisatie hou jij je voornamelijk met lopende projecten voor de verschillende klanten. Zo bouw je de ene dag aan prijsschifting systemen en de andere dag onderzoek je crawlers en stel je ze zo in dat de data goed binnen komt binnen het systeem. Daarnaast bouw je mee aan dashboards en ben je dus constant bezig met het verbeteren van het platform. Er is een vaste werkwijze, zo werken ze met Trello kaarten en onderverdelen ze deze aan het begin van iedere week onder de developers. Dit wordt door de lead developer gedaan, maar in samenspraak

Bekijk vacature »

Fullstack Software Developer

Functieomschrijving Voor een ambitieuze werkgever in regio Roosendaal zijn wij op zoek naar een Full Stack C#.NET Developer. Als software programmeur ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Verder ontwikkelen en onderhouden van webapplicaties, dashboards en apps voor de eigen IOT-oplossingen; Testen en goedkeuren van de software; Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks,

Bekijk vacature »

Senior developer (PHP en VB.NET)

Functie De development afdeling bestaat uit 2 teams. Het productteam (10 developers) is verantwoordelijk voor verschillende applicaties met als doel om zoveel mogelijk te automatiseren en uit te werken tot standaard software. Met diverse Solutions Architecten en ervaren developers denken ze voortdurend mee met hun klanten en bouwen ze de basis van het uiteindelijke maatwerk dat wordt geleverd. Hiernaast hebben ze een maatwerk/projectteam. Dit team bestaat momenteel uit 8 developers (junior tot senior) en is verantwoordelijk voor het maatwerk in hun klantprojecten. Momenteel zijn ze op zoek naar een senior developer die aan de slag gaat in het productteam. Hierin

Bekijk vacature »

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

.NET Developer

Functie De perfecte combinatie tussen techniek en vastgoed. Werk samen met de senior software developer om allerlei software van fluX te verbeteren. Gelukkig voel jij je helemaal thuis in de codewereld van .NET. Dus of je nu bezig bent met het verhogen van de conformiteitscore of het automatiseren van allerlei taxatiemodellen, jij weet precies hoe je de doelstellingen realiseert. En dat terwijl je ook samenwerkt met een extern ontwikkelteam. Waar dit team bepaalde softwaresystemen ontwikkelen, richt jij je vooral op onze Nederlands georiënteerde producten en alle wetgeving die daarbij komt kijken. Voor minimaal 32 uur per week verrijk jij onze

Bekijk vacature »

Junior Software Developer

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer .NET, C# voor een gaaf bedrijf in de omgeving van Utrecht! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Lees dan snel verder! Voor een opdrachtgever in de omgeving van Utrecht, zijn wij op zoek naar een Junior Software Developer. Werk jij graag aan verschillende projecten en ga je graag klanten op bezoek? Dan is dit de ideale functie voor jou! Binnen deze functie

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

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

25/04/2024 19:41:57
 
- 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.