Wachtwoord herstel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Ontwikkelaar .NET te Zaandam

Bedrijfsomschrijving Je komt hier terecht bij een door-en-door softwarebedrijf, waarbinnen meerdere SaaS pakketten worden ontwikkelt voor diverse sectoren. Hierbij kun je denken aan bijvoorbeeld de logistieke en medische branche. Deze organisatie kenmerkt zich door de hoge mate van complexiteit in de applicaties, wat betekent dat jij je hier niet zal gaan vervelen. Integendeel: Jij gaat hier elke dag ontzettend veel leren en je in razend tempo ontwikkelen als C# .Net Developer met focus op back-end. Het team bestaat uit ongeveer 20 personen personen, waarvan het grootste deel zich richt op software development. De sfeer is informeel en professioneel. De producten

Bekijk vacature »

Junior Front end developer Onderwijssoftware

Functie Als Junior front end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van

Bekijk vacature »

Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12946 Introductie We are looking for a Java Developer! Our client is one of the most innovation companies located within the Netherlands. We provide high quality software in a high-tech and challenging market. Functieomschrijving The department is specialized in creating and developing high quality software for manufacturing automation in a high tech environment. We strive to provide our clients with high quality software and deliver state of the art solutions in a variety of ways. Creating software infrastructure using Java SE / EE Create applications to fine tune manufacturing processes

Bekijk vacature »

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

Bekijk vacature »

Senior front end developer Digital Agency Amsterda

Functie Wij werken in multidisciplinaire teams aan verschillende projecten, echter blijf je niet gebonden aan 1 team. Dit houdt in dat wij verschillende specialisten in dienst hebben en deze door middel van een roulatiesysteem in multidisciplinaire teams laten werken. Het team bestaat vaak uit Frontend developer(s), Backend Developer(s), Designer(s), Tester(s) en Mobile Developer(s). Deze teams worden afgewisseld waardoor jij de mogelijkheid krijgt om met iedereen een keer samen te werken. Als Frontend Developer ben jij ónze Specialist op dit gebied. Jij werkt mee aan verschillende projecten voor verschillende klanten. Denk bijvoorbeeld aan klanten, zoals’; BAM, IDFA en Ultimaker. Hierbij zorg

Bekijk vacature »

C# Developer

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Door middel van ASP.NET, MVC Framework en C# ga je webshops, websites en webapplicaties ontwikkelen. Je zorgt voor de optimalisatie van bestaande software en de automatisering van bedrijfsprocessen. Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Bedrijfsprofiel

Bekijk vacature »

PHP Developer Symfony

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail. Hier ga je werken Als PHP Developer kom je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development teams welke ieder verantwoordelijk zijn voor hun 'eigen' klanten. Jouw team bestaat uit 6 backend

Bekijk vacature »

Front-end Developer Angular

Dit ga je doen Jouw taken als Front End Developer bestaan uit: Het ontwikkelen van maatwerkoplossingen voor klanten; Het meedenken over nieuwe tools en technieken; Het begeleiden van junioren; Het meewerken aan diverse projecten; Het meedenken in UX/UI design. Hier ga je werken Als Front-End Developer ga je in een Scrum team aan de slag met de nieuwste digitale technologieën om klanten en overheden over de hele wereld te ondersteunen met het ondersteunen van hun software, veelal op het gebied van watermanagement en infra. Door middel van real-time data in combinatie met voorspellende analyses, AI, Deep Learning en Machine Learning

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 »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

Bekijk vacature »

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. 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

Bekijk vacature »

Back end developer Onderwijssoftware

Functie Als back end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van hoogwaardige

Bekijk vacature »

Low Code Developer - Consultant

Functie omschrijving Wil jij fungeren als een spin in het web en samenwerken met klanten? Voor een leuke en interessante opdrachtgever in omgeving Leiden zijn wij op zoek naar een Low Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten en het leiden van projecten. Ben jij toe aan een nieuwe uitdaging en heb jij verstand van datamodellering en NO CODE Platformen? Lees dan snel verder! Bij deze rol horen de volgende werkzaamheden: Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform,

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

.NET developer

Functie Voor jou als junior .NET ontwikkelaar staat er een flinke uitdaging klaar bij dit bedrijf waar jij veel van kan gaan leren. Zo willen zij een flinke uitbreiding doen op het webbased gedeelte dat zij nu hebben en willen zij het standaard deel gaan moderniseren. Jouw team is dan ook op zoek naar een junior .NET ontwikkelaar die het leuk vindt om op basis van research en development aan de slag te gaan. Jouw mening telt mee als het gaat om hoe en met wat deze applicaties gebouwd en herschreven gaan worden. Jouw functie bij dit bedrijf gaat dan

Bekijk vacature »
Alex Mester

Alex Mester

29/01/2016 17:09:26
Quote Anchor link
Wie vind de fout?

Het wachtwoord word niet gewijzigd, terwijl de melding "Wachtwoord veranderd! Je kunt nu inloggen" word weer gegeven. Dus de query is geslaagd, maar het wachtwoord ongewijzigd.

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
require 'session.php';
require 'db.php';
include 'header.php';

