main ← small-lovely-cat:fix/loading-loop
opened 08:32AM - 15 Oct 25 UTC
For these steps:
1. Login as a user, and read a topic;
2. The admin/moderator … removes the topic;
3. Go up/down and trigger the fetch of the former/latter page.
Then the page will stuck in an infinite loading, with the console showing `403 forbidden` getting `/t/${this.topic.id}/posts.json`. And if the website is protected by a waf, then the user will be banned from visiting it.
This commit fix this by adding a callback to refresh the whole page when ajax returned 403, and then the user will see a 404 page.
<img width="881" height="612" alt="image" src="https://github.com/user-attachments/assets/14e5db5b-cf6b-4b68-948c-44dd1de81450" />
بالنسبة لهذه الخطوات:
قم بتسجيل الدخول كمستخدم، واقرأ موضوعًا؛
يقوم المسؤول/المشرف بإزالة الموضوع؛
انتقل للأعلى/للأسفل وقم بتشغيل جلب الصفحة السابقة/اللاحقة.
ثم ستتعطل الصفحة في تحميل لا نهائي، مع ظهور 403 forbidden في وحدة التحكم عند الحصول على /t/${this.topic.id}/posts.json. وإذا كان الموقع محميًا بجدار حماية لتطبيقات الويب (waf)، فسيتم حظر المستخدم من زيارته.
إعجاب واحد (1)
pmusaraj
(Penar Musaraj)
15 أكتوبر 2025، 2:28م
2
هذا يبدو معقولاً بالنسبة لي، شكرًا على طلب السحب (PR).
ماذا يرى المستخدم عند إعادة تحميل الصفحة، رسالة مثل “عذرًا، هذه الصفحة محظورة/خاصة”؟
إعجاب واحد (1)
نعم، سيرى المستخدمون رسالة كهذه.
تمامًا مثل صفحة 404 العادية.
عفوًا! الصفحة غير موجودة أو غير متاحة للعامة.
خذني إلى المنزل
إعجاب واحد (1)
pmusaraj
(Penar Musaraj)
16 أكتوبر 2025، 6:09م
4
شكراً @small-lovely-cat ، تم دمج طلب السحب الخاص بك الآن.
إعجاب واحد (1)
pmusaraj
(Penar Musaraj)
تم إغلاقه في
20 أكتوبر 2025، 12:00م
5
تم إغلاق هذا الموضوع تلقائيًا بعد 3 أيام. لم تعد الردود الجديدة مسموح بها.