Youpai Cloud Storage - Angular.JS 経由でフォーム送信 API を使用できますか?
高洛峰
高洛峰 2017-05-15 16:49:07
0
4
688

既存のビジネスはフロントエンドの Angular.JS シングルページ アプリケーションを完全に使用しており、すべてのリクエストは ajax 経由で送信されます。

今度はクライアント側で Youpaiyun にファイルを直接アップロードしたいと思います。角度ファイルのアップロードを試みましたが、送信された結果は

でした。

400: 受け入れられません、署名がありません

パケット キャプチャにより、ポリシーと署名のフォーム データがまったく送信されていないことがわかりました。
これは私が書いたものです:

リーリー

この github プロジェクトのこれとこの問題を参照しました

どうすればいいですか?

私からも 2 つの質問があります:

  1. 署名を md5 で直接暗号化して書き込むことができますが、この md5 をクライアントに直接書き込んだ場合、セキュリティ上の問題はありますか?
  2. 公式デモはphpで生成されていると思うので、jsのbase64エンコーディングでポリシーを生成できますか?フロントエンドで生成できる場合、この処理をフロントエンドに記述するとセキュリティ上の問題も発生しますか?
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(4)
世界只因有你

この問題を参照しました
署名のセキュリティ問題が解決されていれば、ファイルは正常にアップロードできます。ありがとうございます。

解決策:

  • ヘッダーを削除する
  • formDataAppenderを削除
いいねを押す +0
为情所困

こんにちは、まず次の 2 つの質問に答えさせてください:

  • signature の署名には form_api_secret が含まれているため、フロントエンドに直接記述すると確かにセキュリティ上の問題が発生します。他の人が form_api_secret を取得した場合、自分自身でそれを記述することができます。フォームはファイルをスペースに送信し、トラフィックを使用します。 form_api_secret的,所以若在前端直接写时,确实会存在安全问题:其他人拿到你的form_api_secret,就可以自己编写表单把文件提交到你的空间,并使用你的流量了。

  • policy 能使用 base64 在前端生成。虽然 policy 是 encode 参数内容,不存在安全问题,但因为 $signature = md5($policy.'&'.$form_api_secret);

ポリシーはbase64を使用してフロントエンドで生成できます。ポリシーはエンコード パラメータの内容であり、セキュリティ上の問題はありませんが、$signature = md5($policy.'&'.$form_api_secret); であるため、前述のセキュリティ上の問題が依然として残ります。その上。

🎜 🎜 コードの質問に関しては、@PenaFong が回答するよう招待されています。 🎜
いいねを押す +0
Ty80

署名は必要に応じてバックエンドにリクエストすることで生成され、form_api_secret

はフロントエンドで計算されるときに公開されます。
いいねを押す +0
给我你的怀抱

http://stackoverflow.com/questions/24443246/angularjs-how-to-upload-multipart-form-data-and-a-file
http://uncorkedstudios.com/blog/multipartformdata-file-upload-with -angularjs

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート