現在サービスを新規設計しています。
そのうえで、お客様が顧客登録したときのプロフィール画像やチャット画像を保存するシステムを設計中です。
以下を検討していますが、それぞれ懸念点あります。
これらを解決しながら達成できる方法をご教授いただきたいです。
①DBに保存してAPIでDLして表示させる方法
→dataURLで表示することになるため、セキュリティ的にアウト、しかも遅い
②サーバー置き場に静的ファイル置き場を作り、アクセスURLにユーザーIDを含め、IDとcookieを認証してOKな場合アクセス可能にする
→サーバーレスの場合不可能、サーバーの場合は顧客が多くなったらHDD容量問題で破綻
③認証つきファイルサーバーからDL
→tokenをJSで制御しないといけなかったり、tokenをURLに入れていないといけないためセキュリティ的にアウト。ファイルサーバーだと、トークンをURLに入れこまないと<img>タグで表示できない
まとめると、以下の条件でプロフィール画像をアップロード、表示できる方法をご教授頂きたいです。
・<img>タグでアクセスできる
・URLがばれていても他人がアクセスできない
・100万人×10MB=10TBにプロフィールデータ数が増えた場合にも耐えうる
・dataURLを禁止してアクセス可能にする(CSPのため)
このサービスをこう使えばいけるよ。とかでもOKです。
ホームラン的な情報であれば+3000円お支払いします。