سؤال

كيف يمكنني الحد من أنواع HTML التي يمكن للمستخدم إدخال في مربع نص?أنا أدير منتدى صغير باستخدام بعض البرامج المخصصة أنني اختبار بيتا, ولكن أريد أن أعرف كيفية الحد HTML الإدخال.أي اقتراحات ؟

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

المحلول

أقترح قليلا النهج البديل:

  • لا تصفية واردة بيانات المستخدم (ما وراء منع حقن sql).بيانات المستخدم يجب أن تبقى نقية كما ممكن.
  • تصفية كافة البيانات الصادرة من قاعدة البيانات ، هذا هو المكان أشياء مثل الوسم تجريد, الخ..يجب أن يحدث

حفظ بيانات المستخدم نظيفة يتيح لك المزيد من المرونة في كيفية عرضها.تصفية كل البيانات الصادرة هو عادة جيدة للوصول الى (على طول لا تثق البيانات ميمي).

نصائح أخرى

وأنت لم تذكر ما تم بناء القسم، ولكن اذا كان PHP، راجع:

<اقتباس فقرة>   

http://htmlpurifier.org/

     

مكتبة الميزات: <م> البيضاء، إزالة، حسنا تشكيلها، التعشيش، سمات، XSS آمن، معايير آمنة

وعندما يقدم النص، هل يمكن تجريد أي / كل العلامات التي لا تتطابق مع مجموعة محددة سلفا باستخدام باستخدام التعابير المنطقية في PHP.

وانها تبدو شيء كما يلي:

find open tag (<)
if contents != allowed tag, remove tag (from <..>)
  1. تحليل المدخلات يوفر وقطاع جميع علامات html التي لا تتطابق تماما القائمة يمكنك السماح.هذا يمكن أن يكون إما معقدة باستخدام التعابير المنطقية ، أو يمكنك جليل التكرار من خلال char[] من سلسلة الإدخال بناء سمح سلسلة الإدخال و تجريد سمات غير مرغوب فيها على علامات مثل img.

  2. استخدام نظام التعليمات (BBCode, تخفيض السعر)

  3. تجد بعض التعليمات البرمجية على الانترنت أن يفعل فعلا من هذا ، أن تستخدم كأساس التنفيذ.على سبيل المثال Slashcode يجب تنفيذ هذا حتى ننظر في بيرل واستخدام regexes (أن أفترض هناك)

وبغض النظر عن ما كنت تستخدم، ومن المؤكد أن يكون على علم أي نوع من المحتوى HTML يمكن أن تكون خطيرة.

ومنها مثلا. و

scroll top