Command Palette

Search for a command to run...

الأدوات من جانب العميل وخصوصية البيانات: أين يذهب اللصق فعليًا

الأدوات من جانب العميل وخصوصية البيانات: أين يذهب اللصق فعليًا

T
Toolz Team
|Jul 3, 2026|16 دقيقة قراءة

سنوات من تقديم دعم البرنامج المساعد WordPress علمتني عادة سيئة. يرسل لك العميل نقطة خيارات متسلسلة معطلة، وتحتاج إلى قراءتها الآن، لذا عليك لصقه في أول أداة إلغاء تسلسل عبر الإنترنت تقدمها لك Google. لقد فعلت ذلك لفترة طويلة دون التفكير في الأمر - حتى اليوم الذي نظرت فيه إلى ما قمت بلصقه للتو I&#39؛d. لقد كان عميلاً &#39؛s wp_options تصدير. كان يحتوي على كلمة مرور SMTP الخاصة بهم، ومفتاح Mailchimp API، ومفتاح الترخيص. تم نشره جميعًا للتو على خادم لا أعرف شيئًا عنه، يديره شخص أستطيع &#39؛t الاسم، في بلد أستطيع &#39؛t تخمين.

لم يحدث شيء سيء، على حد علمي. هذا &#39؛s الجزء المقلق - ليس لدي أي وسيلة لمعرفة ذلك. هناك&#39؛ لا يوجد إشعار لـ &quot؛ لقد تم تسجيل معجونك.&quot؛ البيانات إما موجودة في سجلات الوصول لشخص ما &#39؛ أو أنها لم تكن كذلك &#39؛t، وI&#39؛ لن أعرف أبدًا أي منها.

يعد هذا الحادث جزءًا كبيرًا من سبب عمل Toolz.dev بالطريقة التي تعمل بها. تقوم كل أداة من الأدوات الخمسين الموجودة على الموقع بمعالجة مدخلاتك في متصفحك. لا &quot؛ نعد بحذفها بعد المعالجة والاقتباس؛ - لا يتم نقلها أبدًا في المقام الأول. يشرح هذا الدليل الفرق بين هاتين البنى، ولماذا يهم المطورين أكثر من أي شخص آخر تقريبًا، وكيفية التحقق من الأداة &#39؛s تدعي نفسك في حوالي 30 ثانية. وبما أنني قمت في النهاية بلصق نقطة العميل هذه في مكان آمن، فإن PHP Unserializer لقد حل ذلك محل عادتي السيئة.

ليرة تركية؛DR: تقوم الأدوات من جانب الخادم بنقل مدخلاتك إلى جهاز آخر &#39؛s، حيث يمكن تسجيلها أو الاحتفاظ بها أو اختراقها أو مشاركتها - ويمكنك &#39؛ التحقق من أي منها. تقوم الأدوات من جانب العميل بشحن التعليمات البرمجية إليك ومعالجة كل شيء محليًا؛ يستغرق التحقق فحص علامة تبويب شبكة DevTools واحدًا. لأي شيء يحتوي على بيانات الاعتماد - JWTs، wp-config القيم وسلاسل الاتصال واستجابات واجهة برمجة التطبيقات - استخدم أدوات من جانب العميل مثل تنسيق JSON، JWT فك التشفير، تنسيق SQL، و مدقق يمل. كل شيء على تولز.ديف يعمل في المتصفح.


ماذا يحدث بالفعل عند لصق أداة عبر الإنترنت؟

هناك بنيتان بالضبط، وكل أداة عبر الإنترنت تستخدم واحدة منهما.

جانب الخادم: تنتقل مدخلاتك من متصفحك إلى خادم الأداة &#39؛s، وتتم معالجتها هناك، وتعود النتيجة مرة أخرى. خمس خطوات، وبياناتك موجودة على البنية التحتية لشخص آخر &#39؛s خلال ثلاث منها.

Your browser → network → their server → network → your browser
   (input)     (transit)  (processing,    (transit)   (result)
                           logging?,
                           retention?)

