Email verificatie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full stack Python developer

Functie Samen met andere collega’s (een product owner, een software manager en een ervaren ontwikkelaar) ga jij onze producten verder ontwikkelen. Jouw verantwoordelijkheden zullen bestaan uit: – Verder wil gaan met de ontwikkeling van onze bestaande producten; nieuwe features! – Meedenkt over de roadmap van onze producten – Als sparringpartner kan optreden op het gebied van development – Zelf ook nieuwe ideeën op tafel durft te leggen en deze van scratch af aan wilt bouwen Hieronder ook een paar voorbeelden van projecten waar we momenteel mee bezig zijn of binnenkort aan willen beginnen: – Real-time interactie creëren in onze web

Bekijk vacature »

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

Bekijk vacature »

Traineeship Front-end developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Dordrecht zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Medior PHP Developer

Functie omschrijving Ben jij een getalenteerde PHP Developer en aan de slag in een gemotiveerd team? Lees dan snel verder! Voor onze opdrachtgever in de omgeving van Valkenswaard zijn we op zoek naar een ervaren PHP developer. Jij gaat hier zorg dragen voor het optimaliseren en up-to-date houden van de bestaande applicaties. Je werkt verder aan de applicaties die jij verder ontwikkelt. Dit doe je voornamelijk met PHP en MySQL. Verder ga je je bezig houden met: Het uitbouwen van het E-commerce software platform. Deelnemen aan overleggen met het team. Het ondersteunen van jouw team developers (3 man) en helpen

Bekijk vacature »

Junior .NET developer

Functie Jij hebt natuurlijk net jouw Bachelor op zak en gaat nu voor het eerst aan de slag bij een werkgever als junior .NET ontwikkelaar. Waarschijnlijk lijkt het jou spannend om ineens aan de slag te gaan bij klanten in de consultancy. Maak je niet druk, jij komt hier terecht in een warm bad en wordt totaal niet in het diepe gegooid. Zodra jij hier begint wordt jij gekoppeld aan een persoonlijke manager met een persoonlijk ontwikkelplan. Jij krijgt een scala aan trainingen, denk aan trainingen ten behoeve van het opdoen van zelf kennis en gedragscompetenties, maar ook trainingen voor

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »
Snelle Jaap

Snelle Jaap

26/05/2015 17:13:58
Quote Anchor link
Hallo

Ik ben bezig met een simpel registratie scriptje waar een email verificatie aan verbonden zit.

Hij gaat alleen steeds naar de melding: Geen geldig emailadres.

Terwijl het gewoon een geldig adres is.

Ziet iemand wat ik fout doe?

Ik werk op localhost met WAMP


Dit is mijn 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
include 'includes/header.php';
include 'connection/connection.php';        

$msg='';

if(!empty($_POST['email']) && isset($_POST['email']) &&  !empty($_POST['password']) &&  isset($_POST['password']) &&  !empty($_POST['address']) &&  isset($_POST['address']) &&  !empty($_POST['postcode']) &&  isset($_POST['postcode']) &&  !empty($_POST['plaats']) &&  isset($_POST['plaats']) &&  !empty($_POST['land']) &&  isset($_POST['land']) )
{

        
    // username and password sent from form
    $email=mysqli_real_escape_string($connection,$_POST['email']);
    $password=mysqli_real_escape_string($connection,$_POST['password']);
    $address=mysqli_real_escape_string($connection,$_POST['address']);
    $postcode=mysqli_real_escape_string($connection,$_POST['postcode']);
    $plaats=mysqli_real_escape_string($connection,$_POST['plaats']);
    $land=mysqli_real_escape_string($connection,$_POST['land']);

    // regular expression for email check
    $regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/';

    if(preg_match($regex, $email))
    {

    $password=md5($password); // encrypted password
    $activation=md5($email.time()); // encrypted email+timestamp
    $count=mysqli_query($connection,"SELECT uid FROM users WHERE email='$email'");
    // email check
    if(mysqli_num_rows($count) < 1)
    {

    mysqli_query($connection,"INSERT INTO users(email,password,activation,address,postcode,plaats,land) VALUES('$email','$password','$activation','$address','$postcode','$plaats','$land')");
    // sending email
    include 'includes/Send_Mail.php';
    $to=$email;
    $subject="Email verificatie";
    $body='Beste, <br/> <br/> Bedankt voor je aanmelding bij website! Klik op de volgende link om uw account te activeren. <br/> <br/> <a href="'.$base_url.'activation/'.$activation.'">'.$base_url.'activation/'.$activation.'</a>';
    
    Send_Mail($to,$subject,$body);
    $msg= "U bent geregistreerd, check alstublieft uw email voor de verificatiemail.";
    }

    else
    {
    $msg= 'Dit email adres is al in gebruik.';
    }
    
    }

    else
    {
    $msg = 'Dit is geen geldig email adres.';
    }

}

