ما هو stats2.gif فعلًا
في مجلد الصور في هذا المشروع ملف اسمه stats2.gif. حجمه 366 بايت، وتاريخه مارس 2018، وعدد أسطر الكود المصدري التي يرد فيها صفر بالضبط. في 23 أغسطس 2026 قُدّم 2,735 مرة برمز الاستجابة 200، من مواقع مختلفة عددها 145 — وعلى امتداد دورة سجل الوصول كاملة، من 858 موقعًا.
ملف لا يشير إليه أحد، يُجلب آلاف المرات يوميًا من مئات الصفحات لأشخاص غرباء. القراءة البديهية: كود تضمين قديم لم يستبدله أصحابه قط، يقدّم بهدوء صورة ثابتة في المكان الذي كان فيه عداد. فالملفات الثابتة تتجاوز PHP كليًا. ولا شيء يصل إلى Apache مباشرة يمكنه أن يعدّ أي شيء.
لذلك كتبنا أداة. تقرأ كل صفحة إحالة من السجل، وتجلب كل واحدة منها عبر أداة الفحص نفسها التي يستخدمها الموقع أصلًا لتشخيص التضمين — مع حمايتها من SSRF، لأن تلك العناوين تأتي من سجل لا منا — وتبحث عمّا إذا كان في الصفحة شيء يعدّ فعلًا.
الصفحات كلها: 858
| تعدّ أصلًا (مع تضمين عامل بجانبه) | 501 |
| لا يمكن الوصول إليها إطلاقًا | 288 |
| الشارة موجودة، ولا رقم عداد في المصدر | 69 |
| الشارة القديمة فقط، ولا شيء يعدّ | 0 |
ولا واحدة. خمس وسبعون دقيقة من الجلب، وكان الجواب: لا.
القياس الذي يستغرق ثانية واحدة
stats2.gif أبعاده 13 في 14 بكسل.
هذا ليس عدادًا، وليس شارة عليها رقم. إنه أيقونة الإحصائيات الصغيرة — الشيء نفسه الذي يعيد التصميم 981 في المعرض الحالي إنتاجه، وتعليق المصدر في ذلك التصميم يصف سلفه بدقة: لا عدد ظاهر، مجرد علامة صغيرة تفتح الإحصائيات عند النقر عليها. لم يكن يُفترض به أن يعدّ قط. ففي تلك الصفحات، كان هناك دائمًا شيء آخر يتولى العدّ.
والملف ليس معطوبًا أيضًا. فهو يجيب برمز 200 مع ترويسة Last-Modified من عام 2018 ومدة تخزين مؤقت قدرها سنة. إنه يؤدي وظيفته.
استدعاء واحد لـ getimagesize() يحسم هذا الخط من التحقيق كله في ثانية. كان السؤال هنا «لماذا يُجلب هذا الملف كثيرًا إلى هذا الحد»، وكان الجواب المفترض «لأنه عداد معطوب»، وكل ما جاء بعد ذلك قام على الافتراض لا على الملف — وهذا ما يجعل فحص الثانية الواحدة جديرًا بأن يُجرى أولًا.
الشيء الوحيد المعطوب فعلًا
من بين ذلك كله، أظهر السجل عيبًا حقيقيًا واحدًا: عنوان واحد يُطلب عشر مرات يوميًا، وكلها بالرمز 410، انتهى فيه مقطع تضمين كامل داخل سمة الرابط href. لقد لصق أحدهم الكود في حقل يهرّب رموز HTML. عداده حي ويعدّ — لكن رابطه إلى إحصائياته هو لا يقود إلى أي مكان.
تبقى الأداة، ولكن دون مسار الكتابة الخاص بها. كان السؤال مشروعًا؛ والجواب هو لا؛ وكلاهما يستحق الاحتفاظ به حتى لا يضطر أحد إلى طرحه يدويًا مرة أخرى.