لدي تثبيت Discourse وأنا سعيد جدًا به. مؤخرًا، وجد المحتالون طرقًا للتحايل على الحماية المدمجة ضد البريد العشوائي. المشكلة هي أنهم ينشرون صورًا في مشاركاتهم ثم يقومون بتضمين هذه الصور فورًا في رسائل بريد إلكتروني عشوائية يرسلونها إلى آلاف الأشخاص. حتى لو حذفت المشاركات، يبدو أن هذه الصور تظل متاحة لفترة طويلة على الأقل.
وقد أدى ذلك إلى بعض شكاوى إساءة استخدام البريد العشوائي من المضيف الخاص بي.
حاليًا، قمت بتعطيل تحميل الصور للمستخدمين الجدد، ولكن نظرًا لأنه منتدى دعم، فهذا ليس حلاً لطيفًا جدًا. غالبًا ما يحتاج الأشخاص إلى إضافة بعض لقطات الشاشة وما إلى ذلك إلى مشاركاتهم الأولى.
هل وجد أي شخص حلاً قابلاً للتطبيق لهذه المشكلة؟
لقد حاولت بالفعل إلغاء التعليق على أمر valid_referers لـ ^/uploads، لكنه لا يبدو أنه يفعل شيئًا. لا يزال من الممكن تضمين الصور:
location ~ ^/uploads/ {
# ملاحظة: من المزعج جدًا أننا لا نستطيع فقط تحديد رؤوس
# في المستوى الأعلى وتوريثها.
#
# proxy_set_header لا يرث، بحكم التصميم، يجب علينا تكراره،
# وإلا فلن يتم تعيين الرؤوس بشكل صحيح
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;
## قواعد اختيارية لمنع الربط المباشر للتحميل
valid_referers folivora.ai *.folivora.ai *.llo.ai;
if ($invalid_referer) { return 403; }
# CSS مخصص
location ~ /stylesheet-cache/ {
add_header Access-Control-Allow-Origin *;
try_files $uri =404;
}
# هذا يسمح لنا بتجاوز rails
location ~* \.(gif|png|jpg|jpeg|bmp|tif|tiff|ico||avif)$ {
add_header Access-Control-Allow-Origin *;
try_files $uri =404;
}
# SVG يحتاج إلى رأس إضافي مرفق
location ~* \.(svg)$ {
}
# الصور المصغرة والصور المحسنة
location ~ /_?optimized/ {
add_header Access-Control-Allow-Origin *;
try_files $uri =404;
}
proxy_pass http://discourse;
break;
}
أعتقد أنه إذا قمت بتعديل المنشور لإزالة الصورة بحيث لا يتم تضمينها في أحدث إصدار من المنشور (محذوف أو غير ذلك)، وقمت أيضًا بتعيين clean orphan uploads grace period hours إلى الحد الأدنى وهو ساعة واحدة، فقد يؤدي ذلك إلى تسريع عملية الإزالة.
ومع ذلك، هذا ليس حلاً مثاليًا لهذه المشكلة، سواء من حيث سهولة الاستخدام أو الفورية.
لقد قمت بالفعل بتعيينه لمدة ساعة، لكنهم سريعين حقًا في إرسال رسائل البريد العشوائي الخاصة بهم…
هل تعرف ما إذا كان استخدام S3 بدلاً من خادمي الخاص للتحميل سيحل المشكلة؟ هل هناك ربما طريقة للسماح فقط للمستخدمين المسجلين فقط بعرض الصور التي تم تحميلها؟
أعتقد أن هناك خطأ ما في إعدادات NGINX الخاصة بك. عندما أحاول فتح صورة من منتدى الخاص بك في علامة تبويب جديدة، يتم تحميلها بشكل جيد على الرغم من أنه لا ينبغي ذلك لأنني لم أقم بتمرير أي مرجع:thinking:
إذا تمكنت من جعلها تعمل، فسيؤدي ذلك إلى حل معظم مشكلات البريد العشوائي الخاصة بك حيث لن يتمكنوا من الارتباط المباشر بأي من صور منتدى الخاص بك.