Email verificatie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior .NET Developer

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Ontwikkelen van herbruikbare componenten; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als junior .NET Developer kom je terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als junior .NET Developer werk je aan het ontwikkelen van verbeterde

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

C# .NET Backend Developer HBO Javascript

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-Commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

Lead React Developer

Dit ga je doen Als Lead React Developer zul jij je voornamelijk gaan bezighouden met: Het werken aan tal van uiteenlopende projecten waar gloednieuwe (web)applicaties van scratch af aan ontwikkeld worden met o.a. React (Native) en Drupal; Het aansturen van een team bestaande uit 5-6 talentvolle en gedreven ontwikkelaars; Het adviseren en meedenken over nieuwe (technische) oplossingen en te gebruiken tools/frameworks; Het meedenken over de architectuur en de juiste implementatiebeslissingen maken; De doorontwikkeling van huidige applicaties. Hier ga je werken Als je inderdaad een ervaren Lead React Developer bent die zichzelf graag nog verder wil ontwikkelen dan is het goed

Bekijk vacature »

.NET Developer

Dit ga je doen (Door)Ontwikkelen van het applicatielandschap; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het applicatielandschap; Sparren met de business. Hier ga je werken De organisatie is werkzaam in de financiële dienstverlening met meer dan 200 medewerkers en meer dan 250.000 eindgebruikers is het een van de grotere binnen haar branche. Je komt te werken in een team waarmee je verantwoordelijk bent voor het ontwikkelen en onderhouden van de financiële applicaties binnen de organisatie, denk hierbij aan het bouwen en onderhouden van portalen. Als .net developer ga jij het development team ondersteunen met de transitie naar

Bekijk vacature »

Developer Front-end

Functie omschrijving Front-end Developer gezocht! Wij zijn op zoek naar een front-end developer voor een organisatie in de regio Veenendaal die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. Je hebt in deze functie een adviserende rol hiervoor moet je beschikken over een grote dosis vakinhoudelijke kennis. Je creëert unieke concepten door samen met collega’s en klanten te overleggen over aangeleverde designs. Hiermee draag jij je steentje bij aan de groeiambities van de klant. Jij wordt het vaste aanspreekpunt voor klanten wanneer het gaat over planningen, hierin is het jouw taak om alle betrokkenen goed

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een ontwikkelteam met 15 developers en twee testers. Samen zijn jullie verantwoordelijk voor financiële applicaties met meer dan 50.000 gebruikers. Een deel van het team is verantwoordelijk voor de webapplicaties van deze organisatie. Ook zijn er twee app ontwikkelaars werkzaam in het team die zich focussen op de mobiele applicatie. Als .NET ontwikkelaar ga jij aan de slag met de webapplicaties van deze organisatie. Hierbij maak jij o.a. gebruik van C# .NET, ASP.NET, T-SQL, Angular en TypeScript. De nadruk van jouw functie ligt wel op de backend van de applicatie. Wat jouw functie

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Ridderkerk 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 »

Ervaren PHP Developer

Functie omschrijving Jelling IT zoekt ervaren PHP developer! Voor een organisatie in de regio Rhenen zijn wij op zoek naar een ervaren PHP developer die gaat functioneren als een verlengstuk van de klant. Jij bent iemand die technisch complexe zaken met enthousiasme aanvliegt. Je bent in staat om aan meerdere projecten te werken en werkt graag met de nieuwste technieken. In deze functie werk je veel samen met front-end developers en stel je alles in het werk om grote verschillen voor de klanten teweeg te brengen. Verder ben jij iemand die graag zichzelf uitdaagt en die altijd de beste wilt

Bekijk vacature »

SQL Database ontwikkelaar

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

Als Front-end developer bijdragen aan het onderwij

Functie Als front-end developer om je terecht in een team van goede en ervaren developers, en ga je werken aan de software die door miljoenen mensen gebruikt wordt. Je bent in staat om designs effectief te vertalen naar werkende feautures en hebt oog voor een goede UX van het product. Je staat voor clean code en goede documentatie. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit software en code. Je dagelijkse werk bestaat uit het werken aan componenten in de Storybook. Het verbeteren en refactoren van de huidige

Bekijk vacature »

ERP Developer fleet managementsysteem

Wat ga je doen als ERP Developer fleet managementsysteem? Als ERP developer speel jij een belangrijke rol bij het doorvoeren van wijzigingen en verbeteringen binnen het fleet managementsysteem. Jouw expertise op het gebied van ERP systemen stelt jou in staat om de applicatie optimaal te laten functioneren en te blijven ontwikkelen. Als lid van het IT-team werk je nauw samen met andere developers en het business team om het fleet managementsysteem te integreren met andere systemen. Je bent verantwoordelijk voor het ontwikkelen van nieuwe functionaliteiten en het implementeren van verbeteringen op basis van de wensen en eisen van onze klanten.

Bekijk vacature »

Medior C# Developer

Samen met het development team zorg je ervoor dat alle systemen achter de schermen vlekkeloos werken. Wat doe je als Medior C# Developer bij Coolblue? Als C# developer doe je regelmatig mee aan brainstormsessies over user experience, data en task flow met de UX Designer, Product Owner en Data Scientist in je team. Daarnaast schrijf je op zichzelf staande, consistente en testbare code die goed onderhoudbaar en toekomstbestendig is. Ook C# Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Werken met verschillende soorten data-opslag, zoals Oracle of AWS. Problemen oplossen

Bekijk vacature »

PHP Developer

Dit ga je doen Je werkt nauw samen met het websitebureau aan de ontwikkeling en optimalisering van het internationale platform; Je ziet nieuwe webshops op en voert optimalisaties door; Je bouwt aan technische, functioneel en commercial resultaat; Je vindt het leuk om zelfstandig binnen een internationale organisatie te werken, maar krijgt ook energie om samen met collega's te werken. Hier ga je werken Voor een bedrijf in de regio Rotterdam zijn wij opzoek naar een PHP Developer. Je wordt onderdeel van het communicatieteam en gaat je bezighouden met het optimaliseren van de website van dit internationale bedrijf. Je schakelt veel

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

07/05/2024 10:38:47
 
- 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.