私たちのAPIへの不正アクセスを防ぐために、どうすればよいですか?公開サイトから公開されているHMAC API?
背景
次の図は、認証された消費者に商業的に機密データを返す私たちが実装しようとしているマイクロサイト、および(いくつかの目的のために)私たちが提供しているHMACのAPIを示しています。矢印は、意図された(緑色)および意図しない(赤色)通信を表す。
HMACのAPIは、アドレス自動補完するためのものです。マイクロサイトのログインはありません。ページにはアドレス入力があります。オートコンプリートを有効にするには、各キーストロークの後にAJAX GETをコントローラに呼び出します。各AJAX GET呼び出しに対して、コントローラはHMACを構築し、HMAC APIに対して要求を行います。
問題
私は現在、AJAXのGETメソッドの消費を防止することは何も見ることができません。
考慮事項
私がきたAnitForgeryTokensは、GETメソッドで有用ではないですが、readあなたはPOSTにそれを回すことにより、この問題を回避できること。これは少し醜いと思うが、これはマイクロサイト(1か月後に私たちはそれを投げ捨てている)なので、私は醜いセキュリティーを覚えようとしている。
それから7年、それはまだ最高の方法ですか?
@Amy、私はページ認証がないのでAJAX呼び出しが認証されるとは思えません。しかし、多分私は何かを欠いている? – OutstandingBill
@Amy、トークンをページに埋め込む必要はありませんか?それで盗まれる可能性がありますか? – OutstandingBill
@Amy - cookie/embeddedは、攻撃者が自分のページをリクエストしてトークンを取得し、意図しないリクエストで添付/埋め込むことができるため、違いはありません。 – OutstandingBill