reCaptcha

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als C# Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the Year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

3D BIM Add-on Developer

Als 3D BIM add- on ontwikkelaar bij KUBUS ontwikkel je add-ons (BCF Managers genaamd) voor de toonaangevende building information modeling (BIM) programma's Revit, Navisworks, Archicad, AutoCAD en Tekla Structures. BCF Managers maken gegevensoverdracht mogelijk tussen BIM-software en BIMcollab. Je werkt zowel aan de front- als aan de back-end. 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 genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Medior Front-end Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte websites die in eigen beheer zijn. In onze vestiging in Nederweert zit onze development afdeling en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé Medior Front-end Developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het uitwerken van designs tot functionele layouts Je

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 »

C# .NET Developer

Functieomschrijving Voor dit leuke softwarre bedrijf in de omgeving Vught zijn we per direct op zoek naar een C#/.NET Developer. Is development jouw passie en doe je dit graag met C#/.NET? Lees dan snel verder! Jou werkzaamheden zullen zijn: Zorgen voor de optimalisatie van de huidige software en het automatiseren van bedrijfsprocessen. Naar aanleiding van de wensen van de klant ga je, met je collega's op zoel naar passende oplossingen en je werkt dit uit tot een mooi eindproduct. Je gaat webshops, websites en webapplicaties ontwikkelen door middel van ASP.NET, C# en MVC Framework. Bedrijfsprofiel Deze opdrachtgever houdt zich bezig

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

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 »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Typescript Developer / Cloud platform

Dit ga je doen (Door)Ontwikkelen van het cloud platform; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het cloud platform; Sparren met de business. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt

Bekijk vacature »

C++ Developer

Functieomschrijving Ben jij als software engineer toe aan een nieuwe uitdaging? Dan zijn wij op zoek naar jou! Voor het maken van de procesbesturingsoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Ontwerpen, programmeren en testen van productaanpassingen; Implementeren van nieuwe productreleases in de projectteams; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden,

Bekijk vacature »

.NET developer

Functie Als developer heb jij de keuze om aan te sluiten bij het team (13 developers) die op locatie projectmatig bij klanten werkt. Wanneer jij liever intern bij de werkgever werkt is er ook alle ruimte voor jou in het interne team (8 developers) van dit bedrijf. Je werkt samen aan verschillende projecten bij of voor de klant. Het project wordt aangeleverd door sales aan de project manager. Die maakt samen met de Resourcer een planning en op basis daarvan wordt uit het development team een “projectgroep” opgesteld. Hoeveel en welke projecten jij wilt oppakken gebeurt geheel in samenspraak met

Bekijk vacature »
Sander Bakker

Sander Bakker

13/03/2016 14:12:46
Quote Anchor link
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
if (!isset($_SESSION)) { session_start(); }

if (isset($_SESSION['login']) && $_SESSION['login'] === true && isset($_SESSION['userid']) && $_SESSION['userid'] != "") {
    header('location: loggedin.php');
    exit();
}


include "connect.php";
include "functions.php";

$error = "";

if (isset($_POST['login']) || isset($_POST['username']) || isset($_POST['password']) || isset($_POST['g-recaptcha-response'])) {

    $username = $_POST['username'];
    $password = $_POST['password'];
    $captcha=    $_POST['g-recaptcha-response'];
    if (checkUsername($username) === false) {
        $error = "Onjuiste inlogpoging";
    }

    if (checkPassword($password) === false) {
        $error = "Onjuiste inlogpoging";
    }

            if(!$captcha){
                  $error = "Please check the the captcha form.";
                  
                }


    $secure_username = bin2hex(htmlspecialchars($username));
    $secure_password = bin2hex(htmlspecialchars($password));

    $q_checklogin = mysqli_query($conn, "SELECT id FROM users WHERE username = UNHEX('$secure_username') AND password = UNHEX('$secure_password')");

    if (mysqli_num_rows($q_checklogin) === 1) {
        $r_checklogin = mysqli_fetch_assoc($q_checklogin);
        $_SESSION['userid'] = $r_checklogin['id'];
        $_SESSION['login'] = true;
        header('location: loggedin.php');
    }
else {
        $error = "Onjuiste inlogpoging";
    }

}

