سؤال

ما هو نوع الإدخال الأقل عرضة لهجمات البرمجة النصية عبر المواقع (XSS) وهجمات حقن SQL.

PHP، HTML، BBCode، الخ.أحتاج إلى معرفة المنتدى الذي أساعد فيه صديقًا.

هل كانت مفيدة؟

المحلول

نحن بحاجة إلى معرفة المزيد عن حالتك.عرضة للخطر كيف؟بعض الأشياء التي يجب عليك فعلها دائمًا:

  • الهروب من السلاسل قبل تخزينها في قاعدة بيانات للحماية من حقن SQL
  • يقوم HTML بتشفير السلاسل عند طباعتها مرة أخرى إلى المستخدم من مصدر غير معروف، لمنع html/javascript الضارة

لن أقوم أبدًا بتنفيذ PHP المقدم من قبل المستخدم.يعد BBCode/UBBCode جيدًا، لأنه يتم تحويلهما إلى HTML صحيح لغويًا، على الرغم من أنك قد ترغب في البحث في ثغرات XSS المتعلقة بعلامات الصور المشوهة.إذا سمحت بإدخال HTML، فيمكنك إضافة عناصر معينة إلى القائمة البيضاء، ولكن هذا سيكون أسلوبًا معقدًا وعرضة للأخطاء.لذا، وبالنظر إلى كل ما سبق، أود أن أقول إن استخدام منتج جيد جاهز للاستخدام كود بي بي سي المكتبة ستكون أفضل رهان لك.

نصائح أخرى

(أنا فقط نشر هذا في تعليق، ولكن يبدو عدد قليل من الناس تحت انطباع أن اختيار القوائم، أزرار، الخ لا تحتاج إلى تطهير.)

ولا تعول على أزرار كونها آمنة. يجب أن لا تزال تطهير البيانات الموجودة على الخادم. الناس يمكن إنشاء صفحة HTML على آلة المحلية، وجعل مربع النص مع نفس اسم زر الراديو الخاص بك، ولها أن البيانات الحصول على نشر الظهر.

وللمستخدم أكثر تقدما يمكن استخدام بروكسي مثل يبسكاراب ، وفقط قرص المعلمات كما يتم نشرها مرة أخرى إلى الخادم.

وهناك قاعدة جيدة من التجربة هو أن <م> دائما استخدام عبارات SQL معلمات، و<م> دائما الهروب بيانات المستخدم لتوليد قبل وضعه في HTML.

لا أحد منهم.يمكن معالجة جميع البيانات المتوقعة على الخادم من قبل أولئك الذين لديهم المعرفة والدافع.يعد المتصفح والنموذج الذي تتوقع أن يستخدمه الأشخاص مجرد إحدى الطرق العديدة الصالحة لإرسال البيانات إلى الخادم/البرنامج النصي الخاص بك.

يرجى التعرف على موضوع XSS والقضايا ذات الصلة

وأي نوع من منطقية.

ويمكنك حتى تصفية إدخال غير صالح بسهولة تامة.

و؛ -)

وهناك الكثير من BB موزعي التعليمات البرمجية التي تطهير مدخلات لHTML وهلم جرا. إن لم يكن احد هناك هو متاح كحزمة واحدة، ثم هل يمكن أن ننظر في واحدة من المصادر المفتوحة حزم البرمجيات منتدى للاسترشاد بها.

وBB كود المنطقي كما هو "المعيار" للمنتديات.

والمدخلات التي هي أقل عرضة للهجوم هو "عدم إدخال".

هل يسأل السؤال الصحيح؟

لأجل أودين، من فضلك لا تطهير المدخلات. لا تخافوا من المستخدمين يدخلون ما يريدون في النماذج الخاصة بك.

وإدخال المستخدم ليست آمنة بطبيعتها. الجواب المقبول يؤدي إلى تلك الأنواع من واجهات الويب مثل حسابي المصرفي، حيث لا يمكن للسيد أورايلي فتح حساب، لأنه يحتوي على حرف غير مسموح به في اسمه. ما هو غير آمن دائما كيف يمكنك استخدام مدخلات المستخدم.

والطريقة الصحيحة لتجنب حقن SQL هي استخدام عبارات المعدة. إذا لم طبقة قاعدة بيانات التجريد بك تتيح لك استخدام تلك، استخدام وظائف الهروب الصحيحة بدقة (myslq_escape وآخرون). الطريقة الصحيحة لمنع وقوع هجمات XSS أبدا شيء من هذا القبيل striptags (). الهروب كل شيء - في PHP، شيء من هذا القبيل htmlentities () هو ما كنت أبحث عنه، ولكن ذلك يعتمد على ما إذا كنت outputing سلسلة كجزء من النص HTML، سمة HTML، أو داخل جافا سكريبت، وما إلى ذلك استخدام الأداة المناسبة في السياق الصحيح. وNEVER مجرد طباعة إدخال المستخدم مباشرة إلى الصفحة.

وأخيرا، إلقاء نظرة على 10 نقاط الضعف القصوى لتطبيقات الويب، وفعل الشيء الصحيح لمنعهم. http://www.applicure.com/blog/owasp-top-10-2010

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top