جانب العميل: يقوم متصفحك بتنزيل الأداة &#39؛s JavaScript مرة واحدة، وبعد ذلك يحدث كل شيء - الإدخال والمعالجة والإخراج - في علامة تبويب على جهازك. الشيء الوحيد الذي عبر الشبكة هو الكود.

Their server → your browser
   (code)       (input + processing + result, all local)

يبدو التمييز أكاديميًا حتى تقوم بإدراج ما يمكن أن يحدث للبيانات الموجودة على الخادم الذي تستخدمه &#39؛t control. يمكن أن تصل إلى سجلات الوصول وسجلات التطبيقات. يمكن التقاطها بواسطة متتبعي الأخطاء مثل Sentry، والتي تطلب اللقطة سياقًا عند طرح شيء ما. ويمكن الاحتفاظ بها في النسخ الاحتياطية بعد فترة طويلة من المشغل &quot؛ محذوف واقتباس؛ هو - هي. يمكن قراءتها من قبل أي موظف لديه حق الوصول إلى السجل. يمكن أن يتم اكتساحها في خرق. ومع عدة &quot؛ أداة واقتباس مجاني؛ المشغلين، يمكن أن يكون المنتج الفعلي - يتم تحقيق الدخل منه من خلال التحليلات أو بيعه كبيانات تدريب.

لا شيء من هذا يتطلب الحقد. تكوينات التسجيل الافتراضية وحدها ستفعل معظم ذلك. ربما لم ينظر مشغل أداة إلغاء التسلسل التي استخدمتها مطلقًا إلى عميلي &#39؛ كلمة مرور SMTP. لكن &quot؛ ربما &quot؛ ليس وضعية أمنية.

لماذا تعتبر هذه صفقة أكبر للمطورين من أي شخص آخر؟

بسبب ما نلصقه. يقوم المستخدم العادي بلصق فقرة من النص في عداد الكلمات. المطور يلصق:

استجابات API مع الرموز الحية. أنت &#39؛ عند تصحيح أخطاء التكامل، تقوم بنسخ الاستجابة بأكملها - بما في ذلك الرؤوس - وتنسيقها لقراءتها. الذي - التي Authorization: Bearer ... لقد ذهب الرأس للتو إلى أي مكان يعيش فيه المنسق. جيت جارديان & #39؛س حالة الأسرار تمتد وجدت الأبحاث حوالي 12.8 مليون سر مكشوف في الأماكن العامة التي يرتكبها GitHub في عام 2023 وحده. لا أحد ينشر أرقامًا مكافئة للأدوات عبر الإنترنت، لأنه على عكس GitHub، مشغلي الأدوات &#39؛ السجلات قابلة للمسح الضوئي علنًا. هذا & #39؛ غير مطمئن - فهذا يعني أن سطح التسرب غير مرئي.

JWTs. رمز ويب JSON مشفر بـ base64url، وغير مشفر - RFC 7519 واضح حول هذا. تقوم حمولة كل رمز مميز تقوم بلصقه في وحدة فك ترميز من جانب الخادم بتسليم معرف المستخدم &#39؛ والبريد الإلكتروني والأدوار وانتهاء الصلاحية. إذا كان الرمز المميز لا يزال صالحًا، فمن المحتمل أن تقوم أنت و#39؛ بتسليم بيانات اعتماد جلسة العمل. فك تشفيرها محليا مع JWT فك التشفير بدلاً من.

SQL مع بيانات حقيقية فيه. الاستعلام أنت &#39؛ التنسيق يحتوي على WHERE email = '[email protected]' الجملة الموجودة فيه، وأسماء الجدول ترسم المخطط بالكامل. ال تنسيق SQL يبقي ذلك في علامة التبويب الخاصة بك.

تكوين الملفات. wp-config.php القيم، .env المحتويات، يظهر Kubernetes، database.yml- التكوين هو المكان الذي تعيش فيه بيانات الاعتماد. أنا &#39؛ لقد قمت بالتحقق من صحة ملفات YAML التي تحتوي على كل سر كان لدى تطبيق Laravel الخاص بي. هذا & #39؛ هو اللصق الذي تريد المرور عبر جانب العميل مدقق يمل، وليس مشاركة النموذج.

