Loginsysteem
Ik heb een login systeem bij een membersysteem gekregen. Maar ik heb van sommige gehooord dat die login.php onveilg is, en makkelijk te hácken is! Daarom wou ik vragen of het ook mogelijk was bijvoorbeeld:
Dat je inlogt op login.php en dat je dan naar een pagina wordt doorverwezen bijvoorbeeld: ingelogt.php en dat je via die pagina wordt door gestuurd naar de index.php en dat dan de index gaat kijken of die gebruiker is ingelogd.
Dat je inlogt op login.php en dat je dan naar een pagina wordt doorverwezen bijvoorbeeld: ingelogt.php en dat je via die pagina wordt door gestuurd naar de index.php en dat dan de index gaat kijken of die gebruiker is ingelogd.
Gesponsorde koppelingen:
Als je je login.php even plaatst, kunnen 1 van de experts er naar kijken.
(ik noem mijzelf express niet expert, maar een normale php-er..)
(ik noem mijzelf express niet expert, maar een normale php-er..)
Welke scipt wil je hebben? Van oude inlog.php?
Ja =)
Hier is de PHP code van inlog.php
Code (php)
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
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
session_start();
require("config.php");
if($submit){
$query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord' AND geactiveerd = '1'");
$result = mysql_num_rows($query);
if(!$result){
$a = "Gebruikersnaam en/of Wachtwoord is/zijn incorrect. Of je bent vergeten om je account te activeren...<br><br><a href=\"?gebruikersnaam=$gebruikersnaam\">Ga terug</a>";
}
else{
while($object = mysql_fetch_object($query)){
$memberid = $object->memberid;
}
$login = 1;
session_register("login");
session_register("memberid");
header("Location: index.php");
}
}
else{
// Verwijder deze comment en de onderstaande regel als je een eigen stylesheet gebruikt...
echo "<link rel=\"stylesheet\" content=\"text/css\" href=\"style.css\">";
if(!$login){
$a = "<form method=\"POST\" action=\"$PHP_SELF\">
<input type=\"hidden\" name=\"submit\" value=\"1\">
Naam:<br>
<input type=\"text\" name=\"gebruikersnaam\" size=\"20\" value=\"$gebruikersnaam\"><br>
Wachtwoord:<br>
<input type=\"password\" name=\"wachtwoord\" size=\"20\"><br>
<input type=\"submit\" value=\"Login\"> <input type=\"reset\" value=\"Aanmelden\"
onclick=\"document.location.href=('aanmelden.php')\">
</form>";
}
else{
header("Location: index.php");
}
}
// Op de plaats in je layout waar je het inlogformulier wilt hebben doe je ( echo $a; )
echo $a;
?>
session_start();
require("config.php");
if($submit){
$query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord' AND geactiveerd = '1'");
$result = mysql_num_rows($query);
if(!$result){
$a = "Gebruikersnaam en/of Wachtwoord is/zijn incorrect. Of je bent vergeten om je account te activeren...<br><br><a href=\"?gebruikersnaam=$gebruikersnaam\">Ga terug</a>";
}
else{
while($object = mysql_fetch_object($query)){
$memberid = $object->memberid;
}
$login = 1;
session_register("login");
session_register("memberid");
header("Location: index.php");
}
}
else{
// Verwijder deze comment en de onderstaande regel als je een eigen stylesheet gebruikt...
echo "<link rel=\"stylesheet\" content=\"text/css\" href=\"style.css\">";
if(!$login){
$a = "<form method=\"POST\" action=\"$PHP_SELF\">
<input type=\"hidden\" name=\"submit\" value=\"1\">
Naam:<br>
<input type=\"text\" name=\"gebruikersnaam\" size=\"20\" value=\"$gebruikersnaam\"><br>
Wachtwoord:<br>
<input type=\"password\" name=\"wachtwoord\" size=\"20\"><br>
<input type=\"submit\" value=\"Login\"> <input type=\"reset\" value=\"Aanmelden\"
onclick=\"document.location.href=('aanmelden.php')\">
</form>";
}
else{
header("Location: index.php");
}
}
// Op de plaats in je layout waar je het inlogformulier wilt hebben doe je ( echo $a; )
echo $a;
?>
het is goed mogelijk dat je inlog.php onveilig is..
K denk ook dat dit bij het grootste deel van de websites onveilig is,,
Dit komt omdat je er altijd een invoerveldt hebt..
Dit invoerveldt lijdt meestal ook direct naar de Database..
Als je de invoer niet goed beveiligd, is je site uitermate onveilig..
Ik zou over je invoer zowieso eerste maar eens met mysql_real_escape_string,
dit zou het al een stuk veiliger maken..
K denk ook dat dit bij het grootste deel van de websites onveilig is,,
Dit komt omdat je er altijd een invoerveldt hebt..
Dit invoerveldt lijdt meestal ook direct naar de Database..
Als je de invoer niet goed beveiligd, is je site uitermate onveilig..
Ik zou over je invoer zowieso eerste maar eens met mysql_real_escape_string,
dit zou het al een stuk veiliger maken..
Edit:
Je moet ten eerste maar eens je variablen buiten quotes halen in de query's.
Ten tweede heb je wel de $gebruikersnaam en $wachtwoord, maar werken deze wel..
ik denk dat je ze moet gebruiken als $_POST['gebruikersnaam']
enzo.
En je moet natuurlijk dan nog het bovenstaande doen :P
veel succes
Je moet ten eerste maar eens je variablen buiten quotes halen in de query's.
Ten tweede heb je wel de $gebruikersnaam en $wachtwoord, maar werken deze wel..
ik denk dat je ze moet gebruiken als $_POST['gebruikersnaam']
enzo.
En je moet natuurlijk dan nog het bovenstaande doen :P
veel succes
Gewijzigd op 01/01/1970 01:00:00 door Nicoow Unknown
nico schreef op 23.07.2007 20:55:
het is goed mogelijk dat je inlog.php onveilig is..
K denk ook dat dit bij het grootste deel van de websites onveilig is,,
Dit komt omdat je er altijd een invoerveldt hebt..
Dit invoerveldt lijdt meestal ook direct naar de Database..
Als je de invoer niet goed beveiligd, is je site uitermate onveilig..
Ik zou over je invoer zowieso eerste maar eens met mysql_real_escape_string,
dit zou het al een stuk veiliger maken..
K denk ook dat dit bij het grootste deel van de websites onveilig is,,
Dit komt omdat je er altijd een invoerveldt hebt..
Dit invoerveldt lijdt meestal ook direct naar de Database..
Als je de invoer niet goed beveiligd, is je site uitermate onveilig..
Ik zou over je invoer zowieso eerste maar eens met mysql_real_escape_string,
dit zou het al een stuk veiliger maken..
Ik snap je niet helemaal
dit topic gaat hier verder.



