سؤال

والزميل المحترم يصر على أن تخزين الصور على خادم آمن ، خصوصا إذا كان بنية الملف من السهل أن نخلص (كما لدينا معارض الصور التي تم إنشاؤها من قبل المستخدمين ، نظام التسمية من السهل متابعة).

بدلا من ذلك يوصي تخزين الصور أعلاه الجذر ، وخدمة لهم باستخدام fread أو fputthrough.

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

أنا أفهم أن الصور يجب أن يتم التحقق قبل أن يتم تخزينها على الخادم ، وتحقيقا لذلك أنا باستخدام يماغيماغيك فعل قاصر تحويل و حفظ jpeg - والتي يجب التخلص من أي خبث ، بقدر ما أعتقد.

لذا ، فإن الأسئلة العقول العظيمة على ذلك:

  1. هل هناك أي قضايا الأمن مع تخزين الصور محليا مع سهلة لمتابعة مسارات ؟
  2. لي طريقة فحص الصور مع IM آمنة ؟
  3. هل هناك سبب لاستخدام PHP لخدمة الصور ؟
  4. هو النفقات العامة باستخدام PHP حقا كبيرة ؟
  5. أن استخدام CDN فرقا بعيدة كما يذهب الأمن (لا أريد)?
  6. أنا في عداد المفقودين شيئا ؟

شكرا جميعا!

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

المحلول

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

  • و "GIFAR" الملف.أساسا هذا هو ملف GIF و ملف جرة متصلا.لأن مؤشر معلومات GIF في بداية هذا ملف جرة هو في نهاية المطاف ، فإن اثنين من أنواع الملفات يمكن أن تكون جنبا إلى جنب والنتيجة هي صالحة GIF صالح جرة.
  • متعددة امتداد الملف.ملقمات ويب دعم متعددة امتداد الملف للسماح أشياء مثل التدويل.على سبيل المثال ملف اسمه page.html.fr قد خريطة النسخة الفرنسية من الصفحة.ملف مع ملحق image.php.jpg أو حتى صورة.php.123 قد يكون قابل للتنفيذ مثل PHP النصي, اعتمادا على تكوين الملقم.
  • تجاوز سعة المخزن المؤقت.صورة تنسيقات الملفات عادة ما تحتوي على ضربة رأس في بداية الذي يصف حجم وشكل الملف.تقلل حجم يمكن أن تسمح للمستخدمين الخبيثة الحرفية هجوم تجاوز سعة المخزن المؤقت.

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

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

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

نصائح أخرى

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

إذا كان هناك أكثر من بضعة آلاف (ويبدو ذلك مرجحًا) ، فإن إنشاء التسلسل الهرمي للدليل الذي تم تخزينها فيه يمكن أن يساعد أيضًا في سرعة الوصول ، مع زيادة مساحة البحث لدرجة أنه لن يتم العثور عليها عن طريق البحث العشوائي. على سبيل المثال: يمكن وضع ملف يسمى 347168a5d9b4ac5eb386e396f68b2231.jpg في دليل: /images/34/71/68/347168a5d9b4ac5eb386e396f68b2231.jpg يسرع الدليل متعدد المستويات الوصول من خلال تجنب مسح آلاف إدخالات الدليل ، ويوقف الاسم العشوائي (المخزن في قاعدة البيانات المرفقة بقائمة صور المستخدم في المعرض) الملفات العشوائية من العثور عليها.

يبدو عبء مثل هذا النص سخيفًا.

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

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

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

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