// HTML Part
?>


Dit is de connection file
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'dbnaam');
$connection = @mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
$base_url='http://localhost/email_activation/';
?>


Activation.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
<?php
    include '../connection/connection.php';
    $msg='';
    if(!empty($_GET['code']) && isset($_GET['code']))
    {

        $code=mysqli_real_escape_string($connection,$_GET['code']);
        $c=mysqli_query($connection,"SELECT uid FROM users WHERE activation='$code'");
        
        if(mysqli_num_rows($c) > 0)
        {

            $count=mysqli_query($connection,"SELECT uid FROM users WHERE activation='$code' and status='0'");
            
            if(mysqli_num_rows($count) == 1)
        {

            mysqli_query($connection,"UPDATE users SET status='1' WHERE activation='$code'");
            $msg="Uw account is geactiveerd!";
        }

        else
        {
            $msg ="Uw account is al actief, u hoeft niet meer te activeren.";
        }
        
        }

        else
        {
            $msg ="Verkeerde activatiecode.";
        }
        
    }

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $msg; ?>


Het email 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
<?php
function Send_Mail($to,$subject,$body)
{

require '../phpmailer/class.phpmailer.php';
$from       = "[email protected]";
$mail       = new PHPMailer();
$mail->IsSMTP(true);                        // use SMTP
$mail->IsHTML(true);
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "tls://smtp.yourwebsite.com"; // SMTP host
$mail->Port       =  465;                  // set the SMTP port
$mail->Username   = "SMTP_Username";          // SMTP  username
$mail->Password   = "SMTP_Password";          // SMTP password
$mail->SetFrom($from, 'From Name');
$mail->AddReplyTo($from,'From Name');
$mail->Subject    = $subject;
$mail->MsgHTML($body);
$address = $to;
$mail->AddAddress($address, $to);
$mail->Send();
}

?>


En als laatste het formulier:
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
        <div class="grid_6">
            <h2><span>Registreren</span></h2>
            <form class="form" method="post">
                <div class="inputgroup">
                    <label for="emailadres">Emailadres:</label>
                    <input name="email" id="emailadres" value="" placeholder="Email-adres" type="text">
                </div>
                <div class="inputgroup">
                    <label for="wachtwoord">Wachtwoord:</label>
                    <input name="password" id="wachtwoord" value="" placeholder="Wachtwoord" type="password">
                </div>
                <div class="inputgroup">
                    <label for="adres">Adres:</label>
                    <input name="address" id="adres" value="" placeholder="Adres" type="text">
                </div>
                <div class="inputgroup">
                    <label for="postcode">Postcode:</label>
                    <input name="postcode" id="postcode" value="" placeholder="Postcode" type="text">
                </div>
                <div class="inputgroup">
                    <label for="plaats">Plaats:</label>
                    <input name="plaats" id="plaats" value="" placeholder="Plaats" type="text">
                </div>
                <div class="inputgroup">
                    <label for="land">Land:</label>
                    <input name="land" id="land" value="" placeholder="Land" type="text">
                </div>
                <input type="submit" class="button" value="Registration" />
                <span class='msg'><?php echo $msg; ?></span>
        </div>
[/CODE]
Gewijzigd op 26/05/2015 17:15:27 door Snelle Jaap
 
PHP hulp

PHP hulp

05/05/2024 17:07:18
 
- Ariën  -
Beheerder

