Ceci peut être utilisé pour bloquer complètement l’accès à votre forum pour certains pays ou réseaux, par exemple pour la prévention de la fraude ou pour se conformer aux sanctions.
Le plugin utilise la base de données MaxMindDB déjà disponible dans Discourse.
Configuration
Activer le plugin
Ajouter tous les réseaux que vous souhaitez bloquer à geo_blocking_asn_blocklist. Préfixez les numéros avec AS, par exemple AS12345.
Ajouter tous les pays et régions que vous souhaitez bloquer à geo_blocking_country_region_blocklist. Les formats suivants sont acceptés :
Nom complet du pays (par exemple : Belgique)
Code ISO du pays (par exemple : JP pour le Japon)
Nom complet du pays suivi d’un point, puis du nom de la région (par exemple : Suisse.Jura).
J’essaie ça tout de suite. Comment ai-je pu manquer ça
Je dois géobloquer quelques pays et systèmes autonomes, mais pour des raisons évidentes, je ne peux pas utiliser Varnish pour cette tâche comme avec mes autres sites. Cela résout ce casse-tête, si cela fonctionne toujours.
J’ai apporté quelques modifications mineures pour l’adapter à mon cas d’utilisation : bloquer certaines URL pour les utilisateurs de certaines régions. Ce que j’ai fait, c’est, dans add_model_callback(:application_controller, :before_action), ajouter quelques règles de correspondance supplémentaires avec request.fullpath, par exemple :
Je constate que ce géo-blocage au niveau de l’URL fonctionne si j’accède à l’URL en la tapant directement dans la barre de navigation du navigateur. Cependant, si je navigue vers l’URL en cliquant dessus depuis la page d’accueil de Discourse, cela ne fonctionne pas. (mais après avoir appuyé sur F5 pour actualiser la page, elle est bloquée.)
Pourriez-vous me donner des conseils pour résoudre ce problème ? Merci.
Vous devriez ajouter du code Ember qui intercepte également le routeur.
Cependant, je pense que vous devriez adopter une approche différente. Ce plugin n’a pas été conçu pour un filtrage aussi spécifique.
Il serait probablement beaucoup plus efficace de créer un plugin séparé qui dispose d’un mécanisme pour ajouter/supprimer des utilisateurs à des groupes en fonction de leur géolocalisation, puis vous pourriez exploiter la sécurité de groupe existante pour restreindre ou autoriser l’accès à des parties spécifiques du forum.
C’est un plugin pratique, mais qu’est-ce qui pourrait l’empêcher de fonctionner comme prévu ? Premièrement, le plugin s’est installé sans problème, ce n’est pas le problème.
J’ai configuré quelques pays bloqués, puis j’ai testé l’accès via ces pays à l’aide d’un VPN, mais je n’ai rencontré aucun avertissement de blocage.
Peut-être que le VPN est le problème. Tous les VPN ne se valent pas ?
Ok merci pour cette indication. Je ne prenais pas en compte les nœuds de sortie et je n’avais aucune idée d’où se trouvaient les nœuds de sortie sur les connexions, le résultat de « what’s my ip » me suffisait, il correspondait à la région/au pays qui était testé pour le blocage géographique.
Alors, inversez la situation, j’ai bloqué la zone où je me trouve et je n’ai pas utilisé de VPN, j’utilise un appareil différent sur lequel je peux tester le réseau fixe et cellulaire, et toujours rien ne se passe, aucun blocage géographique ne se déclenche comme prévu lors de la connexion.
Veuillez comprendre qu’un proxy, un VPN ou Tor sera toujours en mesure de contourner ce type de mécanismes. Le plugin n’est pas censé les bloquer. Le géo-blocage est effectué soit pour des raisons légales, soit pour bloquer l’accès à un visiteur occasionnel.
Avez-vous fait cela ?
1 « J'aime »
RGJ
(Richard - Communiteq)
A scindé ce sujet ()
12
Merci pour ce super plugin.
Si son but est d’empêcher le spam ou les pays indésirables d’atteindre les pages publiques, pourrait-il pour une instance de discours privée empêcher également les scans de mauvais bots ?
Un peu des deux, mais ça dépend. Officiellement, il interdit les pays indésirables, mais il ne fait aucune différence entre les humains probables et les bots.
Si votre instance est privée (c’est-à-dire qu’une connexion est requise), les bots ne peuvent pas y accéder de toute façon (à moins qu’ils n’aient été spécialement conçus pour créer un compte et se connecter).
Et nous avons déjà des bots qui créent des comptes
Les scrapers sont une chose différente, car ils volent du contenu. Les bots de spam qui posent problème sur les instances publiques sont un problème totalement similaire pour les forums privés. C’est pourquoi nous avons une IA qui analyse le contenu.
Pour moi, le géo-blocage réduit considérablement le nombre d’appels et de connexions indésirables. Je peux l’utiliser car j’ai un forum entièrement finlandais [1], mais un forum mondial ne peut pas l’utiliser, bien sûr.
Chaque tentative de connexion augmente la charge du serveur web, mais Discourse est différent du monde PHP. Un bot peut facilement avoir un effet de type DDoS sur WordPress, et le géo-blocage peut alors faire partie de la stratégie de défense. Mais Discourse y est beaucoup plus immunisé, je suppose.
Mais contre les bots de spam, le géo-blocage n’aide pas si tous les pays doivent être autorisés.
le traducteur pourra changer cette situation, s’il est un jour prêt pour la production ↩︎
Merci pour votre réponse, en effet ils ne recevront aucune donnée mais je les vois toujours dans les logs nginx et cela génère toujours des connexions indésirables, j’ai donc installé cet outil simple pour interdire les connexions au vps depuis certains pays avant même qu’elles n’atteignent l’instance discourse docker GitHub - friendly-bits/geoip-shell: User-friendly and versatile geoblocker for Linux
Oui, c’est un excellent outil. Notez que cela provoque un blocage “dur”, tandis que le plugin vous donne un message agréable et configurable que vous pouvez montrer aux utilisateurs bloqués.