بيانات ووردبريس متسلسلة. سقوطي الشخصي، في المقدمة. يقوم WordPress بتخزين الخيارات والبيانات الوصفية كسلاسل متسلسلة PHP، وتصحيح الأخطاء يعني إلغاء تسلسلها - PHP Unserializer افعل ذلك دون مغادرة بياناتك الخاصة بالعميل &#39؛s جهازك.

أحد المعجون المهمل من أي من هذه الفئات هو حادث أمني لن يكتشفه أحد أو يبلغ عنه أو ينظفه.

كيف يمكنك التحقق من أن الأداة في الواقع من جانب العميل؟

هذا هو الجزء الذي يعجبني أكثر في البنية من جانب العميل لا تفعل ذلك &#39؛ يجب أن تثق بأي شخص &#39؛s سياسة الخصوصية. المطالبة يمكن التحقق منها ميكانيكيا.

  1. افتح صفحة الأداة &#39؛s.
  2. افتح DevTools (F12) → شبكة علامة التبويب. تحقق واقتباس؛ حفظ السجل.&اقتباس؛
  3. لصق بعض بيانات الاختبار التي يمكن التعرف عليها - MY-SECRET-TEST-12345 يعمل - وتشغيل الأداة.
  4. شاهد قائمة الطلبات.

إذا كانت الأداة من جانب العميل، فسترى أنت &#39؛ سيتم تحميل الصفحة الأولية والأصول الثابتة، وبعد ذلك لا شئ عند المعالجة. إذا تم تشغيل الطلب عند الضغط على زر التحويل/التنسيق/العملية، فقم بتصفية الطلبات وفحص الحمولات لسلسلة الاختبار الخاصة بك. وجدته؟ جانب الخادم. تم - استغرق ذلك نصف دقيقة، وأنت الآن تعرف عن تلك الأداة أكثر مما ستخبرك به سياسة الخصوصية الخاصة بها.

ملاحظتان صادقتان حول Toolz.dev، لأن هذا يقطع كلا الاتجاهين. أولاً، يقوم الموقع بتحميل التحليلات لعدد مرات عرض الصفحة ويقوم بالتتبع الذي - التي تم استخدام أداة - لحدود الاستخدام - ولكن لم يتم استخدامها مطلقًا ماذا وضعت فيه. قم بتشغيل الشبكة تحقق بنفسك؛ لا يظهر الإدخال أبدًا في أي طلب. ثانيًا، لدى جانب العميل قيود حقيقية: يقوم متصفحك بالعمل، لذا فإن تحويل ترميز الفيديو بسعة 4 جيجابايت هو &#39؛ يحدث في علامة تبويب. بالنسبة لفئة أدوات المنسق/المحول/المشفر، فإن JavaScript الحديثة أكثر من سريعة بما فيه الكفاية - عادةً أسرع من جانب الخادم، لأنه لا يوجد &#39؛s لا يتم التحميل ذهابًا وإيابًا على الإطلاق.

جانب الخادم مقابل جانب العميل: المقارنة المباشرة

الأدوات من جانب الخادم أدوات من جانب العميل
حيث تحدث المعالجة المشغل وخادم #39؛s متصفحك
البيانات المنقولة؟ نعم في كل مرة لا - يتم تنزيل رمز الأداة &#39؛s فقط
يمكن تسجيل/الاحتفاظ بها بواسطة المشغل نعم، في كثير من الأحيان بشكل افتراضي لا - المشغل لا يستلمها أبدًا
تم الكشف عنها في خرق للأداة نعم، إذا تم الاحتفاظ بها لا
يمكن التحقق منها بواسطتك لا - أنت تثق في السياسة نعم - علامة تبويب شبكة DevTools، ~30 ثانية
مطلوب اتفاقية معالج اللائحة العامة لحماية البيانات نعم، إذا كانت البيانات الشخصية (المادة 28) لا تحدث أي معالجة من قبل طرف ثالث
يعمل دون اتصال بالإنترنت بعد التحميل لا في كثير من الأحيان نعم
السرعة لمهام التطوير النموذجية تحميل + قائمة الانتظار + تحميل فوري - لا توجد رحلة ذهابًا وإيابًا عبر الشبكة
حسابات ثقيلة (فيديو، ملفات ضخمة) أكثر ملاءمة محدودة بجهازك