?>


Ik heb deze code geschreven maar iedere keer als ik wil inloggen logt de website in zonder dat de captcha geverifieerd is, dit niet mij bedoeling. De gebruikersnaam en het wachtwoord moeten kloppen hierna moet de captcha geverifieerd worden en dan pas mag er ingelogd zijn. Hoe krijg ik het voor mekaar om dit te doen?
 
PHP hulp

PHP hulp

07/05/2024 17:13:22
 
- SanThe -

- SanThe -

13/03/2016 14:51:56
Quote Anchor link
Je checked de captcha nergens.
En de query is niet beveiligd.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/03/2016 14:54:12
Quote Anchor link
a) als je het inlogformulier toont dan schrijf je de captha naar de sessie.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
session_start();
$_SESSION['captcha'] = $captcha;
?>


b) als het formulier verstuurd is dan vergelijk je de captcha uit de sessie met de captcha in de $_POST array.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
session_start();
if(!isset($_SESSION['captcha']) || trim(strtolower($_SESSION['captcha'])) != trim(strtolower($_POST['captcha'])))
    $error = 'Captcha is niet juist';
?>



Ik raad je sterk aan de wachtwoorden te versleutelen met bcrypt (bij example #2). Je moet hiervoor wel PHP versie 5.5 of hoger hebben draaien.
Gewijzigd op 13/03/2016 15:00:17 door Frank Nietbelangrijk
 
Sander Bakker

Sander Bakker

13/03/2016 15:04:30
Quote Anchor link
Waar zouden deze 2 voorbeelden dan in de code komen te staan. Ben een beginner met PHP net een maandje bezig & snap nog niet helemaal hoe & waar alles moet staan
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/03/2016 15:12:37
Quote Anchor link
session_start() zet je helemaal boven in je script.
voorbeeld a zet je boven de html van je form
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
session_start();

$capthca = 'AB123';

$_SESSION['captcha'] = $captcha;
?>

<form>
   Hier je formfields
</form>


het tweede voorbeeld zet je in de code die je boven toont
Gewijzigd op 13/03/2016 15:17:45 door Frank Nietbelangrijk
 
Sander Bakker

Sander Bakker

13/03/2016 15:15:52
Quote Anchor link
Jaa maar hoe ziet mijn code er dan uit waar moet ik dat deel van jou in mijn code vragen (dat is de vraag nu)
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/03/2016 15:44:31
Quote Anchor link
een werkend voorbeeldje dan maar
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
<?php
// een functie die een willekeurige reeks letters en cijfers maakt
function generateRandomString($length = 10) {
    $characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }

    return $randomString;
}


session_start();

$error = '';

// als het formulier verstuurd wordt dan is de request in de POST methode.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    // validatie van de captcha
    if(!isset($_SESSION['captcha']) || trim(strtolower($_SESSION['captcha'])) != trim(strtolower($_POST['captcha']))) {
        $error = 'Captcha is niet juist';
    }

    
    // HIER KAN NOG MEER VALIDATIE PLAATSVINDEN
    
    
    // als de validatie geslaagd is sturen we de gebuiker door naar een andere pagina

    if($error == '') {
        header('Location: homepage.php');
        exit;
    }
}


// maak een nieuwe captcha code
$_SESSION['captcha'] = generateRandomString(5);

// PAS HIERONDER STARTEN WE MET DE OUTPUT. session_start() en header() zouden anders niet werken!

// DISCLAIMER: GEBRUIK GEEN SVG OF TEXT OM DE CAPTCHA WEER TE GEVEN MAAR GENEREER EEN AFBEELDING.
// HIER IS DE CAPTCHA WEL GEWOON TEKST MAAR DIT IS SLECHTS EEN KORT VOORBEELD!

?>

