انتقل إلى المحتوى

كيف تتحقق من أن الموقع لا يرفع ملفك

أربعة اختبارات يجريها أي شخص في متصفح الحاسوب، مع ما يثبته كل منها وما لا يثبته.

بقلم Shahzad Ali · ·

الجواب المختصر

افتح أدوات المطوّر في متصفحك، وراقب تبويب Network وأنت تفتح ملفًا، وابحث عن طلب يرسل بيانات إلى الخارج (POST أو PUT) أو طلب يقترب حجمه من حجم ملفك. إن لم يظهر شيء من ذلك، وفُتح الملف والشبكة مفصولة، فالموقع قرأه على جهازك أنت.

الخطوة 1: افتح تبويب Network

تعمل الخطوات في أي متصفح على الحاسوب:

  • Chrome وEdge: اضغط F12، أو Ctrl+Shift+I على ويندوز وCmd+Option+I على ماك، ثم افتح Network.
  • Firefox: الاختصارات نفسها، ثم Network.
  • Safari: من الإعدادات ثم «متقدم» فعّل «إظهار ميزات مطوري الويب»، ثم اختر Develop ثم Show Web Inspector وافتح Network.
  • فعّل Preserve log في Chrome (أو Persist Logs في Firefox) كي تبقى القائمة عند تغيّر الصفحة، واضغط زر المسح لتبدأ بقائمة فارغة.

الخطوة 2: افتح ملفًا واقرأ القائمة

اختر ملفًا أو أفلته، ويُفضَّل ملف تجربة لا ضرر منه. كل سطر في تبويب Network طلب واحد. انظر إلى أعمدة Method وSize وType، ثم اضغط مرشّح Fetch/XHR الذي يعرض الطلبات التي ترسلها شيفرة الصفحة من تلقاء نفسها، وهي الطريقة المعتادة لرفع الملفات:

  • طلب POST أو PUT بعد اختيار الملف مباشرة، خاصة إن اقترب حجمه من حجم الملف، هو رفع. اضغط عليه وافتح Payload في Chrome أو Request في Firefox لترى ما أُرسل.
  • طلبات إلى نطاق آخر في تلك اللحظة، مثل عنوان تحليلات أو تخزين أو API، تعني أن شيئًا غادر الصفحة. افحص ما تحمله.
  • طلبات GET لملفات js وcss والخطوط هي الموقع يحمّل شيفرته. تنزل إليك ولا تحمل ملفك.
  • مدخلات WebSocket (WS) قد تحمل بيانات أيضًا. افتحها وانظر في تبويب Messages.

الخطوة 3: اختبار قطع الاتصال

حمّل الموقع ثم افصل الشبكة: أطفئ الواي فاي، أو غيّر «No throttling» إلى «Offline» في تبويب Network. افتح الآن ملفًا. إن فُتح وأمكنك العمل عليه، فالقراءة تحدث في متصفحك؛ أما الموقع الذي يحتاج خادمه فيعرض خطأ أو يبقى في انتظار. أعد الاتصال بعدها وراقب تبويب Network دقيقة، لأن الصفحة قادرة نظريًا على الاحتفاظ بنسخة وإرسالها لاحقًا.

الخطوة 4: اقرأ سياسة أمان الموقع

اضغط أول طلب في القائمة (الصفحة نفسها)، وافتح Headers، وابحث عن content-security-policy تحت Response Headers. يذكر جزء connect-src العناوين التي يُسمح لشيفرة الصفحة بالاتصال بها: connect-src 'self' تعني عنوان الموقع وحده، ويمنع المتصفح نفسه كل ما عداه. السياسة دليل قوي لكنها وحدها ليست برهانًا، فاجمعها مع الخطوتين 2 و3.

ماذا تُظهر هذه الاختبارات على OpenAnyDoc

جرّبها على عارض CSV أو عارض Excel أو عارض JSON: فتح الملف وتعديله وتنزيله لا يرسل أي طلب Fetch/XHR، ولا طلب POST، ولا طلبًا إلى موقع آخر. سياسة الصفحة هي connect-src 'self'، وبعد أن تكتمل صفحة الأداة تُفتح ملفاتها والشبكة مفصولة. وتذكر سياسة الخصوصية الشيء الوحيد الذي يراه المستضيف Cloudflare: طلبات الصفحات العادية، لا محتوى الملفات أبدًا.

ما لا تغطيه «المعالجة في المتصفح»

هي تُبعد الملف عن الشبكة، لكنها لا تحميه على جهازك. فكل ما له وصول إلى الجهاز، مثل إضافة متصفح مسموح لها بقراءة كل المواقع، يستطيع رؤية الصفحة. استخدم ملفًا شخصيًا في المتصفح بلا إضافات للملفات الحساسة، وأغلق التبويب عند الانتهاء: يبقى الملف في ذاكرة الصفحة ويختفي حين يُغلق التبويب.

وهي تتوقف عند جهازك أيضًا: فحين ترسل الملف إلى أحد أو تلصقه في مساعد ذكاء اصطناعي ينتقل محتواه معه. قبل ذلك أخفِ البيانات الشخصية فيه، ويشرح دليل كيف تخفي البيانات الشخصية قبل مشاركة الملف الخطوات.

أسئلة؟

راسلنا على support@openanydoc.com. وإن أظهر اختبار على OpenAnyDoc طلبًا لم تتوقعه، فأخبرنا بما رأيت.