- Ariën -

26/05/2015 17:23:16
Quote Anchor link
Zoveel code hoef je niet te tonen voor een dergelijke controle ;-).

Het probleem zit hem in de reguliere expressie:
^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$

Ik weet niet wat je precies invoert, maar PHP kan het zelf ook goed controleren via een filter_var.
Deze functie kan ik zeker aanraden.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$email
= "[email protected]"
if (filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
  echo "Mailadres is ongeldig";
}
else {
  echo "Mailadres is geldig.";
}

?>
Gewijzigd op 26/05/2015 17:23:30 door - Ariën -
 
Snelle Jaap

Snelle Jaap

27/05/2015 13:24:19
Quote Anchor link
Bedankt voor de reactie.

Wat is het probleem daar mee dan? Zo heb ik het altijd gedaan. Ik voer gewoon een normaal outlook adres in.



Toevoeging op 27/05/2015 13:32:12:

Laat maar het was een fout van mijn kant, de code werkt wel.

Hij pakt alleen het verzenden van de email niet. Weet iemand hoe je dit met wamp kunt doen vanaf een locale ontwikkelomgeving?

Fatal error: Class 'SMTP' not found in C:\wamp\www\website\phpmailer\class.phpmailer.php on line 1290
Call Stack

Is wat ik krijg als ik registreer.

En dit is de code die op die regel staat.

public function getSMTPInstance()
{
if (!is_object($this->smtp)) {
$this->smtp = new SMTP;
}
return $this->smtp;
}


Hij vind dus geen SMTP gegevens, wat zou ik hiervoor in moeten voeren in mijn Send_Mail.php ?
 
Ivo P

Ivo P

27/05/2015 14:50:32
Quote Anchor link
Nee, hij vindt de CLASS smtp niet.
PHPMailer bestaat uit meerdere files. Uit mijn hoofd 3 (los van de voorbeelden)
class.phpmailer.php is er 1, maar er zijn dus nog 2. Niet altijd nodig, maar nu kennelijk wel.

Los van dat jouw controle voor een "normaal outlook adres" altijd werkt, kan je zo al zien dat je code al jaren niet goed is:

'/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/';

je ziet hier dat je adres altijdk moet eindigen op een punt gevolgd door 2, 3 of 4 letters.

bijvoorbeeld .nl, .com of .info
Maar het al jaren bestaande .travel of .museum, komt niet door je check.
Laat staan dat recente adressen als [email protected] nog in je eis van 4 letters tld passen.


Toevoeging op 27/05/2015 14:54:44:

er klopt wel meer niet aan je controle:

[email protected] zou een geldig adres zijn?
En heinz@köln.de lukt ook weer niet. Een mail adres kun je (zelf als je de recentste tld's en de niet-us-alfabet-letters negeert) bijna niet in een regex controleren.

http://wiki.pfz.nl/invoer-validatie/#regular-expressions-is-het-een-geldig-email-adres
 
Willem vp

Willem vp

27/05/2015 15:06:41
Quote Anchor link
> Wat is het probleem daar mee dan?

Nou, om te beginnen accepteert jouw regex een heleboel van de nieuwe TLD's niet (zoals .museum en .amsterdam; eigenlijk elke TLD van meer dan 4 letters). Daarnaast mag bij jouw regex een hostname of subdomein beginnen of eindigen met een - en dat is niet conform specificaties. Een adres als [email protected] komt gewoon door jouw validator heen.

Een reguliere expressie die valideert conform RFC-5322 zou er ongeveer als volgt uit moeten zien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

filter_var() lijkt me handiger. ;-)
 
Snelle Jaap

Snelle Jaap

27/05/2015 15:13:44
Quote Anchor link
Oke duidelijk, ik kan dus beter die functie gebruiken.

Bedankt voor de hulp, ik heb de juiste class nu ook geinclude en hij geeft aan dat het lukt. Alleen krijg ik geen mail binnen, best logisch omdat ik nog niks met de SMTP gegevens heb gedaan.

Hoe kan ik via localhost (WAMP) toch die mailfunctie testen?
 
- Ariën  -
Beheerder