ماذا يقول القانون العام لحماية البيانات عن هذا؟

I&#39؛ أنا مطور، ولست محاميًا، لذا تعامل مع هذا باعتباره سياقًا هندسيًا وليس مشورة قانونية - ولكن الخطوط العريضة مهمة لأي شخص يتعامل مع بيانات مستخدم الاتحاد الأوروبي.

تحت اللائحة (الاتحاد الأوروبي) 2016/679 (GDPR)، إذا أخذت بيانات شخصية - يدعم العميل &#39؛ التصدير، واستجابة واجهة برمجة التطبيقات مع سجلات المستخدم - ودفعتها عبر خادم طرف ثالث &#39؛، يقوم هذا الطرف الثالث بمعالجة البيانات الشخصية نيابة عنك. تقول المادة 28 أن ذلك يتطلب اتفاقية معالجة البيانات. اسأل نفسك كم عدد المنسقين المجانيين عبر الإنترنت الذين يقدمون DPA. لم يسبق لي أن رأيت واحدة.

تتجنب الأدوات من جانب العميل السؤال برمته، ليس من خلال الصياغة القانونية الذكية ولكن من خلال البنية: لا تصل أي بيانات إلى المزود، لذلك لا توجد معالجة من طرف ثالث للورق. يتم استيفاء تقليل البيانات (المادة 5 (1) (ج)) بأكثر الطرق حرفية ممكنة - كمية البيانات التي يجمعها المزود صفر. يساعد نفس المنطق في HIPAA (لا تصل البيانات الصحية أبدًا إلى خادم غير متوافق)، وعمليات تدقيق SOC 2 (لا يوجد معالج فرعي غير مدقق في مسار البيانات)، وPCI DSS.

للتوضيح: استخدام الأدوات من جانب العميل لا &#39؛t make منتجك متوافق مع اللائحة العامة لحماية البيانات. إنه يزيل تسربًا محددًا وشائعًا بشكل مدهش في سير عمل التطوير الخاص بك - وهو التسرب الذي يحاول فيه المطور تقديم المساعدة على تذكرة الدعم، ويلصق البيانات الشخصية في موقع ويب عشوائي.

ما هي المهام التي يجب ألا تلمس الخادم أبدًا؟

فرزاتي الشخصية، مرتبة حسب مدى الضرر الذي قد يلحقه التسرب

لا يحتوي أبدًا على بيانات اعتماد من جانب الخادم - يحتوي على بيانات اعتماد أو يتضمنها:

تفضل بشدة جانب العميل - ملكية ولكن ليست سرية:

مخاطر منخفضة، ولكن جانب العميل لا يزال أسرع

هناك &#39؛s إرشادات أطول لصندوق الأدوات الكامل في دليل أدوات إنتاجية المطور و ال دليل أدوات الترميز.

إذا كنت بحاجة حقًا إلى أداة من جانب الخادم - تحويل ثقيل بدون بديل محلي - فقم بالتعقيم أولاً. مبادلة المفاتيح الحقيقية ل YOUR_API_KEY، رسائل البريد الإلكتروني الحقيقية ل [email protected]. It&#39؛s 60 ثانية من البحث والاستبدال الذي يحول الحادث المحتمل إلى غير حدث.

لماذا توجد معظم الأدوات عبر الإنترنت من جانب الخادم على أي حال؟

التاريخ جزئيا، والحوافز جزئيا. في عام 2010، كانت المتصفحات &#39؛ حتى المهمة - كان لا بد من إجراء معالجة مكثفة على الخادم. لقد اختفى هذا القيد: تتعامل محركات JavaScript الحديثة وWebAssembly مع التنسيق والتحويل والتجزئة وضغط الصور بسرعات لا يمكن تمييزها عن واجهات برمجة تطبيقات المتصفح الأصلية (الملف والقماش وتشفير الويب) التي تغطي الإدخال/الإخراج.

