Preg_match fout
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
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
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
<?
if(!isset($_SESSION['user_id'])) {
if(isset($_POST['submit'])) {
// Exec
// Check fields
if($_POST['user'] != "" AND $_POST['pass1'] != "" AND $_POST['pass2'] != "" AND $_POST['email'] != "") {
if(preg_match("[a-zA-Z0-9]", $_POST['user'])) {
// Username-check
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$username."'";
$query = mysql_query($sql);
$count = mysql_num_rows($query);
if($count == 0) {
// E-mailcheck
if(preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$/i", $_POST['email'])) {
// Email passed check
if($_POST['pass1'] == $_POST['pass2']) {
$actcode = mt_srand((double)microtime()*100000);
while(strlen($actcode) <= 10) {
$i = chr(mt_rand (0,255));
if(eregi("^[a-z0-9]$", $i)) {
$actcode = $actcode.$i;
}
}
$md5pass = md5($_POST['pass1']);
$IP = $_SERVER['REMOTE_ADDR'];
if($activate == TRUE) {
// Insertje in database
}else{
// Insertje in database
}
$query = mysql_query($sql);
$query9 = mysql_query($sql9);
if($query == TRUE) {
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$_POST['user']."'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$dbid = htmlspecialchars($rij->id);
$bericht = $reg_mail;
$bericht .= "Kopieer de volgende link in je browser om je account te activeren: blabla \n\n";
$bericht .= "Gebruikersnaam: ".$username."\n";
$bericht .= "Wachtwoord: ".$_POST['pass1']."\n";
$mail = mail($_POST['email'],"Registratie blabla",$bericht,"From: blabla");
if($activate == TRUE) {
if($mail == TRUE) {
echo $reg_truemail;
}else{
echo $error;
}
}else{
echo $reg_nomail;
}
}else{
echo $error;
}
}else{
echo $reg_pascheck;
}
}else{
echo $reg_mailcheck;
}
}
else{
echo $reg_userexists;
}
}else{
echo "Uw gebruikersnaam bevat ongeldige tekens!";
}
}else{
echo $reg_field;
}
}else{
// Form
}
}else{
echo $reg_loginerror;
}
?>
if(!isset($_SESSION['user_id'])) {
if(isset($_POST['submit'])) {
// Exec
// Check fields
if($_POST['user'] != "" AND $_POST['pass1'] != "" AND $_POST['pass2'] != "" AND $_POST['email'] != "") {
if(preg_match("[a-zA-Z0-9]", $_POST['user'])) {
// Username-check
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$username."'";
$query = mysql_query($sql);
$count = mysql_num_rows($query);
if($count == 0) {
// E-mailcheck
if(preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$/i", $_POST['email'])) {
// Email passed check
if($_POST['pass1'] == $_POST['pass2']) {
$actcode = mt_srand((double)microtime()*100000);
while(strlen($actcode) <= 10) {
$i = chr(mt_rand (0,255));
if(eregi("^[a-z0-9]$", $i)) {
$actcode = $actcode.$i;
}
}
$md5pass = md5($_POST['pass1']);
$IP = $_SERVER['REMOTE_ADDR'];
if($activate == TRUE) {
// Insertje in database
}else{
// Insertje in database
}
$query = mysql_query($sql);
$query9 = mysql_query($sql9);
if($query == TRUE) {
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$_POST['user']."'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$dbid = htmlspecialchars($rij->id);
$bericht = $reg_mail;
$bericht .= "Kopieer de volgende link in je browser om je account te activeren: blabla \n\n";
$bericht .= "Gebruikersnaam: ".$username."\n";
$bericht .= "Wachtwoord: ".$_POST['pass1']."\n";
$mail = mail($_POST['email'],"Registratie blabla",$bericht,"From: blabla");
if($activate == TRUE) {
if($mail == TRUE) {
echo $reg_truemail;
}else{
echo $error;
}
}else{
echo $reg_nomail;
}
}else{
echo $error;
}
}else{
echo $reg_pascheck;
}
}else{
echo $reg_mailcheck;
}
}
else{
echo $reg_userexists;
}
}else{
echo "Uw gebruikersnaam bevat ongeldige tekens!";
}
}else{
echo $reg_field;
}
}else{
// Form
}
}else{
echo $reg_loginerror;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Jens
Volgens mij niet, dit is de activatiecode die gecontroleerd word.. huh? Je genereert een activatiecode en daarna controleer je 'm? Apart :P
De andere preg_match die ik zag, was een email preg_match.
Is dit werkelijk relevate code?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
if (preg_match ('/^[a-zA-Z0-9]/', $_POST['user'])) {
// niet toegestaan, hier dus je foutmelding in stoppen
}
else {
// wel toegestaan, handel formulier verder af
}
?>
if (preg_match ('/^[a-zA-Z0-9]/', $_POST['user'])) {
// niet toegestaan, hier dus je foutmelding in stoppen
}
else {
// wel toegestaan, handel formulier verder af
}
?>
Dank je wel!
mod-edit::
Nu had ik nog een vraagje, spaties mogen ook niet in de gebruikersnaam voorkomen, ik heb het getest en de preg_match houdt het niet tegen. Hoe moet ik deze aanpassen?Bumpen
Twee of meer keer achter elkaar in je eigen topic posten, voordat andere forumleden gereageerd hebben, heet "bumpen".
Omdat het opdringerig overkomt is bumpen pas na 24 uur toegestaan.
Bumpen kan een reden zijn voor de admins en mods om een topic te sluiten.
Gebruik het knopje om je tekst aan te passen indien nodig.
Twee of meer keer achter elkaar in je eigen topic posten, voordat andere forumleden gereageerd hebben, heet "bumpen".
Omdat het opdringerig overkomt is bumpen pas na 24 uur toegestaan.
Bumpen kan een reden zijn voor de admins en mods om een topic te sluiten.
Gebruik het knopje om je tekst aan te passen indien nodig.
Gewijzigd op 01/01/1970 01:00:00 door Jens
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$test = 'eentweedrie';
if (preg_match ('/[^a-zA-Z0-9]/', $test)) {
echo 'niet toegestaan';
}
else {
echo 'wel toegestaan';
}
?>
$test = 'eentweedrie';
if (preg_match ('/[^a-zA-Z0-9]/', $test)) {
echo 'niet toegestaan';
}
else {
echo 'wel toegestaan';
}
?>
Dank je!
Ja, graag gedaan. Snelle reactie ook ;-)