مجموعة أدوات بيانات المطورين - الأسئلة
كيف تتعامل مجموعة الأدوات مع بياناتك، وما هي الأدوات المساعدة الدقيقة، وأين يتوقف كل منها عمدًا.
النسخة القصيرة
يتم تشغيل كل أداة هنا في علامة تبويب المتصفح الخاص بك. لا يتم تحميل أو تخزين أي شيء تلصقه بواسطة خادم التطبيقات ToolAcre. يتم تشغيل التحليلات على مستوى الموقع فقط على مضيف الإنتاج الأساسي الذي تم تكوينه ويتم الكشف عنها في سياسة الخصوصية؛ يتم استبعاد القيم الملصقة من أحداث التحليلات الخاصة بـ ToolAcre.
الأسئلة الواردة أدناه هي التي تقرر ما إذا كان يمكنك الوثوق بنتيجة معينة. عندما تكون الأداة المساعدة دقيقة، فهي تقول ذلك؛ حيث يقترب أو يرفض، يقول ذلك أيضا.
ماذا يحدث لما تلصقه
- يتم تشغيل كل تحويل وتجزئة وفك تشفير وفرق في علامة تبويب المتصفح الخاص بك. لا يتم تحميل أي مدخلات أو تسجيلها أو تخزينها على الخادم، لأنه لا يوجد خادم مشارك بمجرد تحميل الصفحة.
- تأتي التجزئة من تطبيق Web Crypto الخاص بالمتصفح، والمعرفات الفريدة الفريدة (UUID) من المولد العشوائي الآمن للتشفير. لا يتضمن أي منهما مكالمة شبكة.
- لا تتم كتابة أي شيء تكتبه على وحدة التخزين المحلية أو ملف تعريف الارتباط. تؤدي إعادة تحميل الصفحة إلى تجاهلها؛ إغلاق علامة التبويب يتجاهلها.
- يتم تشغيل التحليلات على مستوى الموقع فقط على مضيف الإنتاج الأساسي الذي تم تكوينه ويتم الكشف عنها في سياسة الخصوصية؛ المضيفون المحليون ومضيفو المعاينة يرفضون ذلك. يتم استبعاد القيم والرموز المميزة وعناوين URL ومحتويات الملفات التي تم لصقها من أحداث التحليلات الخاصة بـ ToolAcre. تم تعطيل الإعلان في التكوين الحالي.
- ومع ذلك: يعد المفتاح JWT أو المفتاح API بمثابة بيانات اعتماد مباشرة. العادة الآمنة هي عدم لصق أي شيء على صفحة ويب لم تكتبها، مهما كانت ادعاءاتها جديرة بالثقة - بما في ذلك هذه الصفحة.
أسئلة
هل تم تحميل أي شيء قمت بلصقه؟
لم يتم تلقي أي تحميل ToolAcre. يحدث كل تحويل وتجزئة وفك تشفير وفرق في متصفحك. تقتصر التحليلات على مستوى الموقع على مضيف الإنتاج الأساسي الذي تم تكوينه ويتم الكشف عنها في سياسة الخصوصية؛ يتم استبعاد القيم والرموز المميزة وعناوين URL ومحتويات الملفات التي تم لصقها من أحداث التحليلات الخاصة بـ ToolAcre.
هل يتم تخزين أي شيء بين الزيارات؟
لا. لا تكتب مجموعة الأدوات شيئًا إلى localStorage أو sessionStorage أو IndexedDB أو ملفات تعريف الارتباط. تؤدي إعادة تحميل الصفحة إلى مسح كل ما أدخلته؛ إغلاق علامة التبويب يفعل الشيء نفسه. لا يوجد نظام حساب، لذلك لا يوجد شيء للتسجيل فيه ولا شيء لحذفه.
هل يتعامل base64 هنا مع الرموز التعبيرية والنصوص غير الإنجليزية؟
نعم بالضبط. يتم تحويل النص إلى UTF-8 بايت قبل التشفير وفك التشفير مرة أخرى باستخدام وحدة فك ترميز صارمة، لذا فإن الرموز التعبيرية، CJK، العربية، تجمع بين العلامات وتسلسلات ZWJ كلها بايت ذهابًا وإيابًا للبايت. هذا هو الشيء المحدد الذي تخطئ فيه btoa() المضمنة في المتصفح - فهي تلقي على بعض الأحرف وتنتج بصمت بايتات غير صحيحة للآخرين.
كيف يمكن للمدقق JSON العثور على موضع الخطأ؟
باستخدام الماسح الضوئي الخاص به بدلاً من قراءة رسالة خطأ المحرك. نص خطأ المتصفح JSON خاص بالمحرك ويحذف محرك V8 الحالي الموضع بالكامل بسبب بعض حالات الفشل. يقوم الماسح الضوئي بتمرير المستند والإبلاغ عن الإزاحة الأولى غير الصالحة JSON، مع سبب مكتوب للإنسان - فاصلة زائدة، وسلسلة ذات علامات اقتباس مفردة، وسلسلة غير منتهية - بالإضافة إلى السطر المخالف وعلامة الإقحام.
ما هي ميزات YAML المدعومة؟
البنية القياسية YAML 1.2، يمكن قراءتها باستخدام مخطط مقيد يمكنه فقط إنتاج بيانات على شكل JSON: السلاسل والأرقام والقيم المنطقية والخالية والتسلسلات والتعيينات. يتم رفض العلامات التي تقوم بإنشاء كائنات عشوائية. يمكنك الاختيار بين مخطط JSON (الأكثر صرامة) والمخطط الأساسي (الذي يحول أيضًا القيم ~ والفارغة إلى فارغة، وأعداد صحيحة سداسية عشرية، و.inf / .nan).
لماذا يفشل ملف YAML الخاص بي مع "علامة غير معروفة"؟
لأنه يستخدم علامة مخصصة أو خاصة باللغة مثل !!js/function, !!python/object/apply, !!binary أو !!timestamp. المُحمل الذي تم تكوينه لإنشاء هذه العناصر هو مُنشئ كائن عشوائي، والذي يعد في العديد من اللغات فئة من الأخطاء لتنفيذ التعليمات البرمجية عن بُعد. هذه الأداة ترفضها حسب التصميم بدلاً من إجراء استثناء.
هل التجزئات صحيحة؟
يتم حسابها من خلال تطبيق Web Crypto الخاص بالمتصفح، وتقوم مجموعة الاختبار بفحصها مقابل المتجهات المنشورة - SHA-256 لـ "abc" هو ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad، ويتم فحص المتجهات SHA-1، SHA-384 وSHA-512 بجانبها، جنبًا إلى جنب مع ملخصات السلسلة الفارغة.
لماذا تم وضع علامة على SHA-1 على أنها معطلة؟
لأنه كذلك. تم نشر تصادم عملي في 2017 (SHAttered)، وأصبحت تصادمات البادئة المختارة - المتغير الذي يكسر التوقيعات والشهادات - ميسورة التكلفة في 2020. تم تضمينه حتى تتمكن من إعادة إنتاج قيم SHA-1 الحالية مثل معرفات كائنات git والتوقيعات القديمة API، وهو أمر مختلف عن الاعتماد عليه.
من أين تأتي UUIDs؟
من crypto.randomUUID()، أو crypto.getRandomValues() حيث لا يتوفر RandUUID. كلاهما منشئ المتصفح الآمن للتشفير. Math.random() لا يُستخدم أبدًا: يمكن استعادة حالته الداخلية من خلال فترة قصيرة من المخرجات، مما يجعل أي شيء مبني عليه قابلاً للتنبؤ به. في حالة عدم وجود مصدر آمن، ترفض الأداة الإنشاء بدلاً من خفض المستوى بهدوء.
هل يقوم جهاز فك التشفير JWT بالتحقق من التوقيعات؟
لا، فهو يفك شفرة الرأس والحمولة ويظهر لك ما يدعونه. إنه لا يتحقق من التوقيع، لذلك لا يوجد شيء يظهره يثبت أن الرمز المميز أصلي أو غير متغير أو صادر من أي شخص يذكره. يتطلب التحقق مفتاح جهة الإصدار وخوارزمية مثبتة، والتي تنتمي إلى النظام الذي يثق في الرمز المميز - وليس إلى صفحة ويب.
هل يمكنني لصق رمز وصول حقيقي؟
يمكنك، ولا ينبغي لك – هنا أو في أي مكان آخر. الرمز المباشر هو عبارة عن بيانات اعتماد: يمكن لأي شخص يحمله أن يتصرف مثلك حتى تنتهي صلاحيته. تقوم هذه الصفحة بفك التشفير محليًا ولا ترسل شيئًا، ولكن هذا ادعاء لا يمكنك التحقق منه بنظرة واحدة على أي موقع، لذا فإن العادة الآمنة منتهية الصلاحية أو اختبار الرموز المميزة. إذا كنت قد قمت بالفعل بلصق واحدة في مكان ما، فقم بتدويرها.
كيف يعمل فرق النص؟
فهو يحسب نص التحرير اللاحق المشترك الأطول، والذي يعطي مجموعة صغيرة من الإضافات والإزالة بدلاً من المقارنة الساذجة سطرًا بسطر. يتم اقتطاع الخطوط البادئة واللاحقة المتطابقة أولاً، لذا فإن مقارنة ملفين كبيرين يختلفان في مكان واحد يكون سريعًا.
لماذا يرفض الفرق المدخلات الكبيرة جدًا؟
تحتاج خوارزمية LCS إلى وقت وذاكرة متناسبين مع حاصل ضرب الطولين. بعد بضعة آلاف من الأسطر المختلفة التي تصبح تخصيصًا لا ينبغي أن تحاول علامة تبويب المتصفح القيام به، لذلك ترفض الأداة بشكل واضح وتقترح مقارنة منطقة أصغر. يتم قطع الملفات التي تشارك معظم محتواها أولاً وتظل سريعة بغض النظر عن الحجم الإجمالي.
هل يمكن الاعتماد على اكتشاف وحدة الطابع الزمني؟
إنها إرشادية موثقة، وهي لا تصمت أبدًا. يتم التعامل مع أي شيء عند 10^11 أو أعلى منه على أنه ميلي ثانية، لأن 10^11 ثانية هي السنة 5138 بينما 10^11 مللي ثانية هي 1973. يتم دائمًا عرض الوحدة المستخدمة فعليًا مع النتيجة، ويمكنك تجاوزها.
هل تعمل مجموعة الأدوات دون اتصال بالإنترنت؟
بمجرد تحميل الصفحة، نعم، فلا شيء يتطلب الشبكة. لا يوجد عامل خدمة، وبالتالي فإن التحميل الأولي لا يزال يتطلب الاتصال.
هل يعمل على الهاتف؟
نعم. يعمل التخطيط من 320 CSS بكسل لأعلى، ونص النموذج هو 16px لذا لا يقوم Safari المحمول بتكبير التركيز، وتلبي عناصر التحكم الحد الأدنى لهدف اللمس الذي يبلغ 44 بكسل. يقوم المحررون والمخرجات بالتمرير داخل المربعات الخاصة بهم، لذا فإن السطر الطويل من JSON لا يؤدي أبدًا إلى توسيع الصفحة.
هل المطهر الخاص بمحرر HTML آمن للاستخدام في مدخلات غير موثوقة؟
لا، واللجنة تقول ذلك. إنها قائمة مسموح بها لمخرجات المحرر الخاصة: تتم إزالة العناصر والسمات خارج القائمة الثابتة، ولا يمكن لمعالجات الأحداث البقاء لأنه لا توجد سمة تبقى ما لم يتم إدراجها، ويتم الاحتفاظ فقط بالروابط http وhttps وmailto وtel وftp والروابط النسبية. وهذا يجعل ما يصدره هذا المحرر آمنًا للصقه في الصفحة التي تتحكم فيها. إنه ليس مرشح XSS للأغراض العامة — إنه مُرمز سلسلة، وليس محلل HTML5، لذلك يمكن من حيث المبدأ تحليل الحمولة المعادية بشكل مختلف بواسطة المتصفح. المعاينة عبارة عن إطار iframe في وضع الحماية بدون نصوص برمجية مسموحة، لذلك لا يمكن تنفيذ أي شيء هناك بغض النظر.
لماذا تظهر حاسبة chmod الحروف S وT بالأحرف الكبيرة أحيانًا؟
لأنه تم تعيين البت الخاص ولم يتم تعيين بت التنفيذ المطابق. 4755 هو rwsr-xr-x، وهو برنامج setuid يمكن تشغيله؛ 4644 هو rwSr--r--، وهو ملف setuid لا يمكن لأحد تنفيذه، وهو غالبًا ما يكون خطأً. الحرف الكبير هو النظام الذي يخبرك أن البت ليس لديه ما يمكن التصرف عليه، والآلة الحاسبة التي أظهرت حرفًا صغيرًا ستخفي الشيء الوحيد الذي تحتاج إلى رؤيته.
هل يقوم محول عامل الإرساء بتشغيل الأمر الذي ألصقه؟
لا، فهو يقسم السلسلة باستخدام أداة رمزية مدركة للاقتباس ويقرأ الأجزاء. لا يوجد تقييم ولا غلاف ولا عملية فرعية في أي مكان في قاعدة التعليمات البرمجية. تظل العلامات الخلفية و$(...) والفواصل المنقوطة أحرفًا حرفية. يتم تسمية أي علامة لا يمكن تحويلها في تحذير مرئي بدلاً من إسقاطها، لأن ملف الإنشاء الذي يقوم بصمت بأداء أقل من الأمر الذي جاء منه هو أسوأ شيء يمكن أن تنتجه هذه الأداة.
لماذا لا تتطابق أوقات معاينة cron مع الخادم الخاص بي؟
عادةً ما تستخدم المنطقة الزمنية: cron منطقة الجهاز الذي تعمل عليه، وتستخدم المعاينة المنطقة التي اخترتها، لذا قم بتعيينها على منطقة الخادم الخاص بك. السبب الآخر المحتمل هو قاعدة اليوم - عندما يتم تعيين يوم من الشهر ويوم من الأسبوع، يتم تشغيل cron عندما يتطابق EITHER، والذي يتم تشغيله في كثير من الأحيان أكثر مما يتوقع معظم الناس. يحذر المولد عندما ينطبق ذلك.
هل هناك إعلانات أو تحليلات؟
تم تعطيل الإعلان في التكوين الحالي. يتم تشغيل التحليلات على مستوى الموقع فقط على مضيف الإنتاج الأساسي الذي تم تكوينه ويتم الكشف عنها في سياسة الخصوصية؛ يتم استبعاد القيم والرموز المميزة وعناوين URL ومحتويات الملفات التي تم لصقها من أحداث التحليلات الخاصة بـ ToolAcre.
القيود
- يتم تشغيل كل شيء في علامة تبويب متصفح واحدة، بحيث تكون كل أداة محددة بذاكرة جهازك. لكل منها حد أقصى واضح للإدخال ويرفض العمل الكبير الحجم بدلاً من التجميد.
- يتطلب التجزئة وإنشاء UUID سياقًا آمنًا (https:// أو localhost)، لأن هذا هو المكان الذي تكشف فيه المتصفحات Web Crypto.
- وحدة فك الترميز JWT لا تتحقق أبدًا من التوقيعات، ولا يمكن فك تشفير الرموز المميزة JWE على الإطلاق.
- تتم قراءة YAML باستخدام مخططات البيانات فقط؛ يتم رفض المستندات التي تعتمد على العلامات المخصصة حسب التصميم.
- يغطي جدول الكيان HTML المجموعة الفرعية العملية بدلاً من جميع المراجع المسماة 2,231 HTML5، ويتم الإبلاغ عن الأسماء غير المعروفة بدلاً من تخمينها.
- الفرق يقارن الخطوط الكاملة. لا يوجد تمييز على مستوى الكلمة أو على مستوى الحرف ضمن السطر الذي تم تغييره.
- إن أداة تنقية المحرر HTML عبارة عن قائمة مسموح بها لمخرجاتها الخاصة، وليست مرشح XSS للأغراض العامة للإدخال غير الموثوق به، ولا تحتوي على صور أو جداول أو أنماط.
- يتعامل محول عامل الإرساء مع أمر تشغيل عامل إرساء واحد في كل مرة ويسمي كل علامة لا يمكنه تمثيلها بدلاً من إسقاطها.
- يقرأ منشئ cron بناء جملة crontab المكون من خمسة حقول فقط، وأوقات التشغيل التالية هي معاينة بناءً على بيانات المنطقة الزمنية للمتصفح وليس ضمانًا بشأن الخادم الخاص بك.