تحقق / التحقق مما إذا CSS المقدمة المستخدم ليس شرا

StackOverflow https://stackoverflow.com/questions/1809059

  •  05-07-2019
  •  | 
  •  

سؤال

وأود أن تسمح لي للمستخدمين تطبيق الويب لحفظ CSS مخصصة من خلال حقل نص لتعديل مظهر واجهة المستخدم الرسومية الخاصة بهم.

وأعتقد أن هناك بعض الشر CSS الخارقة هناك. ما يجب أن أعتني عنه؟

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

المحلول

وحل واحد ستكون بالنسبة لك لتوفير خيارات المستخدم من خلال بعض محرر، مما يتيح لهم اختيار لون / حجم العناصر المختلفة. ثم توليد CSS نفسك على أساس خيارات وفرت للمستخدم.

وهذا من شأنه أن يمنع أي CSS غير قياسي، أو CSS كنت لا ترغب في استخدام ليتم حفظها.

نصائح أخرى

وهناك بالضبط شيئا واحدا، أنني أفكر فيه: تعبيرات CSS (التي، مع ذلك، قيمت فقط في IE). وتسمح هذه لجافا سكريبت في ملفات CSS، لذلك أود أن تجريد أي شيء مثل

property: expression(...);

وأو ببساطة رمي خطأ "غير مسموح به".

ولكن بعد ذلك، إذا كنت تقديم CSS إلى بالضبط المستخدم الذي وضعه في في المقام الأول، وقال انه هو المسؤول، إذا كان هو نفسه يدخل إلى الضعف XSS.

في أي حالة أخرى: استخدام الحل زيوس '

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

ويمكنك أيضا جعل مجموعة من الأدوات على موقع الويب الخاص بك التي تسمح للمستخدم لتغيير أنماط محددة على الصفحة من خلال واجهة المستخدم بدلا من مباشرة من خلال CSS. هذا سيسمح المزيد من المستخدمين إلى أسلوب أكثر مرونة صفحاتها، ولكنها عادة ما تأتي على حساب المزيد من الوقت اللازم لتطوير - إلا إذا كنت تستخدم CMS، والخاص CMS معين يسمح هذه الوظيفة بسهولة في جوهر أو في البرنامج المساعد

وآمل أن يساعد هذا.

ومن بين أمور قال آخرون، تحقق مما إذا كانت صالحة CSS: HTTP: //jigsaw.w3. غزاله / CSS-مدقق /

وعلى الرغم من أنني سوف تذهب للإجابة زيوس "، يمكنك استخدام محلل CSS (بحث SO، هناك أسئلة مختلفة) وتحقق من كل المدخلات ضد قائمة من الخصائص المعتمدة (color، background، الخ).

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

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