<!DOCTYPE html>
<html>
    <head>
        <title>Captcha!</title>
        <meta charset="UTF-8">
    </head>
    <body>
        <?php
            if(strlen($error))
                echo '<p>' . $error . '</p>';
        ?>

        <svg height="30" width="200">
            <text x="0" y="15" fill="red"><?php echo $_SESSION['captcha']; ?></text>
        </svg>
        <form action method="post">
            <input type="text" name="captcha" placeholder="vul de captcha code in">
            <button>Test!</button>
        </form>
    </body>
</html>
 
Sander Bakker

Sander Bakker

13/03/2016 15:49:39
Quote Anchor link
Wat jij me nu geeft is een zelf gemaakte captcha maar ik wil die van google gebruiken zoals die in mijn code boven in het topic ????
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/03/2016 15:52:04
Quote Anchor link
Waar? geef eens een linkje?
 
Sander Bakker

Sander Bakker

13/03/2016 15:56:35
Quote Anchor link
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
if (!isset($_SESSION)) { session_start(); }

if (isset($_SESSION['login']) && $_SESSION['login'] === true && isset($_SESSION['userid']) && $_SESSION['userid'] != "") {
    header('location: loggedin.php');
    exit();
}


include "connect.php";
include "functions.php";

$error = "";

if (isset($_POST['login']) || isset($_POST['username']) || isset($_POST['password']) || isset($_POST['g-recaptcha-response'])) {

    $username = $_POST['username'];
    $password = $_POST['password'];
    $captcha=    $_POST['g-recaptcha-response'];
    if (checkUsername($username) === false) {
        $error = "Onjuiste inlogpoging";
    }

    if (checkPassword($password) === false) {
        $error = "Onjuiste inlogpoging";
    }

            if(!$captcha){
                  $error = "Please check the the captcha form.";
                  
                }


    $secure_username = bin2hex(htmlspecialchars($username));
    $secure_password = bin2hex(htmlspecialchars($password));

    $q_checklogin = mysqli_query($conn, "SELECT id FROM users WHERE username = UNHEX('$secure_username') AND password = UNHEX('$secure_password')");

    if (mysqli_num_rows($q_checklogin) === 1) {
        $r_checklogin = mysqli_fetch_assoc($q_checklogin);
        $_SESSION['userid'] = $r_checklogin['id'];
        $_SESSION['login'] = true;
        header('location: loggedin.php');
    }
else {
        $error = "Onjuiste inlogpoging";
    }

}

?>


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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<!DOCTYPE html>
<html lang="en">
  <head>
  <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" type="text/css">
  <link rel="stylesheet" href="css/stylesheet.css" type="text/css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
    <script src='https://www.google.com/recaptcha/api.js'></script>
  <script src="js/java.js"></script>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Login</title>
  <style>
  .error {
    color: darkred;
    font-weight: bold;
  }
  </style>
  </head>
  <body>
    <nav class="navbar navbar-default">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.php">SBRM National Bank</a>
      </div>
      <div class="collapse navbar-collapse" id="myNavbar">
        <ul class="nav navbar-nav">
          <li><a href="index.php">Home</a></li>
          <li><a href="#">Particulier</a></li>
          <li><a href="#">Persoonlijk</a></li>
          <li><a href="#">Priv</a></li>
          <li><a href="#">Zakelijk</a></li>

        </ul>
        <ul class="nav navbar-nav navbar-right">
          <li><a href="register.php"><span class="glyphicon glyphicon-user"></span> Registeren</a></li>
          <li class="active"><a href="login.php"><span class="glyphicon glyphicon-log-in"></span>  Inloggen</a></li>
        </ul>
      </div>
    </div>
    </nav>
    <div class="container-fluid hero-slide">
      <div class="row">
    <div id="myCarousel" class="carousel slide " data-ride="carousel">



      <div class="carousel-inner" role="listbox">
        <div class="item active">
          <img src="images/login.jpg" alt="Ad">
    <div class="carousel-caption">
          <h3 class="caption">Inloggen</h3>

        </div>
      </div>
      </div>
    </div>
    </div>
  </div>

<div class="container padding-top-10">
  <div class="panel col-md-6">
    <div class="panel-heading "><h5>Inloggen</h5></div>
    <div class="panel-body">
      <form action="login.php" method="post">
