मैंने social networking site for gardeners वेबसाइट विकसित की है, और उपयोगकर्ताओं को अपनी "ट्वीट्स" में छवियां जोड़ने की क्षमता रखने में दिलचस्पी है।मैं अपनी साइट पर छवियों को सुरक्षित और निष्पक्ष रूप से अनुमति देने की अनुमति कैसे दूं?
यदि मैं उन्हें वास्तविक साइट पर छवियों को अपलोड करने की अनुमति देता हूं, ऐसा लगता है कि यह जल्दी से महंगा हो जाएगा (यह एक साइड प्रोजेक्ट है, जो स्वयं और मेरे स्वयं के जुनून से किसी के द्वारा वित्त पोषित नहीं है)। आइए मान लें कि साइट मामूली लोकप्रिय हो गई है, जिसमें 100K उपयोगकर्ता एक सप्ताह में एक छवि पोस्ट करते हैं, केवल 250K आकार में। यह (100000 * .1 * 52/1024) = 508 एमबी/वर्ष भंडारण में है (और यह खाता बैंडविड्थ में वृद्धि नहीं करता है)। इसके अलावा मुझे छवियों को स्केल करने के लिए सर्वर लोड को बढ़ाना होगा। मुझे यकीन नहीं है कि मुझे इसके साथ आगे बढ़ना चाहिए, या यदि बेहतर संभावनाएं हैं।
अन्य साइटों से लिंक करना कुछ तरीकों से बेहतर लगता है। आपने लिंक तोड़ दिए हैं, लेकिन मेरे लिए एक बड़ी चिंता सुरक्षा है: एक्सएसएस।
आवेदन मोंगो डीबी/मोंगोइड का बैकएंड के रूप में उपयोग करते हुए रेल 3 पर है, यदि यह मायने रखता है।
- एपीआई कि बाहरी साइटों पर छवियों की दुकान:
मैं जैसे समाधान के लिए देख रहा हूँ। यह आदर्श होगा कि यह मेरी साइट पर अपलोड करने की क्षमता है, और एक बाहरी साइट पर इसे स्टोर करने के लिए एक एपीआई कॉल करें।
- एपीआई (शायद जावास्क्रिप्ट एपीआई) जो सुरक्षित रूप से एक या अधिक बाहरी छवि होस्टिंग साइटों से लिंक करना आसान बनाता है।
- मार्कडाउन या इसी तरह के मार्कअप जो बाहरी छवियों को सुरक्षित रूप से लिंक करने की अनुमति देते हैं। मुझे उपयोगकर्ताओं को सीमित तरीके से अपनी पोस्ट को प्रारूपित करने की क्षमता देने में दिलचस्पी है, इसलिए यह एक ही समय में दो समस्याओं को हल कर सकता है। मैंने देखा कि स्टैक ओवरफ्लो यही करता है।
- सुरक्षा पुस्तकालय जो छवि URL पैटर्न whitelist
- सलाह है कि मैं इस समस्या के बारे में गलत क्यों सोच रहा हूं। उदाहरण के लिए, शायद मुझे सिर्फ छवियों को स्टोर करना चाहिए। सालाना 500 एमबी वास्तव में महंगा नहीं है, और यह मुझे एक बहुत साफ उपयोगकर्ता अनुभव बनाने की अनुमति देता है।
मेरे उद्देश्यों (क्रम में) हैं: - दोनों मेरी अपनी साइट के लिए, सुरक्षित, और अन्य साइटों के खिलाफ XSS हमलों की अनुमति नहीं करने के लिए - बेस्ट संभव उपयोगकर्ता अनुभव - आराम को बनाए रखने और लागू करने के लिए
आपने अपनी साइट पर उपयोगकर्ता द्वारा आपूर्ति की गई छवियों को अनुमति देने के लिए क्या किया है?
मैं क्या कहने जा रहा था। भंडारण में 508 एमबी एस 3 पर लगभग $ 1 के लिए काम करेगा। –