#1 2026-03-05 13:35:43

Charles69
Membre
2023-01-12
385

[Résolu] test plugin : ip_location

Bonjour,

Submergé par les bots en tous genres, j'ai testé :
- l'inscription dans htaccess , ça marche mais c'est fastidieux
- BYB fonctionne un moment  puis un nouveau bot arrive et ça recommence
- pour ceux qui ont un NAS, le firewall du nas avec un filtre pays, efficace à 50%

Aujourd'hui je propose ce plugin 'ip_location' ( basé sur ip-api.com ) de géolocalisation des IP.
Vous pouvez le télécharger par là : http://gofile.me/75eAW/wXO86R1Gl

fonctionnalité n°1
Il enregistre tous les accès guest , et indique la localisation de l'émetteur, et sans surprise les US sont vainqueurs à 99.9 % !!!

fonctionnalité n°2
Vous pouvez activer/désactiver le blocage des IP par pays
Une liste blanche vous permet de déroger à la règle

Perso après avoir désactivé mes blocages htaccess, BYB et Nas, j'ai bloqué uniquement US et je suis passé d'environ 2000 connexions IP / heure  venant des US à zéro !!

Testez et dites moi si ça mérite d'être publié.

Edit : 05/03/2026 - 14h47 - lien du plugin mis à jour

Dernière modification par Charles69 (2026-03-05 14:47:37)

Hors ligne

#2 2026-03-06 03:42:15

k5
Équipe Piwigo
La reppe (Provence)
2014-01-26
1457

Re: [Résolu] test plugin : ip_location

Bonjour
ben pourquoi pas ca fait depuis 1 mois que je galère

A très vite


phase de tests plugins

Hors ligne

#3 2026-03-06 09:38:43

Charles69
Membre
2023-01-12
385

Re: [Résolu] test plugin : ip_location

Statistiques sur 17 heures

https://i.ibb.co/KpsnB69J/2026-03-06-09h33-09.png

Blocage sur US = 99% des IP bloquées.

Hors ligne

#4 2026-03-06 12:15:56

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13617

Re: [Résolu] test plugin : ip_location

Pourquoi ne pas proposer aux développeurs de BYD d'intégrer ce comportement ?


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE RÉVÉLATEUR DE L'ÊTRE

Hors ligne

#5 2026-03-07 10:03:06

Charles69
Membre
2023-01-12
385

Re: [Résolu] test plugin : ip_location

Gotcha a écrit:

Pourquoi ne pas proposer aux développeurs de BYD d'intégrer ce comportement ?

Pourquoi pas, mais j'utilise une api commerciale https://ip-api.com/, l'usage gratuit est limité à 45 requêtes par minute, et BYB est aussi une entreprise https://blockyoubots.com/ qui vend des solutions de blocage.
Donc quelque part ce sont des concurrents ...

Hors ligne

#6 2026-03-07 10:48:23

Charles69
Membre
2023-01-12
385

Re: [Résolu] test plugin : ip_location

Un retour d'info sur ce que font les bots, contrairement à ce que je pensais ils n'envoient pas des requêtes avec des id au hasard mais ils ciblent des éléments particuliers en exploitant des fonctionnalités de piwigo.

/index.php?/categories/created-weekly-list-2022-2-1&image_order=4'
qui renvoie les photos publiques prises entre les semaines 53 de 2021 et 2 de 2022

/picture.php?/161304/search/psk-20260304-8tTdX5hWCx'
renvoie la photo d'id 161304
psk-20260304-8tTdX5hWCx correspond à un album précis.

/index.php?/categories/created-monthly-calendar-2023-8-1&image_order=6'
renvoie les photos publiques prises le 01/08/2023

/index.php?/categories/created-monthly-calendar-2025-9-13&image_order=0'
renvoie les photos publiques prises le 13/09/2025

/index.php?/category/3397/3391&image_order=5'
renvoie les photos publiques communes aux album 3391 et 3397

C'est vraiment étonnant !!
Si vous voulez savoir pour votre piwigo , c'est toujours par là http://gofile.me/75eAW/wXO86R1Gl

Dernière modification par Charles69 (2026-03-07 10:48:51)

Hors ligne

#7 2026-03-10 10:07:24