<label for="username" class="control-label">Gebruikersnaam:</label>
        <div class="row ">
          <div class="col-md-12">
            <input type="text" class="form-control" id="username" placeholder="Gebruikersnaam" name="username" value="<?php if (isset($_POST['username'])) { echo $_POST['username']; } ?>" required/>
          </div>
        </div>
<label for="password" class="control-label">Wachtwoord:</label>
        <div class="row ">
          <div class="col-md-12">
            <input type="password" class="form-control" id="password" placeholder="Wachtwoord" name="password" value="<?php if (isset($_POST['password'])) { echo $_POST['password']; } ?>" required/>
          </div>
          <!-- Alleen nodig bij registratie, maar je kan hier wel een pincode als extra beveiliging van maken gezien het normaal om geld gaat
          <div class="col-md-6">
            <input type="password" class="form-control" id="password" placeholder="Herhaal Wachtwoord" name="rpassword" required/>
          </div>
          -->
                <div class="row">
                    <div class="col-md-8 padding-top-10 ">
                        <div class="g-recaptcha" data-sitekey="6LcCsBoTAAAAAK72uzyJSrgWwD8xuF6jFIfgFaHX"></div>
                    </div>
                </div>
        </div>
        <div class="row">
          <div class="col-md-2 padding-top-10">
            <input type="submit" name="login" class="btn btn-succes" value="Login">
          </div>
        </div>
        <?php if ($error !== "") { ?>
        <div class="row ">
          <div class="col-md-12 error">
            <?php echo $error; ?>
          </div>
        </div>
        <?php } ?>
        <div class="row">
          <div class="col-md-12 padding-top-10">
            <p class="pleft">Door op <b>login</b> te klikken, gaat u akkoord met de <a class="algemeen" href="#" data-toggle="modal" data-target="#t_and_c_m">Algemene Voorwaarden</a> opgesteld door deze site.</p>
          </div>
        </div>
      </form>
    </div>
</div>
</div>


  <div class="modal fade" id="t_and_c_m" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
                <h4 class="modal-title" id="myModalLabel">Algemene Voorwaarden</h4>
            </div>
            <div class="modal-body">
        <p>Deze algemene voorwaarden zijn tot stand gekomen in overleg
tussen de Nederlandse Vereniging van Banken en de Consumentenbond
in het kader van de Cordinatiegroep Zelfreguleringsoverleg
van de Sociaal-Economische Raad en treden in werking
per 1 november 2009. Over overige (product)voorwaarden die
van toepassing kunnen zijn heeft geen overleg plaatsgevonden.
De Consumentenbond behoudt zich het recht tot collectieve
actie voor met betrekking tot dergelijke voorwaarden.</p>
      </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary" data-dismiss="modal">Ik ga akkoord</button>
            </div>
        </div>
    </div>
</div>

</div>

<footer>
  <div class="container">
    <div class="row">
      <div class="col-sm-3">
        <h6>Copyright &copy; 2016</h6>
        <ul class="list-unstyled">
          <li class="boss">Sander Bakker</li>
          <li class="unstyled">Bob Lansbergen</li>
          <li class="unstyled">Ronald van den Heuvel</li>
          <li class="unstyled">Max Donck</li>
        </ul>
      </div>
      <div class="col-sm-3">
        <h6>Over Ons</h6>
        <p id="pfont">Dit is een website ontworpen om een banksysteem te simuleren met PHP en mySQL</p>
      </div>

      <div class="col-sm-2">
        <h6>Navigatie</h6>
        <ul class="list-unstyled">
          <li class="unstyled"><a href="#">Home</a></li>
          <li class="unstyled"><a href="#">Particulier</a></li>
          <li class="unstyled"><a href="#">Persoonlijk</a></li>
          <li class="unstyled"><a href="#">Priv</a></li>
          <li class="unstyled"><a href="#">Zakelijk</a></li>
        </uL>
      </div>
      <div class="col-sm-2">
        <h6>Contact</h6>
        <ul class="list-unstyled">
          <li class="unstyled"><a href="#">Google +</a></li>
          <li class="unstyled"><a href="#">Facebook</a></li>
          <li class="unstyled"><a href="#">Twitter</a></li>
          <li class="unstyled"><a href="#">YouTube</a></li>
        </uL>
      </div>
    </div>
  </div>
