سؤال

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

هل من غير الآمن تضمين أي ملف فلاش من الإنترنت؟إذا كان الأمر كذلك، فكيف يمكنني السماح للمستخدمين بتضمين رسوم متحركة بريئة مع إبعاد التطبيقات الضارة؟

يحرر:

من خلال ما يمكنني جمعه، فإن التهديد الأكثر وضوحًا هو أن يقوم actionscript بإعادة توجيهك إلى موقع ضار.

أدوبي يقول يمكنك ضبط allowScriptAccess=never و allowNetworking=none ويجب ألا يكون لـ swf إمكانية الوصول إلى أي شيء خارج نفسه. هل سيحل هذا كل مشاكلي؟

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

المحلول 5

يقول Adobe أنه يمكنك ضبطه allowScriptAccess=أبداً و allowNetworking=none ويجب ألا يكون لـ swf إمكانية الوصول إلى أي شيء خارج نفسه.على الرغم من أنallowNetworking موجود فقط في Flash Player 9، إلا أن المستخدمين الذين لديهم إصدارات سابقة من Flash سيظلون عرضة لبعض عمليات الاستغلال.

إنشاء تطبيقات ويب SWF أكثر أمانًا:ضوابط الأمان ضمن كود HTML

كيفية تقييد محتوى SWF من HTML

نصائح أخرى

يحتوي Flash على بعض الإجراءات الأمنية الأنيقة.يعد السماح للمستخدمين بتحميل ملفات swf إلى موقعك وتضمينها أمرًا غير آمن، فأنت في الأساس تهيئ نفسك لهجوم XSS.

ومع ذلك، فإن السماح لهم بالارتباط الساخن لا ينبغي أن يمثل مشكلة.سيتم قفل ملف swf على المجال الذي يستضيفه ولا يُسمح له باستدعاء عنوان url خارج تلك المساحة.

وسيظل مفتوحًا أمام "الروابط الشريرة" (أنا متأكد من وجود كلمة مناسبة لها)، وأعني بذلك وجود روابط منتظمة إلى yoursite.com/admin/deleteallpages.php والتي يحاول تحميلها "باسم" أنت. .ومع ذلك، لن يتمكن من استخدام هذه البيانات بأي شكل من الأشكال، وسيكون في الأساس نفس الرابط العادي، وأعتقد أن أنظمة إدارة المحتوى الحديثة محمية من هذا النوع من الهجمات.

يمكنك الحصول على نفس الحماية من خلال استضافة الفلاشات الخاصة بك على نطاق فرعي مختلف، حيث يعتبر الفلاش هذا نفس نطاق مختلف تمامًا.

عند تضمين ملفات SWF من مصادر غير معروفة، فمن الأفضل أيضًا وضع قناع على أداة التحميل بحيث لا يتمكن ملف SWF المحمل من الاستيلاء على مساحة شاشة أكبر من المتوقع.

رمز زائف للقيام بذلك:

var maskSpr : Sprite = new Sprite();
maskSpr.graphics.beginFill();
maskSpr.graphics.drawRect(0,0,safeWidth,safeHeight);
maskSpr.graphics.endFill();
myLdr.mask = maskSpr;

هناك في الواقع أكثر من خيار.

لكي تكون آمنًا تمامًا، قم بتعيينallowScriptAccess=never وallowNetworking=none ولن يتمكن ملف swf من الوصول إلى أي شيء خارج نفسه.

ملحوظة:لا تتوفر ميزة "allowNetworking" إلا في Flash Player 9 (تم إنشاؤها استجابةً للعديد من فيروسات myspace المتنقلة)، لذا ستحتاج إلى استخدام كائن فرنك سويسري للتأكد من أن المستخدمين الذين لديهم الإصدار المناسب من مشغل الفلاش أو الأفضل هم فقط من يقومون بتحميل الفلاش.

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

لاحظ أيضًا أنه من الأفضل ألا يكون لديك ملف crossdomain.xml على موقعك - ​​اقرأ المزيد عن تلك المخاطر هنا وأماكن أخرى.

فيما يلي بعض المواقع الأخرى التي تم ذكرها بإجابات أخرى تتناول مزيدًا من التفاصيل:

http://www.adobe.com/devnet/flashplayer/articles/secure_swf_apps_04.html

http://blogs.adobe.com/stateofsecurity/2007/07/how_to_restrict_swf_content_fr_1.html

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

نعم، انها غير آمنة.

لا توجد طريقة سهلة للسماح بذلك.يمكن أن يكون لديك قائمة بيضاء للنطاق تسمح بـ YouTube وHulu وما إلى ذلك.من خلال، ولكن القائمة البيضاء هي عملية شاقة بطبيعتها - سيتم تحديثها باستمرار.

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