Charles69
Membre
2023-01-12
385

Re: [Résolu] test plugin : ip_location

nouvelle version avec :
- par défaut aucun blocage n'est activé
- modification critères bot
- filtre sur le journal des visites

http://gofile.me/75eAW/wXO86R1Gl

Hors ligne

#8 2026-03-10 13:24:32

k5
Équipe Piwigo
La reppe (Provence)
2014-01-26
1457

Re: [Résolu] test plugin : ip_location

Bonjour

https://i.imgur.com/ZaT1XUS.png

Mes stats : 36 bots de google

Mes questions :

1- Pourquoi Innodb et utf8 avec engine ? est-ce obligatoire ? je dirais de mettre que myisam
2- Je ne connais pas 'unknow' est-ce un ip invisible ou le nombre d'utilisateur ?
3- Avec le code iso A1 et A2 et EU, y a t-il des blocages ? (A1 => proxy anonyme et A2=> satelite) ...


Nas synology
PHP 8.4
mariadb 10.11.11
imagemagick 7.1.2

A très vite


phase de tests plugins

Hors ligne

#9 2026-03-10 15:24:10

Charles69
Membre
2023-01-12
385

Re: [Résolu] test plugin : ip_location

bonjour k5 !

Je m'initie au développement de plugin avec l'aide de Claude AI, je ne connais pas toujours le pourquoi du comment de ce qu'il utilise .

Pourquoi Innodb et utf8 avec engine ? -> réponse de Claude :
"InnoDB est recommandé et non obligatoire, mais préférable pour plusieurs raisons : il supporte les transactions, les clés étrangères, et est bien plus robuste en cas de crash. MyISAM est plus ancien et ne supporte pas les transactions. Piwigo lui-même utilise InnoDB par défaut depuis longtemps."

Pour les 'unknown' chez moi c'est les requêtes par le réseau local
L'API utilisé pour les géolocalisation ne gère pas A1, A2  https://ip-api.com/

J'ai ajouté de nouvelles fonctionnalités :
Gestion du fichier .htaccess en complément du blocage par pays, dans une section spécifique au plugin
Possibilté d'ajouter des adresses IP manuellement
Aide qui explique le fonctionnement du plugin, notamment du critère "bot"
Si on désactive le blocage pays et le blocage htaccess , les logs d'ip continuent à s'enregistrer et on peut quand même avoir des informations sur les IP et leur origine.

version 1.4 par là http://gofile.me/75eAW/G9uqdmFWX

Dernière modification par Charles69 (2026-03-10 17:59:25)

Hors ligne

#10 2026-03-10 19:26:40

chrisncy
Membre
Nancy
2008-05-15
460

Re: [Résolu] test plugin : ip_location

Pour les 'unknown' chez moi c'est les requêtes par le réseau local

Même si je n'y comprends pas grand chose... je me dis que c'est bien d'utiliser de plugin...

Chez moi, je n'ai que des unknown (pays et ville)
Dois je conclure que c'est "normal"?

Hors ligne

#11 2026-03-10 21:20:05

Charles69
Membre
2023-01-12
385

Re: [Résolu] test plugin : ip_location

Hello chrisncy

Si tu n'as pas activé le blocage par pays ou le blocage .htaccess le plugin ne bloque rien.
Il stocke et affiche les adresses IP , le pays, le nom de la ville des utilisateurs qui se connectent sur ton site.
C'est une API qui retourne les informations, il peut y avoir des omissions, par exemple les proxy anonyme et les satellites.

Pour bloquer les IP venant d'un pays , cocher 'Activer le blocage par pays' et choisir les pays par leur code ISO

Pour bloquer d'autres IP , cocher Activer le blocage .htaccess
Il peut y avoir là des IP de pays non repérés par le plugin, tu peux les retrouver dans :
Administration > Outils > Historique > Rechercher
si tu veux aussi les bloquer tu peux les écrire dans 'Import d'IPs dans la blocklist' > Importer

En ce qui concerne les unknown , tu as à gauche de 'unknown' l'IP correspondante

Quels sont ces IP dans ton cas ?

Hors ligne

#12 2026-03-11 07:58:16

chrisncy
Membre
Nancy
2008-05-15
460

