|
Dernière réponse | |
---|---|
Sujet : [PHP] protect antiflood -> comment faire avec proxy ?? | |
k666 | ahhhhhhhhhhh :wahoo: je peux aller dormir en paix maintnant :sleep: allez mec, bon forum!!! :pt1cable: |
Aperçu |
---|
Vue Rapide de la discussion |
---|
k666 | ahhhhhhhhhhh :wahoo: je peux aller dormir en paix maintnant :sleep: allez mec, bon forum!!! :pt1cable: |
potiron | :ange: :ange: :ange: oui ;) [edtdd]--Message édité par potiron--[/edtdd] |
k666 | t convaincu que je ments pas ? :sweat: |
potiron | je l'avais oublié ca :)
gros malin va ! ca a rien a voir avec le forum ce script ;) [edtdd]--Message édité par potiron--[/edtdd] |
k666 | allons ;)
allons mon cher potiron tu me mets trop en doute ;) c marrant à la fin, regarde bien ton "back orifice" :D http://lorenzozo.kilio.com/_script [...] m%20bannir et là je suis gentil ;) |
potiron | tu peux pas lancer de requetes mysql ailleurs qu'en local (serveur) ! |
k666 | nananna
je t'assure je me suis débanni :D delete from bannir where ip='21.......' |
potiron | m'etonnerait :sarcastic: tu as pas été bannie, c'est tout ... |
k666 | au fait, potiron,
je me suis auto débanni merci qd même ;) :lol: !!! |
k666 | ahyé
chuis banned :jap: maintenant, tu me débannes? |
k666 | ok j'essaye toudsuite ;) |
potiron | :??: :??: :??: je peux pas savoir l'IP, elles sont cryptés mais je crois que je vais virer ca tant que j'ai pas regler tous les problemes ..
bon alors y a un probleme !? il faut donc bien que je mette cette authentification avancé d'ip :( k666 : tu peux faire un floood sur le forum (dans un sujet plutot que des nouveaux sujets ...) histoire de verifier le probleme .. stp ? ;) [edtdd]--Message édité par potiron--[/edtdd] |
Max Evans | L'adresse IP, c t pas un truc du style : 195.132.82.1 ?
PArce que si c t ca, c le serveur NOOS ;) D'ailleurs, je suis plus banni ;) En debannissant K666, tu l'as fais pour moi aussi ;) |
potiron | ah non, la j'ai plus personne .. |
Max Evans |
|
potiron | k666 : ben non je la connais pas, elles sont stockés en md5 (crypté) mais c'est bon , y avait qu'une personne de bannie donc ca pouvait etre que la tienne :D ethernal : pour la page de DOC il faut voir apache ... ou celles la (mais tu as tout sur apache) : http://www.geocrawler.com/archives [...] 0/6269552/ http://www.zope.org/Members/TWilson/GettingVisitorsIP |
ethernal | le HTTP_VIA est gérée par le proxy du client. souvent y a rien d'indiqué (entêtes http).
s'il y a un proxy, HTTP_X_FORWARDED_FOR est l'ip du client. sauf dans le cas ou le proxy est un proxy anonyme. Dans ce cas pas moyen d'avoir l'ip réelle du client et seul REMOTE_ADDR est défini (=ip du proxy) d'ou viennent tes autres variables (HTTP_FORWARDED, HTTP_COMING_FROM, ...) ? j'ai jamais vu tout ça, tu as une page de doc ? |
k666 | potiron mon ip = tu la connais :D
212.198.190.68 ci mer;) |
potiron | bon sang, c'est de + en + compliqué, je vais encore y passer quelques nuits blanches ...
bon, voici les vars a tester :
|
potiron | rouuungt'diou !!
j'arrive pas a trouver la moindre info sur : HTTP_X_FORWARDED_FOR -> rien dans la DOC PHP pour l'ip avec la reg exp j'imagine qu'il veut eviter les IP du genre : proxy.chello.fr ?? bon, en plus y a une erreur dans le script de phpBB, il prend pas en compte tous les cas possible .. oh bordel, c'est encore plus compliqué que je l'aurais imaginé pour avoir une identification sans faille car de toute facon on choppe l'adresse IP du proxy ... --------- tiens, pour ta question : if($HTTP_X_FORWARDED_FOR) { // case 1.A: proxy && HTTP_X_FORWARDED_FOR is defined $b = ereg ("^([0-9]{1,3}\.){3,3}[0-9]{1,3}", $HTTP_X_FORWARDED_FOR, $array) ; if ($b && (count($array)>=1) ) { return ( gethostbyaddr($array[0]) ) ; } // first IP in the list else { return ( $REMOTE_ADDR . '_' . $HT TP_VIA . '_' . $HTTP_X_FORWARDED_FOR ) ; } } elseif($HTTP_X_FORWARDED) { // case 1.B: proxy && HTTP_X_FORWARDED is defined $b = ereg ("^([0-9]{1,3}\.){3,3}[0-9]{1,3}", $HTTP_X_FORWARDED, $array) ; if ($b && (count($array)>=1) ) { return ( gethostbyaddr($array[0]) ) ; } // first IP in the list else { return ( $REMOTE_ADDR . '_' . $HT TP_VIA . '_' . $HTTP_X_FORWARDED ) ; } } elseif($HTTP_FORWARDED_FOR) { // case 1.C: proxy && HTTP_FORWARDED_FOR is defined $b = ereg ("^([0-9]{1,3}\.){3,3}[0-9]{1,3}", $HTTP_FORWARDED_FOR, $array) ; if ($b && (count($array)>=1) ) { return ( gethostbyaddr($array[0]) ) ; } // first IP in the list else { return ( $REMOTE_ADDR . '_' . $HT TP_VIA . '_' . $HTTP_FORWARDED_FOR ) ; } } elseif($HTTP_FORWARDED) { // case 1.D: proxy && HTTP_FORWARDED is defined $b = ereg ("^([0-9]{1,3}\.){3,3}[0-9]{1,3}", $HTTP_FORWARDED, $array) ; if ($b && (count($array)>=1) ) { return ( gethostbyaddr($array[0]) ) ; } // first IP in the list else { return ( $REMOTE_ADDR . '_' . $HT TP_VIA . '_' . $HTTP_FORWARDED ) ; } } elseif($HTTP_VIA) { // case 2: // proxy && HTTP_(X_) FORWARDED (_FOR) not defined && HTTP_VIA defined // other exotic variables may be defined return ( $HTTP_VIA . '_' . $HTTP_X_COMING_FROM . '_' . $HTTP_COMING_FROM ) ; } elseif( $HTTP_X_COMING_FROM || $HTTP_COMING_FRO M ) { // case 3: proxy && only exotic variables defined // the exotic variables are not enough, we add the REMOTE_ADDR of the proxy return ( $REMOTE_ADDR . '_' . $HTTP_X_COMING_FROM . '_' . $HTTP_COMING_FROM ) ; } else { // case 4: no proxy // or tricky case: proxy+refresh return ( gethostbyaddr($REMOTE_ADDR) ) ; } |
ethernal |
[edtdd]--Message édité par ethernal--[/edtdd] |
potiron | :heink: ethernal : c'est sympa mais ..... je voulais pas regarder ce que fait phpBB ou un autre pour eviter justement de m'en inspirer et la je tombe pile dessus :sarcastic: :D bon pas grave ... de toute facon j'ai deja fait une entorse a mon reglement a cause de la compression GZIP (je voulais verifier si la mienne fonctionnait et enfin de comtpe j'ai laissé celle de phpBB ... pour l'instant) .. pour l'ip il verifie qu'il y a que des chiffres mais je me demande bien pourquoi ??!! k666 : passe moi ton IP que je vire le ban . ---- j'ai rien dit, y a qu'une seule personne qui est bannie ... [edtdd]--Message édité par potiron--[/edtdd] |
k666 | bin je crois qu'il regarde si ya une suite de n chiffres séparé d'un point, séparée de m chiffre et blabla... ? |
ethernal |
|
k666 | ok potiron,
piss and love |
potiron | beuuuuuhhhh :na: fait pas la gueule tu es pas un monstre ;) oui, je suis d'accord pour les tests mais pas pour les coups dans le dos SANS explications comme j'en ai eu pas mal au debut ... :sarcastic: je m'enerve a chercher un probleme general alors que c'etait une seule personne qui postait a blanc .. |
k666 | mec
keskil faut que je fasse pour que tu me croies? keske tu crois que j'ai à fouttre de te mentir? tu crois que je suis mythoµ? j'essaye simplement de contribuer à que tu fasses ton forum au mieux, c d'ailleurs ce que tu cherches, des béta tests, des critiques, etc... ou alors tu préfères qu'on dise stérilement "super..." ? voilà, salut! |
potiron |
[edtdd]--Message édité par potiron--[/edtdd] |
k666 | ah
c pas cool ça, tu m'as banni mon ip et j'avais rien fait, :??: potiron mauvais joueur :jap: [edtdd]--Message édité par k666--[/edtdd] |
ethernal | si $HTTP_X_FORWARDED_FOR est défini alors il y a un proxy entre le site et le client.
$ip= getenv("HTTP_X_FORWARDED_FOR" ) ? getenv("HTTP_X_FORWARDED_FOR" ) : getenv("REMOTE_ADDR" ); mais il faut tester si l'adresse obtenue n'est une adresse hors-internet (192.168.0.x, ...) (genre qq qui a un proxy sur sa machine connectée au web) [edtdd]--Message édité par ethernal--[/edtdd] |
k666 | et au fait, j'ai pas menti!!!
(pour le postageee à <1s ) je fais backspace + f5 + enter pas compliké ;) |
k666 | c un truc du style x_forwarded_for |
potiron | salut,
je viens d'avoir une tres bonne idée pour une protection antiflood meme avec un forum ouvert (sans authentifiation) mais j'ai des questions .. je recup$REMOTE_ADDR qui est la seule info sur le client dont je suis puisse etre sur ... mais comment ca fonctionne avec les proxys ?? si 10 personnes passent pas le meme proxy, j'aurais donc 10 fois la meme IP ?? si oui, comment contourner ce probleme ? je peux pas utiliser $REMOTE_HOST a cause des serveurs linux :( |