- Ariën -

27/05/2015 15:19:47
Quote Anchor link
Je mailadres en SMTP-adres van je provider in php.ini invullen, en Apache herstarten.
Of gewoon PHPmailer gebruiken.
 
Snelle Jaap

Snelle Jaap

27/05/2015 15:29:22
Quote Anchor link
Wat bedoel je met gewoon PHPmailer gebruiken? Dat gebruik ik nu.
 
- Ariën  -
Beheerder

- Ariën -

27/05/2015 15:30:26
Quote Anchor link
Die class gebruiken, zie ook hun examples:
http://phpmailer.worxware.com/?pg=examples
 
Ivo P

Ivo P

27/05/2015 16:02:06
Quote Anchor link
Ik denk dat Aar bedoelt, dat je ofwel in php.ini / .htaccess de settings van de smtp-verbinding invoert, ofwel dat je die via PHPmailer doorgeeft.

Het flexibleste ben je denk ik met de laatste oplossing.
 
Johan K

Johan K

27/05/2015 16:54:16
Quote Anchor link
Aangezien het nog niet eerder is vermeld, verdiep je A.U.B. in PDO.
mysql_*, mysqli_*, etc is gemarkeerd als depreciated met een goede reden.

Wachtwoorden encrypten met md5 is erg onveilig en ik mis ook een salt key.
Stel dat je een SQL injectie op je website krijgt en je user table krijgt men in handen via API's kan men binnen een paar seconden al jouw leden hun wachtwoorden ontravelen door MD5 hashes om toveren naar de echte wachtwoorden met het gebruik van rainbow tables. Meer informatie hier: http://md5.gromweb.com/

Met PDO hoef je je ook geen zorgen meer te maken om dingen te "escapen".
 
Ivo P

Ivo P

27/05/2015 17:14:37
Quote Anchor link
Sowieso maak je met de regel

$password=mysqli_real_escape_string($connection,$_POST['password']);

je password mogelijk anders dan dat het ingevoerd is. Bijvoorbeeld de pass "ge'heim" wordt "ge\'heim"

Als je daarna md5($password) doet, krijg je een heel andere hash...
 
Daan Slagter

Daan Slagter

27/05/2015 18:00:28
Quote Anchor link
@Johan K mysqli_* is toch niet depreciated?? Of heb ik dat verkeerd.
 
- Ariën  -
Beheerder

- Ariën -

27/05/2015 18:16:13
Quote Anchor link
mysqli_* is niet deprecated. mysql_* daarintegen wel.
 

27/05/2015 20:10:52
Quote Anchor link
mysqli_real_escape_string zet er quotes bij dacht ik en daardoor klopt het niet meer
 
Ivo P

Ivo P

27/05/2015 20:48:28
Quote Anchor link
Quotes? Nee, mysql gebruikt de \ als escapekarakter
 
Thomas van den Heuvel

Thomas van den Heuvel

27/05/2015 21:22:24
Quote Anchor link
Ivo P op 27/05/2015 17:14:37:
Sowieso maak je met de regel

$password=mysqli_real_escape_string($connection,$_POST['password']);

je password mogelijk anders dan dat het ingevoerd is. Bijvoorbeeld de pass "ge'heim" wordt "ge\'heim"

Als je daarna md5($password) doet, krijg je een heel andere hash...

Nice catch. Escapen zou altijd de laatste handeling moeten zijn, op het moment dat je deze (user) DATA in de query-string (SQL) opneemt inderdaad...

Tevens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
    $email
=mysqli_real_escape_string($connection,$_POST['email']);
    $password=mysqli_real_escape_string($connection,$_POST['password']);
    $address=mysqli_real_escape_string($connection,$_POST['address']);
    $postcode=mysqli_real_escape_string($connection,$_POST['postcode']);
    $plaats=mysqli_real_escape_string($connection,$_POST['plaats']);
    $land=mysqli_real_escape_string($connection,$_POST['land']);
?>

Aint nobody got time for that. Schrijf een wrapper oid, dit kan korter natuurlijk.
Gewijzigd op 27/05/2015 21:23:38 door Thomas van den Heuvel
 



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.