Re: [Résolu] test plugin : ip_location

Bonjour,
merci pour les explications.
Toutes les lignes sont unknown. Je n'en ai aucune qui identifie un pays
Oui il y a des IPs identiques qqfois
et il y a des lignes blanches (non bot)

https://i.postimg.cc/QdTs2Hf7/journal.jpg

Hors ligne

#13 2026-03-11 15:12:06

Charles69
Membre
2023-01-12
385

Re: [Résolu] test plugin : ip_location

bonjour,

chrisncy a écrit:

Toutes les lignes sont unknown. Je n'en ai aucune qui identifie un pays

explication :  ton site est hébergé chez Infomaniak , il est probable que l'API utilisée qui est gratuite pour un usage perso détecte un serveur et ne retourne aucune information.

Le plugin a été modifié et utilise maintenant plusieurs API en séquence, tu me diras ce qu'il en est.

L'architecture du plugin a été modifiée :

.htaccess
Une première partie permet de gérer le blocage des adresses IP avec .htaccess
- Liste des IP à bloquer
- Ajout manuel d'adresse IP
- Liste blanche ( à compléter avec votre IP pour éviter de vous bloquer vous même)
Si le blocage est activé les IP à bloquer sont écrites, dans une section propre au plugin, dans .htaccess et le blocage sera effectif.
Si le blocage est désactivé la section de .htaccess propre au plugin est effacée, mais les infos restent mémorisées dans le plugin.

détection blocage pays
Une deuxième partie concerne la détection par pays
- saisir le/les codes iso des pays que l'on souhaite détecter ... et on attend ...
Le journal va indiquer pour chaque connexion sur votre site :
Date IP Pays Ville URL User-Agent

Si vous avez activé le blocage pays, l'IP sera bloquée et recevra une erreur 403 Forbidden
Sinon l'IP aura un accès normal au site

Maintenant si vous souhaitez bloquer l'IP indépendamment du pays , il y a deux boutons en début de ligne qui permettent :
- ajouter IP : ajoute l'IP dans le fichier .htaccess
- ajouter /16 : ajoute les 2 premiers blocs de l'adresse IP ( bloque toutes les adresses commençant par 47.128 par exemple)

Le blocage par .htaccess est prioritaire, il bloque le site avant toute exécution de piwigo.
Si les blocages sont activés, le premier niveau se fait sur les IP enregistrées dans le fichier .htaccess , ensuite c'est le plugin ip_location qui va interroger les API et selon le pays retourné , un erreur 403 Forbidden est renvoyée.

La version 1.5 se trouve par là :  http://gofile.me/75eAW/rOj9aTgnR

(desactiver/activer le plugin après réinstallation )

Dernière modification par Charles69 (2026-03-11 17:16:54)

Hors ligne

#14 2026-03-11 19:10:33

chrisncy
Membre
Nancy
2008-05-15
460

Re: [Résolu] test plugin : ip_location

Charles69 a écrit:

Le plugin a été modifié et utilise maintenant plusieurs API en séquence, tu me diras ce qu'il en est.

Situation identique
Que des unkown et qq lignes blanches
Mais bien les 2 colonnes ajoutées comme tu as décrit

Hors ligne

#15 2026-03-12 10:21:55

Charles69
Membre
2023-01-12
385

Re: [Résolu] test plugin : ip_location

bonjour chrisncy !!

C'est probablement un réglage de ton hébergeur, voilà une nouvelle version avec une autre méthode,
Le menu de configuration a été réorganisé.

ip_location version 1.6 http://gofile.me/75eAW/zony5wJEk

Si tu veux bien tester ?
J'ai ajouté un fichier de suivi .log qui s'écrira là ./plugins/ip_location, on aura peut-être des infos sur les dysfonctionnements.

De ce que je vois sur la page que tu as publié il y a beaucoup de bot us.
Je ne sais pas si tu utilises BYB, mais même avec lui j'ai encore plein d'attaques de bot.

Voilà ce que donne le journal chez moi.
https://i.ibb.co/SZCMdJ6/2026-03-12-10h16-12.png

Katryne , si tu passes par là , tu es aussi invité à tester ;)

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github linkedin newsletter Piwigo.org © 2002-2026 · Contact