أدوات المطور · HTML هروب الكيان
الهروب أو التعرية أو التعقيم HTML: ثلاث تقنيات ومتى يتم استخدام كل منها
· كيف يعمل
أتش تي أم أل حماية معالجة النصوص
يؤدي الهروب إلى إظهار العلامات كنص، بينما يؤدي الحذف إلى إزالتها، بينما يحافظ التطهير على مجموعة فرعية آمنة. يشرح هذا المنشور ما تفعله كل تقنية فعليًا، وأين يفشل كل منها، وكيفية اختيار الأسلوب المناسب لمدخلاتك.
التعليق الذي كان من المفترض أن يُظهر الكود وقام بتشغيله بدلاً من ذلك، وهو اختيار خاطئ من بين ثلاث تقنيات
التعليق الذي كان من المفترض أن يُظهر الكود وقام بتشغيله بدلاً من ذلك، وهو اختيار خاطئ من بين ثلاث تقنيات. يمكن تنفيذ التعليق الذي يهدف إلى إظهار العلامات عندما يعرضه أحد التطبيقات على أنه HTML. القرار الأول هو ما إذا كان المنتج يريد نصًا عاديًا، أو بدون علامات، أو مجموعة فرعية غنية محدودة بشكل متعمد.
للتحقق من الهروب مقابل تعقيم HTML، قم ببناء التعليق المخصص لمطور يقوم ببناء نظام تعليق. من المفترض أن يُظهر برنامج Preserve التعليمات البرمجية أثناء قيام خيار العمليات الثلاثة بإنتاجه وتشغيله بدلاً من ذلك؛ تحديد المكان الذي يتم فيه استهلاك الاختيار الخاطئ. الملاحظة حول ثلاث تقنيات تنتمي إلى نص HTML فقط.
الهروب: يصبح الترميز نصًا مرئيًا - ما الذي يتغير وما الذي يتم الاحتفاظ به ولماذا هو الإعداد الافتراضي
الهروب: يصبح الترميز نصًا مرئيًا - ما الذي يتغير وما الذي يتم الاحتفاظ به ولماذا هو الإعداد الافتراضي. يؤدي الهروب إلى الحفاظ على كل حرف أثناء تغيير العلامات المهمة إلى مراجع. يعرض المتصفح الرموز الأصلية كنص، مما يجعل هذا هو الإعداد الافتراضي الصحيح للتعليقات وأمثلة التعليمات البرمجية.
يمكن للمطور الذي يقوم ببناء نظام تعليق أن يختبر أن يصبح الهروب من العلامات مرئيًا عن طريق تسجيل النص الذي يغير ما قبل تمرير اختيار العمليات الثلاثة. يتم الاحتفاظ بالمقارنة ولماذا بعد ذلك يكون تحديد المحلل اللغوي المسؤول عنها هو الإعداد الافتراضي. تشرح نتيجة الهروب مقابل التعقيم دليل اختيار العمليات الثلاث، وليس السياقات القابلة للتنفيذ.
التجريد: حذف العلامات - لماذا لا يمكن الاعتماد على تجريد علامات regex وما الذي يخسره
التجريد: حذف العلامات - لماذا لا يمكن الاعتماد على تجريد علامات regex وما الذي يخسره. يزيل التجريد العلامات الظاهرة ويفقد البنية أو علامات الترقيم أو الكلمات. لا يمكن للتعبيرات العادية أن تصمم نموذجًا لاسترداد أخطاء المتصفح أو عناصر النص الخام أو التداخل التالف بشكل موثوق بما يكفي لتحديد الأمان.
عزل علامات الحذف والحذف في نموذج اختيار قصير من ثلاث عمليات. أظهر تجريد علامة regex كمصدر حرفي، واتبع ما هو غير موثوق به وما هو إلى وجهته، وقم بتسمية القراءة المفقودة API. بالنسبة للهروب مقابل التعقيم، يظل دليل اختيار العمليات الثلاث دليلًا مرتبطًا بالمحلل اللغوي.
التطهير: السماح لمجموعة فرعية - قوائم السماح، وقواعد السمات، ولماذا هي الأصعب بين الثلاثة
التطهير: السماح لمجموعة فرعية - قوائم السماح، وقواعد السمات، ولماذا هي الأصعب بين الثلاثة. يؤدي تحليل البيانات إلى تحليل العلامات أو ترميزها والاحتفاظ بقائمة مسموح بها صريحة من العناصر والسمات ومخططات URL. يعد الأمر أكثر صعوبة إلى حد كبير نظرًا لأهمية تفسير المتصفح والإدخال غير الصحيح واللغات المتداخلة.
علاج التعقيم بالسماح لمجموعة فرعية كتجربة حدودية. يجب على المطور الذي يقوم ببناء نظام تعليق أن يحتفظ بقواعد سمات القوائم المسموح بها، وأن يقوم بإجراء عملية اختيار واحدة من ثلاث عمليات، ويفحص سبب تمييزها حرفًا بحرف قبل تغيير أصعب ما في الأمر. المطالبة بحوالي ثلاثة توقفات عند هذه الطبقة HTML.
مثال عملي: نفس المستخدم يُدخل من خلال الثلاثة - مقارنة النص أو العلامات الناتجة
مثال عملي: نفس المستخدم يُدخل من خلال الثلاثة - مقارنة النص أو العلامات الناتجة. بالنظر إلى <strong onclick="go()">Hi & bye</strong>، يُظهر الهروب المصدر بأكمله، ويؤدي تجريد الأهداف من Hi & Bye، وقد يحتفظ التعقيم بـ <strong> أثناء إزالة onclick بموجب سياسة مثبتة.
قم بإعادة إنتاج المثال العملي نفسه باستخدام مدخلات غير ضارة بدلاً من مواد العميل. قم بتسجيل مدخلات المستخدم من خلال الكل، ولاحظ النص الناتج، وقم بإحصاء كل تمريرة اختيار مقصودة من ثلاث عمليات. يتيح مسار الهروب مقابل التعقيم html للمطور إنشاء نظام تعليق بتقييم أو ترميز مقارنة وأدلة اختيار العمليات الثلاثة دون التخمين.
الاختيار حسب النية - هروب النص العادي وعينات التعليمات البرمجية؛ تعقيم النص الغني؛ نادرا ما يكون التجريد صحيحا
الاختيار حسب النية - يهرب النص العادي وعينات التعليمات البرمجية؛ تعقيم النص الغني؛ نادرا ما يكون التجريد صحيحا. اختر من النية: يتم هروب النص العادي والأمثلة؛ يتم تطهير النص الغني المدعوم من خلال سياسة مخصصة ومُحافظ عليها؛ يعتبر التجريد تحويلاً خاسرًا وليس ضمانًا XSS.
ضع الاختيار حسب النية البسيطة والنص وعينات التعليمات البرمجية، وتخلص من عمليات تعقيم النص المنسق جنبًا إلى جنب أثناء مراجعة اختيار العمليات الثلاث. يمكن للمطور الذي يقوم ببناء نظام تعليق أن يقرر بعد ذلك ما إذا كان التجريد نادرًا ما يتم تغييره بشكل صحيح عند التحويل أو في المراحل النهائية. احتفظ باستنتاج HTML escape vs sanitize حول دليل اختيار العمليات الثلاث بعيدًا عن مطالبات الأمان العامة.
ما لا يغطيه هذا هو عرض Markdown وسياسات أمان المحتوى كطبقات إضافية
ما لا يغطيه هذا هو عرض Markdown وسياسات أمان المحتوى كطبقات إضافية. تضيف سياسة Markdown وContent Security مراحل منفصلة. ينتج عن Markdown HTML الذي لا يزال بحاجة إلى عرض آمن، في حين أن CSP يمكن أن يحد من العواقب ولكنه لا يصحح قرار الإخراج غير الآمن.
حدد ما لا يفعله هذا قبل تشغيل خيار العمليات الثلاثة. احفظ عرض تخفيض الغلاف وكعنصر تحكم، افحص نقاط التعليمات البرمجية خلف سياسات أمان المحتوى، وقم بتعيين طبقات إضافية للمترجم التالي. وهذا يجعل دليل اختيار العمليات الثلاثة قابلاً للتدقيق لمطور يقوم ببناء نظام تعليق يحقق في الهروب مقابل التعقيم html.
الوجبات الجاهزة: ToolAcre تؤدي عملية الهروب فقط، وليس التجريد أو التعقيم
الوجبات الجاهزة: ToolAcre تؤدي عملية الهروب فقط، وليس التجريد أو التعقيم. ToolAcre ينفذ حالة الهروب فقط. إنه ليس معقم XSS ولا يقبل HTML معاديًا للعرض الغني الآمن؛ يقوم بتحويل الإدخال ذي المظهر الترميزي إلى نص HTML.
قم بتوصيل أدوات الوجبات الجاهزة التي تؤدي إلى الهروب إلى مخرجات اختيار ثلاثية العمليات يمكن ملاحظتها. احتفظ فقط بعدم تجريد أو بجانب نتيجة المرور الواحد، ثم تحقق من مكان إدخال التعقيم في دليل اختيار العمليات الثلاثة. يمكن الآن للمطور الذي يقوم ببناء نظام تعليق مراجعة أدلة اختيار العمليات الثلاثة باعتبارها نتيجة ضيقة للهروب مقابل التعقيم في HTML. القرار العملي وراء هذه المقالة محدد: الهروب يظهر الترميز كنص، والتجريد يزيله، والتطهير يحافظ على مجموعة فرعية آمنة. يشرح هذا المنشور ما تفعله كل تقنية فعليًا، وأين يفشل كل منها، وكيفية اختيار الأسلوب المناسب لمدخلاتك. إجراء القارئ ملموس بنفس القدر: يرتبط بأداة الهروب من الكيان HTML ويوضح الهروب من مقتطف من إدخال المستخدم بحيث يتم عرضه كعلامة حرفية.