maildomein blokkeren in aanmeldscript
bv. @mailinator.com.
Is dit mogelijk en zo ja hoe?
Ik heb internet al rond gesnuffeld en kom niet verder dan email validatie scripts en dat is nou net niet wat ik zoek.
En aangezien degene die dit script voor mij beschikbaar heeft gesteld met de noorderzon is vertrokken kan ik me helaas ook niet bij hem melden
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
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
<?php /* ------------------------- */
$login2 = $_POST['login2'];
$pass = $_POST['pass'];
$passconfirm = $_POST['passconfirm'];
$email = $_POST['email'];
$email1 = $_POST['email1'];
$type = 1;
$land = $_POST['land'];
$recruiter = $_POST['recruiter'];
$IP = $_SERVER['REMOTE_ADDR'];
${"select$type"} = "selected";
if(isset($_POST['submit'])) {
$message = Array(
"Je login mag alleen A-Z, a-z, 0-9, _ en - hebben",
"De wachtwoorden die je gaf zijn niet identiek",
"Vul een geldig e-mail adres in",
"Er bestaat al iemand met die E-Mail",
"Er is al iemand met die Login",
"Er is al iemand aangemeld op dit IP",
"Vul een geldig E-mail adres in.",
"Er bestaat al iemand met die E-Mail",
"De e-mail adressen die je gaf zijn niet identiek");
$msgnum = -1;
if(preg_match('/^[a-zA-Z0-9_\-]+$/',$login2) == 0)
$msgnum = 0;
if($pass == "" || $pass != $passconfirm)
$msgnum = 1;
if($email == "" || $email != $email1)
$msgnum = 8;
if(preg_match('/^.+@.+\..+$/',$email) == 0)
$msgnum = 2;
if(preg_match('/^.+@.+\..+$/',$email1) == 0)
$msgnum = 6;
else {
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `login`='$login2'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 4;
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `email`='$email'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 3;
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `email`='$email1'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 7;
$dbres = mysql_query("SELECT * FROM `[users]` WHERE `IP` LIKE '$IP'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 5;
$dbres = mysql_query("SELECT * FROM `[users]` WHERE `IP` LIKE '$IP'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 5;
if($msgnum == -1) {
$code = rand(100000,999999);
mysql_query("INSERT INTO `[temp]`(login,IP,code,area,time) values('$login2','$IP',$code,'signup',NOW())");
$id = mysql_insert_id();
?>
$login2 = $_POST['login2'];
$pass = $_POST['pass'];
$passconfirm = $_POST['passconfirm'];
$email = $_POST['email'];
$email1 = $_POST['email1'];
$type = 1;
$land = $_POST['land'];
$recruiter = $_POST['recruiter'];
$IP = $_SERVER['REMOTE_ADDR'];
${"select$type"} = "selected";
if(isset($_POST['submit'])) {
$message = Array(
"Je login mag alleen A-Z, a-z, 0-9, _ en - hebben",
"De wachtwoorden die je gaf zijn niet identiek",
"Vul een geldig e-mail adres in",
"Er bestaat al iemand met die E-Mail",
"Er is al iemand met die Login",
"Er is al iemand aangemeld op dit IP",
"Vul een geldig E-mail adres in.",
"Er bestaat al iemand met die E-Mail",
"De e-mail adressen die je gaf zijn niet identiek");
$msgnum = -1;
if(preg_match('/^[a-zA-Z0-9_\-]+$/',$login2) == 0)
$msgnum = 0;
if($pass == "" || $pass != $passconfirm)
$msgnum = 1;
if($email == "" || $email != $email1)
$msgnum = 8;
if(preg_match('/^.+@.+\..+$/',$email) == 0)
$msgnum = 2;
if(preg_match('/^.+@.+\..+$/',$email1) == 0)
$msgnum = 6;
else {
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `login`='$login2'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 4;
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `email`='$email'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 3;
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `email`='$email1'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 7;
$dbres = mysql_query("SELECT * FROM `[users]` WHERE `IP` LIKE '$IP'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 5;
$dbres = mysql_query("SELECT * FROM `[users]` WHERE `IP` LIKE '$IP'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 5;
if($msgnum == -1) {
$code = rand(100000,999999);
mysql_query("INSERT INTO `[temp]`(login,IP,code,area,time) values('$login2','$IP',$code,'signup',NOW())");
$id = mysql_insert_id();
?>
Gewijzigd op 01/01/1970 01:00:00 door Joshua Tijssen
Kan je a.u.b. relevante code geven, en die tussen en plaatsen?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
// etc....
} elseif(mysql_num_rows(mysql_query("SELECT domein FROM mailblacklist WHERE '".sqlsafe(trim($domainsplit[1]))."' LIKE domein"))>=1) {
echo "Wegens misbruik is dit mail-domein (".$domainsplit[1].") niet toegestaan. Mocht je hier meer informatie
over willen hebben, dan kan je ons contacteren via de contact-pagina op de site.<br>
Klik <strong><a href='/aanmelden'>hier</a></strong> om terug te gaan.";
[/code]
Deze moet je wel zelf in je code inpassen. En het voordeel is dat deze mailadressen of domeinen in de database staan, en makkelijker te beheren zijn.
// etc....
} elseif(mysql_num_rows(mysql_query("SELECT domein FROM mailblacklist WHERE '".sqlsafe(trim($domainsplit[1]))."' LIKE domein"))>=1) {
echo "Wegens misbruik is dit mail-domein (".$domainsplit[1].") niet toegestaan. Mocht je hier meer informatie
over willen hebben, dan kan je ons contacteren via de contact-pagina op de site.<br>
Klik <strong><a href='/aanmelden'>hier</a></strong> om terug te gaan.";
[/code]
Deze moet je wel zelf in je code inpassen. En het voordeel is dat deze mailadressen of domeinen in de database staan, en makkelijker te beheren zijn.
Code in mijn code invoegen is het probleem niet zo zeer, nu even stuntelen met nieuwe tabel in de database aanmaken
ik heb hem zo ingevoegd:
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
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
<?php /* ------------------------- */
$login2 = $_POST['login2'];
$pass = $_POST['pass'];
$passconfirm = $_POST['passconfirm'];
$email = $_POST['email'];
$email1 = $_POST['email1'];
$type = 1;
$land = $_POST['land'];
$recruiter = $_POST['recruiter'];
$IP = $_SERVER['REMOTE_ADDR'];
${"select$type"} = "selected";
if(isset($_POST['submit'])) {
$message = Array(
"Je login mag alleen A-Z, a-z, 0-9, _ en - hebben",
"De wachtwoorden die je gaf zijn niet identiek",
"Vul een geldig e-mail adres in",
"Er bestaat al iemand met die E-Mail",
"Er is al iemand met die Login",
"Er is al iemand aangemeld op dit IP",
"Vul een geldig E-mail adres in.",
"Er bestaat al iemand met die E-Mail",
"De e-mail adressen die je gaf zijn niet identiek");
} elseif(mysql_num_rows(mysql_query("SELECT domein FROM mailblacklist WHERE '".sqlsafe(trim($domainsplit[1]))."' LIKE domein"))>=1) {
echo "Wegens misbruik is dit mail-domein (".$domainsplit[1].") niet toegestaan. Mocht je hier meer informatie
over willen hebben, dan kan je ons contacteren via de contact-pagina op de site.<br>
Klik <strong><a href='/aanmelden'>hier</a></strong> om terug te gaan."; ?>
$login2 = $_POST['login2'];
$pass = $_POST['pass'];
$passconfirm = $_POST['passconfirm'];
$email = $_POST['email'];
$email1 = $_POST['email1'];
$type = 1;
$land = $_POST['land'];
$recruiter = $_POST['recruiter'];
$IP = $_SERVER['REMOTE_ADDR'];
${"select$type"} = "selected";
if(isset($_POST['submit'])) {
$message = Array(
"Je login mag alleen A-Z, a-z, 0-9, _ en - hebben",
"De wachtwoorden die je gaf zijn niet identiek",
"Vul een geldig e-mail adres in",
"Er bestaat al iemand met die E-Mail",
"Er is al iemand met die Login",
"Er is al iemand aangemeld op dit IP",
"Vul een geldig E-mail adres in.",
"Er bestaat al iemand met die E-Mail",
"De e-mail adressen die je gaf zijn niet identiek");
} elseif(mysql_num_rows(mysql_query("SELECT domein FROM mailblacklist WHERE '".sqlsafe(trim($domainsplit[1]))."' LIKE domein"))>=1) {
echo "Wegens misbruik is dit mail-domein (".$domainsplit[1].") niet toegestaan. Mocht je hier meer informatie
over willen hebben, dan kan je ons contacteren via de contact-pagina op de site.<br>
Klik <strong><a href='/aanmelden'>hier</a></strong> om terug te gaan."; ?>
Als $_POST['submit'] een waarde heeft (en dus op die submitbutton is geklikt.) Dan krijg je dus een array met foutmeldingen, als er NIET is geklikt, dan controleren of het mailadres geblokkeerd is.
Dat lijkt me verre van logisch
Overigens raad ik aan om te controleren of er gePOST is, dan te kijken of $_POST['submit'] een waarde heeft (isset() )
Je kan die controle overigens beter afhandelen met:
Verder is de rest van de code zo goed als een enkeltje afvalbak, zo slecht en onduidelijk opgebouwd. Maar ja, dat heb je altijd met Criminals-scripts... On-onderhoudbaar.
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
Nu is er iemand dioe aan de lopende band nieuwe accounts aanmaakt met emaildomein @mailinator.com, dus die wil ik blokken, ik kom er alleen niet uit waar ik de code aan moet [passen om het werkend te krijgen.
Kan jij met hetgene wat ik als code heb aangegeven dit passend krijgen met jouw code erbij?
Waar gebeuren de overige controles? Mailadres check? Kijken of veld ingevuld is?
als ik probeer logisch na te denken kom ik uit op onderstaande.
Indien dit wederom niet goed is geef ik de moed op en laat ik het gewoon zoals het is en verwijder ik gewoon steeds handmatig die users
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
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
<?php /* ------------------------- */
$login2 = $_POST['login2'];
$pass = $_POST['pass'];
$passconfirm = $_POST['passconfirm'];
$email = $_POST['email'];
$email1 = $_POST['email1'];
$type = 1;
$land = $_POST['land'];
$recruiter = $_POST['recruiter'];
$IP = $_SERVER['REMOTE_ADDR'];
${"select$type"} = "selected";
if($_SERVER['REQUEST_METHOD'] == "POST") {
$message = Array(
"Je login mag alleen A-Z, a-z, 0-9, _ en - hebben",
"De wachtwoorden die je gaf zijn niet identiek",
"Vul een geldig e-mail adres in",
"Er bestaat al iemand met die E-Mail",
"Er is al iemand met die Login",
"Er is al iemand aangemeld op dit IP",
"Vul een geldig E-mail adres in.",
"Er bestaat al iemand met die E-Mail",
"De e-mail adressen die je gaf zijn niet identiek");
$msgnum = -1;
if(preg_match('/^[a-zA-Z0-9_\-]+$/',$login2) == 0)
$msgnum = 0;
if($pass == "" || $pass != $passconfirm)
$msgnum = 1;
if($email == "" || $email != $email1)
$msgnum = 8;
if(preg_match('/^.+@.+\..+$/',$email) == 0)
$msgnum = 2;
if(preg_match('/^.+@.+\..+$/',$email1) == 0)
$msgnum = 6;
if(mysql_num_rows(mysql_query("SELECT domein FROM mailblacklist WHERE '".sqlsafe(trim($domainsplit[1]))."' LIKE domein"))>=1) {
echo "Wegens misbruik is dit mail-domein (".$domainsplit[1].") niet toegestaan. Mocht je hier meer informatie
over willen hebben, dan kan je ons contacteren via de contact-pagina op de site.<br>
Klik <strong><a href='/aanmelden'>hier</a></strong> om terug te gaan.";
else {
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `login`='$login2'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 4;
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `email`='$email'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 3;
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `email`='$email1'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 7;
$dbres = mysql_query("SELECT * FROM `[users]` WHERE `IP` LIKE '$IP'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 5;
$dbres = mysql_query("SELECT * FROM `[users]` WHERE `IP` LIKE '$IP'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 5;
if($msgnum == -1) {
$code = rand(100000,999999);
mysql_query("INSERT INTO `[temp]`(login,IP,code,area,time) values('$login2','$IP',$code,'signup',NOW())");
$id = mysql_insert_id();
?>
$login2 = $_POST['login2'];
$pass = $_POST['pass'];
$passconfirm = $_POST['passconfirm'];
$email = $_POST['email'];
$email1 = $_POST['email1'];
$type = 1;
$land = $_POST['land'];
$recruiter = $_POST['recruiter'];
$IP = $_SERVER['REMOTE_ADDR'];
${"select$type"} = "selected";
if($_SERVER['REQUEST_METHOD'] == "POST") {
$message = Array(
"Je login mag alleen A-Z, a-z, 0-9, _ en - hebben",
"De wachtwoorden die je gaf zijn niet identiek",
"Vul een geldig e-mail adres in",
"Er bestaat al iemand met die E-Mail",
"Er is al iemand met die Login",
"Er is al iemand aangemeld op dit IP",
"Vul een geldig E-mail adres in.",
"Er bestaat al iemand met die E-Mail",
"De e-mail adressen die je gaf zijn niet identiek");
$msgnum = -1;
if(preg_match('/^[a-zA-Z0-9_\-]+$/',$login2) == 0)
$msgnum = 0;
if($pass == "" || $pass != $passconfirm)
$msgnum = 1;
if($email == "" || $email != $email1)
$msgnum = 8;
if(preg_match('/^.+@.+\..+$/',$email) == 0)
$msgnum = 2;
if(preg_match('/^.+@.+\..+$/',$email1) == 0)
$msgnum = 6;
if(mysql_num_rows(mysql_query("SELECT domein FROM mailblacklist WHERE '".sqlsafe(trim($domainsplit[1]))."' LIKE domein"))>=1) {
echo "Wegens misbruik is dit mail-domein (".$domainsplit[1].") niet toegestaan. Mocht je hier meer informatie
over willen hebben, dan kan je ons contacteren via de contact-pagina op de site.<br>
Klik <strong><a href='/aanmelden'>hier</a></strong> om terug te gaan.";
else {
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `login`='$login2'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 4;
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `email`='$email'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 3;
$dbres = mysql_query("SELECT `id` FROM `[users]` WHERE `email`='$email1'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 7;
$dbres = mysql_query("SELECT * FROM `[users]` WHERE `IP` LIKE '$IP'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 5;
$dbres = mysql_query("SELECT * FROM `[users]` WHERE `IP` LIKE '$IP'");
if(mysql_num_rows($dbres) > 0)
$msgnum = 5;
if($msgnum == -1) {
$code = rand(100000,999999);
mysql_query("INSERT INTO `[temp]`(login,IP,code,area,time) values('$login2','$IP',$code,'signup',NOW())");
$id = mysql_insert_id();
?>
Gewijzigd op 01/01/1970 01:00:00 door joshua Tijssen
Quote:
dat is het probleem juist, ik ben niet bepaald thuis in php
En is het wel eens opgekomen om zelf eens PHP te leren. Al is het maar de basis?
Verder zou ik zeggen: Verlies niet de moed, en probeer het.
het is alleen nadelig dat nu mijn scripter weg is ik niet verder kom en iemand mij het leven zuur maakt door maar accounts te blijven aanmaken via steeds weer nieuwe mailadressen en ipadressen.
Die blok ik steeds, maar het is gewoon dweilen met de bierkraan open.
daarom had ik gehoopt dat iemand mij hier even mee kon helpen, zodat dit lek gedicht was en ik rustig verder kon
Probeer het script en laat je ervaringen weten.
Kan je misschienw el aangeven of ik met mijn laast geposte code een deel in de goede richting zit?
Gewijzigd op 01/01/1970 01:00:00 door joshua Tijssen
Je PC of de server van je hosting-partij gaat heus niet stuk.
Fatal error: Call to undefined function sqlsafe() in ......../signup123.php on line 62
Word met domein in "SELECT domein FROM mailblacklist " bedoeld de kolom domein in de tabel mailblacklist?
en haalt hij daar dan zelf het domein uit?
Of zie ik het nou helemaal verkeerd?
Waarom wil je dat domein blokkeren?
Telkens neemt hij ook een ander ip, dus ip ban heeft niet veel nut.
Momenteel verwijder ik steeds de accounts en blok ik de ip's waar hij mee online is gekomen
ik wil dus dat domein geblokkeerd hebben, zodat hij in ieder geval op die manier geen nieuwe accounts meer aan kan maken
Er ook ontzettend veel verschillende sites zoals mailinator, met andere domeinen (bieden ze ook zelf aan). Zo'n ban op dat domein helpt dus waarschijnlijk niks, net zoals dat een ban op de user en ip niks werkt.
als ik het werkend krijg met de code van aar dan kan ik die domeinen in de database zetten en scheelt dat weer een hoop werk, dan maak ik het hem steeds ;lastiger om te spammen zeg maar.
Ik krijg het alleen met geen mogelijkheid werkend, daarvoor heb ik gewoon helaas 0 php kennis
Onbegonnen werk dus.
(En bovendien, door hem op deze manieren tegen te werken blijft hij jou lastig vallen gok ik. Waarom mag ie niet meer op jou website?)