الحوافز هي المشكلة الأكثر ثباتا. تتيح المعالجة من جانب الخادم للمشغل رؤية الاستخدام بالتفصيل، وفرض الحدود بدقة، والحفاظ على ملكية منطق المعالجة، وفي أسوأ الحالات - التعامل مع البيانات نفسها كإيرادات. أداة لا تتلقى بياناتك أبدًا &#39؛ لتحقيق الدخل من بياناتك، وهذا هو بالضبط سبب عدم رغبة بعض المشغلين في &#39؛ يريدون البنية على الرغم من أنها &#39؛s أصبحت الآن سهلة من الناحية الفنية.

عندما قمت ببناء الأدوات لـ Toolz.dev، كان جانب العميل هو في الواقع أبسط الاختيار الهندسي، وليس فقط الخيار الأكثر خصوصية: لا توجد خوادم معالجة قابلة للتوسيع، ولا توجد تحميلات آمنة، ولا توجد سياسة الاحتفاظ للكتابة، وكل أداة تعمل بشكل مماثل في تطبيق الويب وتطبيق سطح المكتب لأن المنطق عادي لا يعتمد على النظام الأساسي TypeScript. تشير قصة الخصوصية والقصة الهندسية إلى نفس الاتجاه. It&#39؛ نادر عندما يحدث ذلك؛ خذ الفوز.

الأسئلة الشائعة

ماذا &quot؛ المعالجة والاقتباس من جانب العميل؛ يعني في الواقع؟

تتم جميع العمليات الحسابية في متصفحك، في JavaScript (أو WebAssembly)، على جهازك. الدور الوحيد للخادم &#39؛ هو تسليم الأداة ورمز #39؛ عند تحميل الصفحة. لا تظهر إدخالاتك أبدًا في أي طلب شبكة، وهو ما يمكنك تأكيده في علامة التبويب DevTools Network.

كيف يمكنني التحقق مما إذا كانت الأداة من جانب العميل؟

افتح DevTools (F12) → علامة تبويب الشبكة، وقم بالتمكين والاقتباس؛ حفظ السجل، والاقتباس؛ لصق بيانات الاختبار التي يمكن التعرف عليها في الأداة ومعالجتها. إذا لم يتم تشغيل أي طلب يحتوي على سلسلة الاختبار الخاصة بك، فستكون الأداة من جانب العميل. على Chrome، يمكنك أيضًا تحويل DevTools إلى &quot؛ Offline&quot؛ بعد تحميل الصفحة - تستمر الأداة الحقيقية من جانب العميل في العمل.

هل الأدوات من جانب العميل أبطأ من الأدوات من جانب الخادم؟

بالنسبة لمهام المطورين النموذجية، فهي &#39؛ أسرع - هناك&#39؛ لا يوجد تحميل ولا قائمة انتظار ولا تنزيل. تعد معالجة ملف JSON بحجم 2 ميجابايت محليًا أمرًا فوريًا تقريبًا، بينما يضيف الخادم ذهابًا وإيابًا زمن الوصول في كل خطوة. الاستثناء هو العمليات الحسابية الثقيلة (تحويلات ترميز الفيديو الكبيرة، والملفات بمقياس جيجابايت)، حيث يتفوق الخادم القوي على علامة تبويب المتصفح.

هل يجمع Toolz.dev أي شيء على الإطلاق؟

تحليلات عرض الصفحة وعدد الاستخدام المجهول لكل أداة (المستخدم لحدود الأسعار) - ولكن ليس المحتوى الذي تعالجه أبدًا. يبقى الإدخال والإخراج والملفات التي تم تحميلها في متصفحك. يمكن التحقق من ذلك من خلال التحقق من علامة تبويب الشبكة بدلاً من شيء عليك أن تتخذه بثقة.

هل لصق JWT في وحدة فك التشفير عبر الإنترنت أمر محفوف بالمخاطر حقًا؟

