そのAPIへのajax呼び出しを行うAPIとウェブサイトが同じサーバー(ドメイン)にある場合、そのAPIをどのように保護しますか?通話を行っているウェブサイトと同じドメイン/サーバ上でAPIを保護していますか?
同じサーバーからのリクエストのみを許可します。他のドメインからのリモートリクエストはありません。私はすでにSSLをインストールしていますが、これは私が安全だという意味ですか?
そのAPIへのajax呼び出しを行うAPIとウェブサイトが同じサーバー(ドメイン)にある場合、そのAPIをどのように保護しますか?通話を行っているウェブサイトと同じドメイン/サーバ上でAPIを保護していますか?
同じサーバーからのリクエストのみを許可します。他のドメインからのリモートリクエストはありません。私はすでにSSLをインストールしていますが、これは私が安全だという意味ですか?
私は、あなたが解決するのを助けたいという混乱があると思います。
あなたが "Ajaxの呼び出し"について話しているという事実は、あなたのアプリケーションがあなたのサーバーにリモートリクエストをしているということです。あなたのウェブサイトが同じドメインから提供されたとしても、あなたはリモートリクエストをしています。
私は、同じサーバーからのリクエストのみを許可します。
そこに問題があります。あなたは、サーバーからサーバーへの要求を話すわけではありません。クライアントからサーバーへのリクエスト(Ajax)について話しているので、IP制限は使用できません(サイトにアクセスするすべてのクライアントのIPアドレスがわからない場合)。
Ajaxリクエストの制限は、他のリクエストの制限と異なる必要はありません。権限のないユーザーが「通常の」Webページにアクセスしないようにするにはどうすればよいですか?通常、ユーザーは認証を受け、サーバー上でユーザーセッションを作成し、クライアントからセッションクッキーを渡して、要求ごとに送信します。そのすべてのものがAjaxリクエストに対しても機能します。
APIがインターネット上に公開されている場合、許可されたクライアントのすべてのIPを知っていない限り、他のユーザーがリクエストを試みるのを止めることはできません。したがって、許可されたクライアントからのリモート呼び出しを許可するには、サーバー側の制御を実行する必要があります。
ああ、TLSを正しい位置に配置することは、正しい方向へのステップです。私はいつもTLSなしでできると思う開発者の数に驚いています。しかし、TLSだけでは不十分です。
127.0.0.1またはlocalhostだけを許可するには、同じサーバーからの要求を受け入れる場合はIPアドレスを確認し、apiディレクトリまたはvirtualhost設定ディレクティブに.htaccessを配置します。設定はあなたが持っているウェブサーバーに基づいています。
これは、保護する対象によって異なります。あなたはdisableprotectionそれに措置を講じない限り、これらの訪問者がサイト上
ブラウザwill protect you automaticallyを持っている資格情報を使用して、APIからデータを要求するために彼らの訪問者を取得
サードパーティ。
サードパーティあなたのAPIと訪問者の資格情報
何もアヤックスこれについての具体的なを使用してサイトへの変更を要求するために彼らの訪問者を得ます。 CSRFに対して通常の防御を実装します。ここでも、自分のクライアント
、これについての具体的な何のAjaxを使用してデータを要求
サードパーティ。要求が行われるのを防ぐことはできません。認証/承認(パスワード保護など)が必要です。私はすでにSSLがインストールされている
この平均は私が途中で傍受されるからデータを保護し、安全な
番だん。他の人がデータを要求したり、エンドポイントからアクセスしたりすることはありません。
ローカルホストからの要求のみを要求するか、同じドメインからの要求のみを要求するかを明確にすることはできますか? – stivlo