Versio

Beveiliging

Overzicht Reageren

Glenn Callaerts

Glenn Callaerts

23/01/2012 19:43:21
Quote Anchor link
Kan er iemand me nog tips geven hoe ik deze script om aan te melden kan beveiligen?

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
<?php
$host
=""; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name
$tbl_name=""; // Table name

// Connect to server and select databse.

mysql_connect("$host", "$username", "$password")or die("<center>Kan niet verbinden met de database.</center>");
mysql_select_db("$db_name")or die("Kan geen databank selecteren.");

// username and password sent from form
$email=$_POST['email'];
$mypassword=$_POST['mypassword'];

// To protect MySQL injection
$email = stripslashes($email);
$mypassword = stripslashes($mypassword);
$email = mysql_real_escape_string($email);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE email='$email' and wachtwoord='$mypassword'";

$result=mysql_query($sql);


$row_Recordset1 = mysql_fetch_assoc($result);
$gebruiker = $row_Recordset1['voornaam'];
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

// If result matched $email and $mypassword, table row must be 1 row
if($count==1){
// Register $email, $mypassword and redirect to file "login_success.php"

session_start();
$_SESSION["email"] = $email;
$_SESSION["mypassword"] = $mypassword;
$_SESSION["voornaam"] = $gebruiker;
header("location:login_success.php");
}

else {
require("header.php");
echo "<center>Verkeerd email of wachtwoord.</center>";
}

?>


Mvg
 
PHP hulp

PHP hulp

23/05/2012 23:07:30
Gesponsorde koppelingen:
 
- Aar -

- Aar -

23/01/2012 19:50:07
Quote Anchor link
- Variabelen butien quotes
- Geen variabelen overschrijven op lijn 17 t/m 20
- Waarom sla je wachtwoorden op in een sessie?
- Ik mis foutafhandeling op je query
- <center> is antiek. Gebruik CSS
 
Erwin H

Erwin H

23/01/2012 19:54:22
Quote Anchor link
Om het veiliger te maken: houd bij hoe vaak er een verkeerd email/wachtwoord combinatie wordt geprobeerd. Zo zou je brute force aanvallen in elk geval kunnen detecteren.
 
Noppes Homeland

Noppes Homeland

23/01/2012 19:55:00
Quote Anchor link
Script logica aanpassen

- de juiste controles en validaties toevoegen
- stripslashes weg
- session_start() hoort op regel 2 te staan en niet op regel 36
- (mysql) foutafhandeling toevoegen
- geen overbodige variabelen aanmaken
- geen variabelen namen gebruiken voor database-, tabel- en veldnamen
- php variabelen buiten quotens
- mysql_real_escape_string alleen binenn de sql statement toepassen
- na een header komt altijd een exit
- gebruik geen verouderde html elementen

maar volgens mij heb je dit rijtje al eerder om je oren gekregen en posten we het voor de KzK.
 
Marco PHPJunky

Marco PHPJunky

23/01/2012 20:54:33
Quote Anchor link
En om het rijtje nog even compleet te maken wil ik je ook nog even verwijzen naar deze handleiding van Roel..

Linkje
 
Kees Schepers
Moderator

kees Schepers

23/01/2012 21:23:05
Quote Anchor link
Nog een tip is, als iemand foutief inlogt een sleep(3) o.i.d. erin zetten, dit verminderd brute-force kansen aanzienlijk. Stomweg omdat de tijd die het aantal pogingen in beslag neemt dan veel langer wordt.
 



Overzicht Reageren