نعم، أكثر مما يفترض معظم المطورين. وفقًا لـ RFC 7519، يتم تشفير حمولات JWT، وليست مشفرة - يمكن لأي شخص يحمل الرمز المميز قراءة المطالبات، وإذا انتهت صلاحية الرمز المميز &#39؛t، فقد يكون قابلاً للاستخدام كبيانات اعتماد مباشرة. يؤدي لصق واحدة في وحدة فك ترميز من جانب الخادم إلى إرسال رمز مميز للجلسة يحتمل أن يكون صالحًا إلى طرف ثالث غير معروف. استخدم وحدة فك ترميز من جانب العميل.

هل استخدام الأدوات من جانب العميل يجعلني متوافقًا مع اللائحة العامة لحماية البيانات؟

لا يوجد خيار واحد للأداة يجعلك متوافقًا. ما تزيله الأدوات من جانب العميل هو أحد المخاطر المحددة: وصول البيانات الشخصية من أنظمتك إلى معالج طرف ثالث لم يتم فحصه (وهو ما يتطلب اتفاقية معالجة بيانات بموجب المادة 28، ومن المؤكد تقريبًا أنك لا تملكها &#39؛ لديك مع موقع أداة مجاني). منتجك الخاص والتزامات #39؛s لا تتأثر.

هل يمكن لصاحب العمل رؤية ما أقوم بمعالجته في الأدوات من جانب العميل؟

ترى مراقبة الشبكة المواقع التي تزورها، وليس ما تكتبه في أداة من جانب العميل - هناك &#39؛ لا يوجد طلب يحمل مدخلاتك لمراقبتها. ترى مراقبة نقطة النهاية المثبتة على الجهاز نفسه (التقاط الشاشة، وقائمي تسجيل المفاتيح) كل شيء بغض النظر عن بنية الأداة، لذا فإن الإجابة الصادقة هي: ليس عبر الشبكة، وربما عبر نقطة النهاية.

ماذا لو لم يكن هناك &#39؛s بديل من جانب العميل لمهمتي؟

قم بالتعقيم قبل اللصق: استبدل بيانات الاعتماد بالعناصر النائبة (YOUR_API_KEY)، قم بتبديل البيانات الشخصية الحقيقية بالقيم الوهمية وأسماء المضيفين الشريطية وعناوين URL الداخلية. ثم تحقق من سياسة خصوصية الأداة &#39؛ للغة التسجيل والاحتفاظ، وفضل الأدوات مفتوحة المصدر التي يمكنك فحصها ومعالجتها وحجزها؛ مجاني، مغلق المصدر، من جانب الخادم وحصة الاقتباس؛ باعتبارها المجموعة الأكثر خطورة.

ما الفرق بين الأدوات من جانب العميل والأدوات من جانب الخادم؟

تقوم الأدوات من جانب العميل بشحن التعليمات البرمجية إلى متصفحك وتشغيلها هناك؛ تقوم الأدوات من جانب الخادم بشحن بياناتك إلى جهاز تقوم به &#39؛ ثم التحكم فيها وتشغيلها هناك. من الناحية الوظيفية، يمكن أن يكون الإخراج متطابقًا - فالفرق بالكامل يتعلق بمن ينتهي به الأمر إلى الاحتفاظ بمدخلاتك. باستخدام أداة من جانب الخادم، توجد بياناتك، ولو لفترة وجيزة، على قرص شخص آخر و#39؛، وفي سجلاته، وفي النسخ الاحتياطية الخاصة به.

هل تنسيقات JSON وأدوات التجميل عبر الإنترنت آمنة للاستخدام؟

يعتمد ذلك على التنفيذ، وليس الفئة. يعد تنسيق JSON أمرًا تافهًا في JavaScript، لذا ليس لدى المنسق من جانب العميل أي سبب لنقل أي شيء - ويقوم فحص علامة التبويب على الشبكة بتسويته في عشر ثوانٍ. كن أكثر حذرًا من المعتاد هنا، لأن لصق مطوري JSON في المنسقات هو استجابات واجهة برمجة التطبيقات التي تحتوي بشكل غير متناسب على الرموز المميزة وعناوين البريد الإلكتروني والمعرفات الداخلية.

Frequently Asked Questions

All computation happens in your browser, in JavaScript (or WebAssembly), on your device. The server's only role is delivering the tool's code when the page loads. Your input never appears in any network request, which you can confirm in the DevTools Network tab.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!