</footer>
  </body>
  </head>
  </html>


Dit is de volledige code die ik gebruik. Hierin is de google reCaptcha terug te vinden binnen een div onder de form class :)
Gewijzigd op 13/03/2016 16:09:08 door Sander Bakker
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/03/2016 15:59:00
Quote Anchor link
zet het even tussen [ c o d e ] en [ / c o d e ] maar dan zonder al die spaties. Dan kunnen we het beter lezen.
 
Sander Bakker

Sander Bakker

13/03/2016 16:09:25
Quote Anchor link
Gedaan
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/03/2016 16:12:58
Quote Anchor link
ik heb het gezien. google recaptcha.. i ll be back.

Toevoeging op 13/03/2016 16:42:39:

Oke voorbeeld aangepast met Recaptcha van google.

- zelf even je eigen site-key en secret-key er in zetten
- werkt alleen met gebruik van een domeinnaam dus niet met 127.0.0.1 of localhost.

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
<?php
function checkCaptcha($secret, $captcha) {
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,
            'secret=' . $secret . '&response=' . $captcha);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);

    curl_close ($ch);
    
    $response = json_decode($response, TRUE);
    
    if(isset($response['success']) && $response['success'] == 'true')
        return true;
    
    return false;
}


session_start();

$key = 'jouw eigen site-key';
$secret = 'jouw eigen secret-key';
$error = '';

// als het formulier verstuurd wordt dan is de request in de POST methode.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    if(!checkCaptcha($secret, $_POST['g-recaptcha-response']))
            $error = 'Ongeldige captcha';
    
    // HIER KAN NOG MEER VALIDATIE PLAATSVINDEN
    
    
    // als de validatie geslaagd is sturen we de gebuiker door naar een andere pagina

    if($error == '') {
    // DOE HIER WAT JE MOET DOEN VOOR DE AFHANDELING VAN JE FORMULIER

        header('Location: homepage.php');
        exit;
    }
}

// PAS HIERONDER STARTEN WE MET DE OUTPUT. session_start() en header() zouden anders niet werken!
?>

<!DOCTYPE html>
<html>
    <head>
        <title>Captcha!</title>
        <meta charset="UTF-8">
        <script src='https://www.google.com/recaptcha/api.js'></script>
    </head>
    <body>
        <?php
            if(strlen($error))
                echo '<p>' . $error . '</p>';
        ?>

        <form action method="post">
            <div class="g-recaptcha" data-sitekey="<?php echo $key; ?>"></div>
            <button>Test!</button>
        </form>
    </body>
</html>
Gewijzigd op 13/03/2016 16:58:08 door Frank Nietbelangrijk
 
Thomas van den Heuvel

Thomas van den Heuvel

14/03/2016 13:22:31
Quote Anchor link
Sander Bakker op 13/03/2016 15:04:30:
Ben een beginner met PHP net een maandje bezig & snap nog niet helemaal hoe & waar alles moet staan

Wellicht is een loginsysteem waarbij je communiceert met een externe dienst ter verificatie niet de beste plaats om te starten met PHP. Da's toch een beetje binnenkomen via de zijdeur.
 
- Ariën  -
Beheerder

- Ariën -

14/03/2016 13:27:22
Quote Anchor link
@Thomas, maar het kan geen kwaad om te profiteren van een goed algoritme van Google.
 
Thomas van den Heuvel

Thomas van den Heuvel

14/03/2016 13:33:22
Quote Anchor link
@Ariën toch alleen als je kunt doorgronden wat er gebeurt, anders is het niets meer dan een "googeltruuk".

Indien je je eigen loginmechanisme schrijft -zelfs, en mogelijk te meer, wanneer je gebruik maakt van hulpstukken- is het zaak dat je snapt wat je doet.
 



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.