السماح للمستخدمين تحميل البرامج النصية بيثون لتنفيذ

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

  •  03-07-2019
  •  | 
  •  

سؤال

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

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

المحلول

هل لديك API واسعة النطاق للمستخدمين وتجريد جميع المكالمات الأخرى على تحميل (مثل بيانات الواردات). أيضا، تجريد كل ما له علاقة مع ملف ط / س.

و(قد ترغب في القيام يمر متعددة للتأكد من أنك لا تفوت أي شيء.)

نصائح أخرى

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

ووفقا للصفحة حول وتجلى ذلك في إطار geordi والفخاخ عن تميز الكلية المكالمات مع ptrace. بالإضافة إلى أن chroot'ed هم على جهاز ظاهري مع جدران الحماية في مكان عدم السماح الاتصالات الصادرة.

وتنظر فيه نقطة انطلاق لكنني يجب أن تتناغم على الشيء الخطر كله. فلدي CYA نفسي. :)

وعن طريق PyPy يمكنك إنشاء رمل الثعبان. رمل هي بيئة الثعبان منفصلة وآمنة يفترض حيث يمكنك تنفيذ نصوصهم. مزيد من المعلومات هنا

http://codespeak.net/pypy/dist/pypy/doc /sandbox.html

و"من الناحية النظرية أنه من المستحيل أن تفعل أي شيء سيئ أو قراءة ملف عشوائي على الجهاز من هذه المطالبة".

و"هذا هو آمن للقيام حتى لو script.py يأتي من مصدر غير موثوق بها عشوائي، على سبيل المثال، إذا تم القيام به من قبل خادم HTTP."

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

نعم.

والسماح لهم برنامج العميل النصي، وليس الخادم الخاص بك.

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

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