it-swarm.asia

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

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

الآن ، يجب عليك الإجابة عن سؤال CMS القديم: ما هي الخطوات التي تتخذها لضمان أن يكون الرمز الذي أدخله المستخدم في CMS مقبولًا لموقعك؟ إنني أفكر في مجرد تجاوز سلسلة من الناحية الفنية لجعلها قادرة على الانتقال إلى قاعدة بيانات - هناك اعتبارات لمعايير w3 ، والتصفية للمحتوى غير المناسب ، والتهجئة ، وألغاز مثل تنقية كود Microsoft Word. بالتأكيد ، هناك مخاوف من أن فاتني ...

3
bpeterson76

أعتقد أن السؤال هنا هو:

"كيف أحصل على ما أريده بالضبط من المستخدمين من خلال جعل الإدخال سهلًا بشكل سخيف لهم"

المثيل الوحيد الذي أرى فيه المستخدمين بحاجة فعليًا إلى استخدام HTML مباشرةً في بعض أشكال الإدخال هو عندما/إذا كانوا يقومون بتنسيق بيانات جدولية. ومع ذلك ، في هذه الحالة ، من الأسهل كثيرًا منحهم نموذجًا يمكن أن يفعل الشيء نفسه ، أو أي واحد من الشبكات الشائعة المتوفرة في المكتبات المختلفة.

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

يمكن للماسحات الضوئية التابعة للجهات الخارجية (عادة) اكتشاف معظم المشكلات في الملفات التي تم تحميلها. أنا شخصياً أحب ClamAV - وهو متاح لكل من * nix و Windows.

هذا يحل مشكلة التأكد من أن كل شيء مرتب بشكل جيد ، ومنسق بشكل صحيح ولا يتم تقديم أشياء غير مرغوب فيها للزائرين ، أم أنها كذلك؟

الشيء الآخر الذي تحتاج إلى القيام به هو مراجعة أي محتوى يقدمونه ، يجب أن يكون للإنسان دور ما في هذا أو أن يتم تفويته. هل هذه الصورة مناسبة؟ هل يؤدي هذا الارتباط إلى برامج ضارة أو شيء آخر لا تفضل الارتباط به؟ إلخ.

إن توفير آلية الإبلاغ يساعد ، لكنه دائمًا غير فعال. على سبيل المثال ، إذا قدمت إجابة عن سؤال عمره عامان على موقع stackoverflow.com ، فسيتم إرسال السؤال على الفور إلى الصفحة الأولى حيث من المؤكد أن المجتمع سيراجع ما تمت إضافته للتو. ليست كل الأنظمة مصممة مع وضع هذا النوع من الحماية في الاعتبار.

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

1
Tim Post

أود أن أجيب على ذلك من خلال تدويره في أكثر من "ما هي الأدوات التي أحتاج إلى تنفيذها" ، ثم يمكنك البدء في التفكير في مجموعة من الأدوات المساعدة والأدوات الإضافية التي يمكنك استخدامها لتنفيذ الإجراءات الوقائية.

أشياء مثل TinyMCE للحصول على مدخلات معقدة ، حيث حصلت على وظيفة "لصق من Word" وهي مثالية للتخلص من الكثير من مشكلات أحرف Word.

لاحظت أنك تقول "الكود الذي تم إدخاله في cms" فهل نتحدث عن الكود الفعلي بدلاً من المحتوى؟ لأن ذلك من شأنه أن يغير المشهد التطبيق قليلا جدا في رأيي.

وإلا فأنا أتفق مع تعليق jessegavin ، فقد يكون هناك الكثير والكثير من الإجابات على هذا السؤال. يجب أن أعترف ، أنا لا أفهم السؤال كما هو. بصفتي مطورًا نفسيًا ، فإن هذه الإجراءات الوقائية هي الأشياء التي أرمزها على أي حال عند إنشاء CMS.

على الرغم من أنني أعتقد أنه يمكن تغطية العديد من الإجراءات الوقائية في مرحلة تصميم Use Case.

0
David Yell

حسنًا ، إذا كنت بصدد إنشاء CMS (وفي الواقع ، لقد قمت بذلك) ، فلن أهتم بالمحتوى الذي تم إدخاله فيه ، طالما أن هذا المحتوى يمكن تخزينه واستعادته. ليست مهمة نظام إدارة المحتوى هي تخمين ما هو مقبول وما هو غير مقبول ، لأنه يختلف حسب الاستخدام.

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

لا تدع المستخدمين يدخلون المحتوى مباشرةً في موقعك - ​​دائمًا ما تراجعه.

0
Dan Diplo