Anti proxy via database
Ik ben bezig met een database en script wat controleert bijvoorbeeld bij het aanmelden of er een gebruiker een proxy gebruikt. Alles loopt via een database tabel waar alle hostnamen + ip's van proxy site's in komen te staan.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
CREATE TABLE IF NOT EXISTS `proxies` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ip` varbinary(16) NOT NULL,
`host` varchar(200) NOT NULL,
PRIMARY KEY (`id`),
KEY `ip` (`ip`,`host`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
`id` int(11) NOT NULL AUTO_INCREMENT,
`ip` varbinary(16) NOT NULL,
`host` varchar(200) NOT NULL,
PRIMARY KEY (`id`),
KEY `ip` (`ip`,`host`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Dit is mijn sql ik ben bezig met een klein maar simpel formulier te schrijven met 2 balkjes en 1 button waar je de host's en ip's kan toevoegen. Waar moet ik rekening mee houden ?
En hoe wil je detecteren of iemand een proxie gebruikt. Dit is nooit 100% waterdicht. Ik vraag me eigelijk ook nog af wat je met zo'n lijst wilt bereiken en doen?
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
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
<?php
$mysqli = new mysqli('localhost', 'gebruikersnaam', 'wachtwoord', 'database');
if (mysqli_connect_errno()) {
printf("Er kan geen verbinding worden gemaakt");
exit();
} else {
echo "<doctype html> <html> <head> <meta charset='UTF-8' /> </head> <body>";
echo " <b> IP</b> <input type='text' name='ip' /> <br />";
echo " <b> HOSTNAME</b> <input type='text' name='hostname' /> <br />";
echo " <input type='submit' value='submit' /> <br />";
echo "</body> </html>";
}
if(S_SERVER['REQUEST_METHOD'] == 'submit')
{
if()
}
$iQuery = "INSERT INTO proxies (ip,hostname) VALUES (?,?)";
$stmt = $msqli->prepare($iQuery);
$stmt->bind_param('??', $_POST['ip'], $_POST['hostname']);
if(!$stmt->execute()) {
echo 'kan query niet uitvoeren' .$stmt->error;
}
$stmt->close();
?>
$mysqli = new mysqli('localhost', 'gebruikersnaam', 'wachtwoord', 'database');
if (mysqli_connect_errno()) {
printf("Er kan geen verbinding worden gemaakt");
exit();
} else {
echo "<doctype html> <html> <head> <meta charset='UTF-8' /> </head> <body>";
echo " <b> IP</b> <input type='text' name='ip' /> <br />";
echo " <b> HOSTNAME</b> <input type='text' name='hostname' /> <br />";
echo " <input type='submit' value='submit' /> <br />";
echo "</body> </html>";
}
if(S_SERVER['REQUEST_METHOD'] == 'submit')
{
if()
}
$iQuery = "INSERT INTO proxies (ip,hostname) VALUES (?,?)";
$stmt = $msqli->prepare($iQuery);
$stmt->bind_param('??', $_POST['ip'], $_POST['hostname']);
if(!$stmt->execute()) {
echo 'kan query niet uitvoeren' .$stmt->error;
}
$stmt->close();
?>
Hoe controleer ik of er een ip al in de database staat zoniet dan voert hij de iquery uit ?
Gewijzigd op 07/06/2012 15:07:26 door dave schaafsma
Ben je dan niet bang dat je ook veel normale bezoekers eraf knikkert? Veel mensen die via het werk op internet zitten gaan namelijk ook via een proxy.
Ik zou proxy's gewoon toelaten, en als er misbruik van wordt gemaakt, de nodige proxy's dichtgooien. Jammer dat de goeden er ook onder zullen lijden....
www.proxfree.com , enz enz ) ! Ik blokeer aleen die site's waarmee ze daar kunnen opkomen tot nu toe bij gpt site's zijn proxy's een grootschalig probleem !
Toevoeging op 08/06/2012 10:18:48:
Hoe kijk doe je de controle of het de hostnaam of ip al in de database staat ?
Ik bedoel hiermee aleen proxy WEBSITE's , mensen met een thuisnetwerk zullen hier geen last van ondervinden. ( zoals Toevoeging op 08/06/2012 10:18:48:
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
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
<?php
$mysqli = new mysqli('localhost', 'gebruikersnaam', 'wachtwoord', 'database');
if (mysqli_connect_errno()) {
printf("Er kan geen verbinding worden gemaakt");
exit();
} else {
echo "<doctype html> <html> <head> <meta charset='UTF-8' /> </head> <body>";
echo " <b> IP</b> <input type='text' name='ip' /> ";
echo " <b> HOSTNAME</b> <input type='text' name='hostname' /> ";
echo " <input type='submit' value='submit' /> ";
echo "</body> </html>";
}
$ipquery = mysqli_query("SELECT ip FROM proxies");
$hostquery = mysqli_query("SELECT host FROM proxies");
$iQuery = "INSERT INTO proxies (ip,hostname) VALUES (?,?)";
$stmt = $msqli->prepare($iQuery);
$stmt->bind_param('??', $_POST['ip'], $_POST['hostname']);
if(!$stmt->execute()) {
echo 'kan query niet uitvoeren' .$stmt->error;
}
$stmt->close();
?>
$mysqli = new mysqli('localhost', 'gebruikersnaam', 'wachtwoord', 'database');
if (mysqli_connect_errno()) {
printf("Er kan geen verbinding worden gemaakt");
exit();
} else {
echo "<doctype html> <html> <head> <meta charset='UTF-8' /> </head> <body>";
echo " <b> IP</b> <input type='text' name='ip' /> ";
echo " <b> HOSTNAME</b> <input type='text' name='hostname' /> ";
echo " <input type='submit' value='submit' /> ";
echo "</body> </html>";
}
$ipquery = mysqli_query("SELECT ip FROM proxies");
$hostquery = mysqli_query("SELECT host FROM proxies");
$iQuery = "INSERT INTO proxies (ip,hostname) VALUES (?,?)";
$stmt = $msqli->prepare($iQuery);
$stmt->bind_param('??', $_POST['ip'], $_POST['hostname']);
if(!$stmt->execute()) {
echo 'kan query niet uitvoeren' .$stmt->error;
}
$stmt->close();
?>
Hoe kijk doe je de controle of het de hostnaam of ip al in de database staat ?
Gewijzigd op 07/06/2012 15:06:46 door dave schaafsma