if (isset($_POST['email']) && !empty($_POST['email']) && isset($_POST['werk']) && !empty($_POST['werk'])) {
  //E-mail formulier is ingevuld
  $email = mysqli_real_escape_string($mysqli, $_POST['email']);
  if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Geen geldig e-mail adres! Ga naar de <a href=\"login.php\">registratie</a> pagina!";
  }

  else {
    //kijk of het email adres al voorkomt in de database
    $sql = "SELECT email FROM login WHERE email = '$email'";
    $result = mysqli_query($mysqli, $sql) or die(mysqli_error());
    if (mysqli_num_rows($result)) {
      //Wachtwoord resetten / Maak een nieuwe hash aan
      $hash = md5(rand(0,100000)); // Genereer willekeurige 32 character hash
      
      $sql = "UPDATE login SET hash='$hash' WHERE email='$email'";
      $result = mysqli_query($mysqli, $sql) or die(mysqli_error());
      
      $subject = "Webshop wachtwoord herstel";
      $message = "Je kunt met de onderstaande link je wachtwoord herstellen.

http://www.ztjuh.tk:81/webshoptest/resetpassword.php?email="
. $email . "&hash=" . $hash;
                    
        $headers = "From:[email protected]" . "\r\n";
        mail($email, $subject, $message, $headers);
        
        if ($result == 1) {
          echo "Er is een email gestuurd naar " . $email . " met een link om je wachtwoord te herstellen!";
        }
    }
  
    else {
      //E-mail niet geregistreerd!
      echo "Dit email adres is niet geregistreerd, <a href=\"login.php\">maak een account aan</a>!";
    }
  }  
}

elseif (isset($_GET['email']) && isset($_GET['hash']) && !empty($_GET['email']) && !empty($_GET['hash'])) {
  //Link in de email is ingedrukt
  $email = mysqli_escape_string($mysqli, $_GET['email']);
  $hash = mysqli_escape_string($mysqli, $_GET['hash']);
  if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Geen geldig e-mail adres! Ga naar de <a href=\"login.php\">registratie</a> pagina!";
  }

  else {
?>

<h3>Wachtwoord opnieuw instellen</h3>
<script type="text/javascript" language="JavaScript">
function checkPassword(theForm) {
    if (theForm.password.value != theForm.password2.value) {
        alert('De wachtwoorden komen niet overeen!');
        return false;
    } else {
        return true;
    }
}
</script>

<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post" onsubmit="return checkPassword(this);">
  <input type="hidden" id="email" name="email" value="<?php echo $email; ?>">
  <input type="hidden" id="hash" name="hash" value="<?php echo $email; ?>">
  <input type="password" id="password" name="password" placeholder="Wachtwoord"><br>
  <input type="password" id="password2" name="password2" placeholder="Herhaal wachtwoord"><br>
  <input type="submit" name="submit" value="Verander wachtwoord!">
</form>

<?php
  }
}

elseif (isset($_POST['email']) && isset($_POST['hash']) && isset($_POST['password']) && isset($_POST['password2']) && !empty($_POST['email']) && !empty($_POST['hash']) && !empty($_POST['password']) && !empty($_POST['password2'])) {
  $email = mysqli_escape_string($mysqli, $_POST['email']);
  if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Geen geldig e-mail adres!";
  }

  else {
    $hash = mysqli_escape_string($mysqli, $_POST['hash']);
    $password = mysqli_real_escape_string($mysqli, $_POST['password']);
    $password2 = mysqli_real_escape_string($mysqli, $_POST['password2']);
    if ($password === $password2) {
      $secret = password_hash($password, PASSWORD_BCRYPT);
      $sql = "UPDATE login SET password='$secret' WHERE email='$email' AND hash='$hash'";
      $result = mysqli_query($mysqli, $sql) or die(mysqli_error());
      if ($result == 1) {
        echo "Wachtwoord veranderd! Je kunt nu <a href=\"login.php\">inloggen</a>!";
      }

      else {
        echo "Er is iets mis gegaan!";
      }
    }
  }
}

else {
?>

<h3>Wachtwoord opnieuw instellen</h3>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
  <input type="text" id="email" name="email" placeholder="E-Mail"><br>
  <input type="hidden" id="werk" name="werk" value="werk">
  <input type="submit" name="submit" value="Verstuur E-Mail!"><br>
</form>
<?php
}
include 'footer.php';
?>
Gewijzigd op 29/01/2016 17:12:07 door Alex Mester
 
PHP hulp

PHP hulp

23/12/2024 15:59:32
 
- Ariën  -
Beheerder

- Ariën -

29/01/2016 17:12:26
Quote Anchor link
Echo eens $sql, dan kan je zien de de query correct is.
 
Alex Mester

Alex Mester

29/01/2016 17:16:00
Quote Anchor link
Bedankt, ik zie nu dat de hash mijn e-mail is!

Dat word ff zoeken waar het fout gegaan is

Toevoeging op 29/01/2016 17:18:28:

Ik had een stomme kopieer fout gemaakt in de <form>

Het probleem is opgelost! Bedankt!
Gewijzigd op 29/01/2016 17:20:06 door Alex Mester
 
Thomas van den Heuvel

Thomas van den Heuvel

29/01/2016 19:44:38
Quote Anchor link
Mogelijke gotcha:
Je escaped het wachtwoord voor de MySQL-context voordat je deze hasht. Dat kan mogelijk, afhankelijk van het gekozen wachtwoord, voor problemen zorgen. Het escapen dient pas te gebeuren op het moment dat / voordat deze hash in een querystring wordt opgenomen. Dit hangt natuurlijk ook mede af van hoe je controle vervolgens in elkaar zit maar het bovenstaande lijkt mij niet de goede volgorde.
 
Alex Mester

Alex Mester

07/10/2016 15:00:11
Quote Anchor link
Wat zou dan de juiste volgorde moeten zijn?
 



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.