2012-11-15 11 views
16

एक नौसिखिया सवाल सीमित अपलोड लेकिन मैं abit googled है और किसी भी समाधान खोजने के लिए प्रतीत नहीं कर सकते हैं।S3 प्रत्यक्ष फ़ाइल आकार और प्रकार

मैं उपयोगकर्ताओं को सीधे S3 पर फ़ाइलें अपलोड करने, अपने सर्वर के माध्यम से नहीं पहले अनुमति देना चाहते हैं। ऐसा करके, क्या एसडी 3 पर वास्तव में अपलोड करने से पहले आकार सीमा और अनुमति प्रकारों के लिए फाइलों की जांच की जा सकती है? पसंदीदा रूप से फ्लैश लेकिन जावास्क्रिप्ट का उपयोग न करें।

उत्तर

36

आप सुरक्षा समस्या के बारे में बात कर रहे हैं (लोगों को अपने बाल्टी के लिए बहुत बड़ा फ़ाइल अपलोड करने), हाँ, आप एस 3 के लिए ब्राउज़र आधारित अपलोड के साथ फ़ाइल आकार सीमित कर सकते हैं।

यहाँ "नीति" चर, जहां "सामग्री-लंबाई दूरी" प्रमुख मुद्दा है का एक उदाहरण है।

"expiration": "'.date('Y-m-d\TG:i:s\Z', time()+10).'", 
"conditions": [ 
    {"bucket": "xxx"}, 
    {"acl": "public-read"}, 
    ["starts-with","xxx",""], 
    {"success_action_redirect": "xxx"}, 
    ["starts-with", "$Content-Type", "image/jpeg"], 
    ["content-length-range", 0, 10485760] 
] 

इस मामले में, अगर uplaoding फ़ाइल आकार> 10 एमबी, अपलोड अनुरोध Amazon द्वारा अस्वीकार कर दिया जाएगा।

बेशक

पर अपलोड की प्रक्रिया शुरू करने से पहले, आप फ़ाइल आकार की जाँच करें और अगर यह होता है कुछ अलर्ट बनाने के लिए जावास्क्रिप्ट का उपयोग करना चाहिए।

getting file size in javascript

+2

नीति को लागू करने के तरीके के साथ-साथ अन्य विचारों के बारे में अधिक जानकारी के लिए https://aws.amazon.com/articles/1434 देखें। – Trenton

+0

नीति ग्राहक पक्ष पर सेट फॉर्म का हिस्सा है। यदि कोई हैकर पर्याप्त उत्सुक है तो वे आपकी बेस 64 नीति को डीकोड कर सकते हैं और इसमें फ़ाइल आकार या टाइप कर सकते हैं। – Kareem

+2

@ करम नीति दस्तावेज पर हस्ताक्षर किए गए हैं, इसलिए किसी भी छेड़छाड़ से अनुरोध विफल हो जाएगा। –

-5

आप करना चाहते कर रहे हैं क्या करने के लिए, आप अपने खुद के वेब सेवा के माध्यम से अपलोड करने के लिए की आवश्यकता होगी। यह शायद सबसे अच्छा है, क्योंकि आपके अंतिम उपयोगकर्ताओं को आपके एस 3 बाल्टी में वैश्विक लेखन पहुंच प्रदान करना एक सुरक्षा दुःस्वप्न है, यह भी उल्लेख नहीं है कि उन्हें बड़ी फाइलें अपलोड करने और अपने शुल्कों को जैक करने से रोकने के लिए कुछ भी नहीं होगा।

3

एडब्ल्यूएस एक ट्यूटोरियल समझा लिखा कैसे create HTML POST forms that allow your web site visitors to upload files into your S3 account using a standard web browser करने के लिए। यह छेड़छाड़ को रोकने के लिए एस 3 प्री-हस्ताक्षरित यूआरएल का उपयोग करता है और आप फ़ाइल आकार से एक्सेस प्रतिबंधित कर सकते हैं।

संबंधित मुद्दे