1

Heroku アプリで Cloudmailin を使用しています

CloudMailin を使用すると、HTTP POST 要求を介して Web アプリで受信メール メッセージを受信できます

私の場合、Cloudmailin はメールを受信して​​ POST するように設定されていますmyapp.heroku.com/incoming_url

誰でも仲介者をスキップして POST に/incoming_url送信し、アプリが電子メールを受信したかのように動作するように刺激できることに注意してください。私のアプリは結果的にメールを送信するので、スパム送信に悪用されるのではないかと心配しています。

Cloudmailin (または私) からの HTTP 要求が本物であることをアプリに認証させたいと思います。おそらく、Cloudmailin は何らかの形で (HTTP ヘッダーまたはクエリ文字列で) HTTP リクエストに署名することができます。

4

1 に答える 1

4

CloudMailin には、これを実現するための 2 つの方法が用意されています。

  • ハッシュ (廃止され、元の形式のみ)
  • HTTPS および基本認証 (新しい推奨アプローチ)。

CloudMailin で元の形式を使用している場合は、ハッシュ メカニズムを介して署名されます。CloudMailin は、CloudMailin HTTP Post 経由で送信されるすべてのフィールドをハッシュするために使用される秘密鍵をユーザーと共有します。そうすれば、メッセージが実際に CloudMailin からのものであることを検証できます。このハッシュの詳細については、こちらを参照してください

ただし、最近の形式では、HTTPS と基本認証の使用が推奨されたため、これは廃止されました。ハッシュ アルゴリズムは少し複雑で、セットアップが複雑になる場合があります。そのため、ユーザーは HTTPS 経由でサイトにリクエストを送信し、基本認証をパスすることが推奨されました。次に、次のようなものを使用できます。

https://username:password@yourdomain.com/target

メールを投稿する場所として。CloudMailin とサイトだけがユーザー名とパスワードを知っているため、この種の攻撃を拒否できます。また、メッセージ転送を暗号化して、誰も情報を盗み見ることができないという利点もあります。

于 2012-08-24T08:23:11.023 に答える