Bonjour,

Voila j'ai trouvé un code php anti proxy qui fonctionne très bien a un truc prêt.

Il me bloque bien le bot proxy qui viens blindé ma base sql avec des faux user (enregistrement pseudo foireux).

Mais le souci c'est que certaine personne qui son réelle et qui ne passe pas par proxy sa arrive qu'il sois aussi bloqué

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?php
 
/*
Script anti-proxy, Créer par Stargatemaster
*/
 
$headers = array ($_SERVER['HTTP_VIA'], $_SERVER['HTTP_X_FORWARDED_FOR'], $_SERVER['HTTP_FORWARDED_FOR'], $_SERVER['HTTP_X_FORWARDED'], $_SERVER['HTTP_FORWARDED'], $_SERVER['HTTP_CLIENT_IP'], $_SERVER['HTTP_FORWARDED_FOR_IP'], $_SERVER['VIA'], $_SERVER['X_FORWARDED_FOR'], $_SERVER['FORWARDED_FOR'], $_SERVER['X_FORWARDED'], $_SERVER['FORWARDED'], $_SERVER['CLIENT_IP'], $_SERVER['FORWARDED_FOR_IP'], $_SERVER['HTTP_PROXY_CONNECTION']); // Tableau de variables qui seront vérifié
$port = array (80, 81, 443, 808, 1080 ,1089 ,3124 ,3127 ,3128 ,6588 ,8000 ,8080 ,8082 ,8118 ,8888 ,25332 ,25552 ,32080); // Tableau des ports qui seront vérifié
$ip = $_SERVER['REMOTE_ADDR']; // Insert l'adresse ip utilisé pour se connecter au serveur dans une variable
 
//  Début des variables servant a la modification et a la lecture des fichiers texte
$fn = fopen("ip_proxy.txt", "a");
$fa = fopen("ip_scanner.txt", "a");
$fr = fopen (".htaccess", "a+");
$fmp = fopen("ip_proxy.txt", "r");
$fp = fopen("ip_scanner.txt", "r");
$fc = fgets($fp);
fclose($fp);
$fm = fgets($fmp);
fclose($fmp);
// Fin des variables servant a la modification et a la lecture des fichiers texte
 
if (preg_match('#'.$ip.'#', $fc)) // Vérifie si l’ip utilisé pour ce connecté au serveur est déjà dans le fichier ip_scanner.txt
{} // Si oui on ne fait rien et le scan s’arrête la
    else // Sinon...
    {
fputs($fa, "_$ip"); // Inscrit l’adresse ip dans le fichier ip_scanner.txt
fclose($fa);
 
for ($nom = 0; $nom < 15; $nom++) // Vérification de la présence d’un autre ip derrière l’ip de connexion
{
if (isset($headers[$nom])) // Si il y a un autre ip derrière l’ip de connexion...
{
if (preg_match('#'.$ip.'#', $fm)) // Vérifie si l’ip de connexion est déjà dans ip_proxy.txt
{} // Si oui on ne fait rien et le scan s’arrête la (évite les erreurs)
    else // Sinon...
    {
fputs($fn, "_$ip"); // Inscrit l’adresse ip dans le fichier ip_proxy.txt
fclose($fn);
fputs($fr, "\ndeny from ".$ip); //Inscrit l’adresse ip dans le fichier .htaccess (bannis l’adresse ip)
fclose($fr);
}
 
    die("Vous utiliser un proxy."); // Arête l’exécution de la page et donne un message d’erreur
}
 
else
{$rep = faux;} // Sinon on inscrit "faux" dans la variable "rep"
 
}
 
if ($rep = faux) // Si la valeur de la variable "rep" est "faux"…
{
for ($no = 0; $no < 18; $no++) // Vérifie si l’un des ports si dessus est ouvert sur l’ip qui se connecte au serveur
{
 
if (@fsockopen( $_SERVER['REMOTE_ADDR'], $port[$no], $errstr, $errno, 1 )) //S’il y a un des ports ouverts…
{
if (preg_match('#'.$ip.'#', $fm)) // Vérifie si l’ip de connexion est déjà dans ip_proxy.txt
{}
    else // Sinon...
    {
fputs($fn, "_$ip"); // Inscrit l’adresse ip dans le fichier ip_proxy.txt
fclose($fn);
fputs($fr, "\ndeny from ".$ip); //Inscrit l’adresse ip dans le fichier .htaccess (bannis l’adresse ip)
fclose($fr);
}
}
else // Si non on ne fait rien
{}
 
}
}
 
else // Si non on ne fait rien
{}
 
}
?>
Donc je recherche sois un code qui me bloque uniquement les proxy sois comment faire en sort que se code bloque pas mes user mais qui bloque uniquement les proxy


Cordialement Stéphane,