ブラウザでユーザーが入力したデータを収集し、Amazon S3に保存します。これは私がJavascript/Jqueryでできることですか?JavascriptまたはJqueryを使用してS3にデータを保存する
答えて
はい、これは可能ですが、すでに受け入れられた回答のコメントには、セキュリティと資格情報を妥協することなく正当で有用な使用方法があります。
あなたは、ブラウザから直接S3にオブジェクトを投稿することができます:http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPOST.html
悪いアイデアは:
1)楽しい人々は、彼らがあなたのJavascriptのコードに埋め込まれたあなたのS3の資格情報を見つけたとき、あなたの銀行口座を空にして持っている可能性がどのくらいと考えてください。
2)javascriptはサーバーからロードされ、Amazonのサーバーと通信しようとします。これは、クロスドメイン通信として禁止されています。
これはサーバー上で処理したいと思うようなものです。あなたは簡単にデータを送信するAJAXのインターフェイスをホイップすることができるclient browser -> your server -> amazon
。そうすれば、あなたのS3の資格情報はあなたのサーバーに保存され、あなたのサイトを使っている誰もが無制限に送信されることはありません。
S3またはアマゾンサービスで実行されているjavascriptに情報を渡すことはありますか?ポイント2に関しては、S3からjavascriptを提供できますか? – WooHoo
Javascriptは一般にクライアント側の言語です。ネイティブのデータベース機能はないので、MySQLと話すために(たとえば)使用することはできませんでした。私はそれが役立つことができると確信していますが、私はS3についてはあまり知らないので、確かにいずれかの方法を言うことはできません。 –
私は具体的にS3について質問しているかもしれませんが、おそらく誰か他の人がチップインすることができます。乾杯 – WooHoo
クライアント側のコードを経由してS3にアクセスしようとするとさまざまな問題があります。
- 資格情報をセキュリティで保護する方法はありません。
- 多くの回答はJSONの代わりにXMLであり、JavaScriptのXML解析エンジンは重くて遅いです。
- 要求を認証するには、HMAC-SHA1のJavaScript実装が必要です。
- プロキシを経由せずにJavaScriptからクロスドメイン要求を行う際に問題があります。
オールインワンでは、現時点ではクライアントサイドJavaScriptの実現可能なソリューションはありません。サーバー側のJavaScriptに興味があるなら、Node.js用にGitHubに浮かぶS3クラスがいくつかあります。
Skylerに感謝 - 私は徐々にS3についてもう少し理解し始めています。現時点では、顧客は自分のページ内のスクリプトリファレンスをS3上のjsに追加することができます。しかし、私はボタンをクリックしてjsにデータを送ってもらいたいと思っています。私は今、私のWebサイトにWebサービスをセットアップし、jsにそれを呼び出させるのが最善であると考えています。あなたはこれとのクロスドメインの問題を見ることができますか? – WooHoo
私の答えで言及したように、リクエストごとに一意の署名付き署名を作成し、それをS3へのPOSTリクエストに直接含めることで、リクエストを認証する方法があります。サーバー側でシグネチャを生成できるため、クライアント側でHMACを実装する必要がなく、AWSの資格情報は安全なままです。 –
私はこれが古い質問だと知っていますが、同じ問題があり、解決策を見つけたと思います。 S3にはREST interfaceがあり、AWS秘密鍵を公開することなく直接データをPOSTできます。したがって、JavascriptまたはjQueryを使用してS3バケットエンドポイントにAJAX POSTリクエストを作成できます。リクエスト内でアクセスポリシーを指定することもできます。これにより、特定のバケットおよび特定のディレクトリのみへのアップロードアクセスが制限されます。
Amazonは、リクエストで提供されたHMAC署名を使用して、リクエストの真正性を検証します。署名は、あなたとAmazonだけが知っているリクエストとAWS秘密鍵の詳細を使用して作成されるため、署名が有効な人がいなければ不正なリクエストを行うことはできません。
おかげさまで、ありがとうございました。私は、S3からjavascriptウィジェットを提供し、次にeasyxdmを使用して、情報を格納するためのWebサーバーへのクロスドメイン投稿を作成しました。 – WooHoo
はたぶんノードを見ています。JS、およびによりAWS-SDKパッケージを試してみてください。私はS3にファイルをアップロードする方法について見つけブログやドキュメントがあります
npm install aws-sdk
:
- 1. Visual Studioを使用してS3にデータを保存します。
- 2. JavaScriptまたはjQueryを使用してページにまたがってデータを保存する
- 3. PHPを使用しないJavascriptまたはjQueryを使用してファイルをソースディレクトリに保存しますか?
- 4. javascript/jqueryとphpを使用してメディアエディタからデータを保存する方法
- 5. javascriptとjqueryを使用して状態を保存する
- 6. CollectionFSを使用してS3にファイルを保存する
- 7. JavaScriptを使用してHTMLテーブルからデータを保存する
- 8. j3を使用してs3に保存するアップロードケア
- 9. コードビハインド(ポストバック)とWebサービスを使用したJquery(データ保存用)
- 10. ajax jqueryを使用してテーブルのデータを保存するには
- 11. S3を使用してモバイルアプリケーションから画像を保存する
- 12. S3を使用してアプリケーション構成ファイルを保存する
- 13. javascriptを使用してブラウザにクッキーを保存するには
- 14. NodeJS(またはPHP)を使用してJSONファイルにAPIデータを保存する
- 15. pyMongoを使用してmongodbに保存されたデータをmongodbに保存
- 16. javascriptを使用したブラウザの保存
- 17. GraphQLを使用してDraft.jsデータを保存するには
- 18. Javascriptファイルシステムにデータを保存する(ユーザープロンプトを使用)
- 19. jsonを使用してsharedpreferencesにデータを保存します
- 20. beautifulsoupを使用してデータを個別に保存します
- 21. Djangoフォームを使用してデータをデータベースに保存します
- 22. jQueryまたはPHPを使用して3分ごとにデータを非同期で保存する方法
- 23. MEANを使用してデータを保存
- 24. HTMLとJavaScriptを使用してmysqlデータベースにデータを保存できません
- 25. PHPレスポンスを使用してデータを保存/使用する
- 26. Javascriptを使用してICalendarとしてイベントを保存する
- 27. KeyStoreにデータを保存し、キーチェーンを使用してデータを取得します
- 28. JavaScriptのみを使用してキャンバスイメージをサーバーに保存する
- 29. jqueryを使用してjavascriptオブジェクトを保存し、データベースからIDを渡す
- 30. PHPまたはJavaScriptを使用して[名前を付けて保存]ダイアログ
が答えてくれてありがとう私Amazon Webサービスを使ってデータを保存するルートを辿るつもりです。今、それは私の最高の賭けに見えます。歓声 – WooHoo