J’ai une installation Discourse et j’en suis très content. Récemment, des spammeurs ont trouvé des moyens de contourner la protection anti-spam intégrée. Le problème est qu’ils publient des images dans leurs messages, puis intègrent immédiatement ces images dans des e-mails de spam qu’ils envoient à des milliers de personnes. Même si je supprime les messages, ces images semblent rester disponibles pendant un certain temps.
Cela a entraîné des plaintes d’abus de spam de la part de mon hébergeur.
Actuellement, j’ai désactivé le téléchargement d’images pour les nouveaux utilisateurs, mais comme il s’agit d’un forum de support, ce n’est pas une solution très agréable. Les gens ont souvent besoin d’ajouter des captures d’écran, etc. à leurs premiers messages.
Quelqu’un a-t-il trouvé une solution viable à ce problème ?
J’ai déjà essayé de décommenter la commande valid_referers pour ^/uploads, mais cela ne semble rien faire. Les images peuvent toujours être intégrées :
location ~ ^/uploads/ {
# NOTE: il est vraiment ennuyeux que nous ne puissions pas simplement définir des en-têtes
# au niveau supérieur et hériter.
#
# proxy_set_header NE s'hérite PAS, par conception, nous devons le répéter,
# sinon les en-têtes ne sont pas correctement définis
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Request-Start "t=${msec}";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $thescheme;
proxy_set_header X-Sendfile-Type X-Accel-Redirect;
proxy_set_header X-Accel-Mapping $public/=/downloads/;
expires 1y;
add_header Cache-Control public,immutable;
## règles optionnelles anti-hotlinking pour les téléchargements
valid_referers folivora.ai *.folivora.ai *.llo.ai;
if ($invalid_referer) { return 403; }
# CSS personnalisé
location ~ /stylesheet-cache/ {
add_header Access-Control-Allow-Origin *;
try_files $uri =404;
}
# cela nous permet de contourner rails
location ~* \.(gif|png|jpg|jpeg|bmp|tif|tiff|ico||avif)$ {
add_header Access-Control-Allow-Origin *;
try_files $uri =404;
}
# SVG nécessite un en-tête supplémentaire
location ~* \.(svg)$ {
}
# miniatures et images optimisées
location ~ /_?optimized/ {
add_header Access-Control-Allow-Origin *;
try_files $uri =404;
}
proxy_pass http://discourse;
break;
}
Je pense que si vous modifiez le message pour supprimer l’image afin qu’elle ne soit pas incluse dans la dernière version d’un message (supprimé ou non), et que vous définissez également clean orphan uploads grace period hours à un minimum de 1 heure, cela pourrait accélérer la suppression.
Ce n’est cependant pas une solution idéale, ni en termes de facilité d’utilisation ni d’immédiateté.
Je l’ai déjà réglé sur une heure, mais ils sont vraiment rapides pour envoyer leurs e-mails de spam…
Savez-vous si l’utilisation de S3 au lieu de mon propre serveur pour les téléchargements résoudrait le problème ? Existe-t-il peut-être un moyen de n’autoriser la visualisation des images téléchargées qu’aux utilisateurs connectés ?
Je pense que cela supprime les publications et que les téléchargements sont gérés de manière similaire à la méthode ci-dessus en utilisant clean orphan uploads grace period hours.
Il y a également un délai intégré de 5 minutes entre la suppression logique et la suppression définitive par le même administrateur (bien qu’un deuxième administrateur ne soit pas soumis à la même attente).
Oui. Et comme l’a dit l’autre gars ci-dessus. Il faut attendre 5 minutes. Utilisez simplement un autre compte administrateur pour le faire instantanément. Cela supprimera définitivement l’image.
Je pense qu’il y a un problème avec votre configuration NGINX. Lorsque j’essaie d’ouvrir une image de votre forum dans un nouvel onglet, elle se charge sans problème, même si ce ne devrait pas être le cas puisque je n’ai pas transmis de référent
Si vous parvenez à le faire fonctionner, cela résoudra la plupart de vos problèmes de spam car ils ne pourront pas lier directement les images de votre forum.