2011-07-10 10 views
3

私はAJAXベースのWebアプリケーションを構築しています。AJAXベースのWebアプリケーションの保護

現在のところ、私のWebアプリケーションサーバーに適切な要求で接続し、Webアプリケーションの結果をユーザーに表示するサーバーサイドプロキシアプリケーションを誰でも作成できる状況にあります。実際にはは盗みます私のアプリケーションどのように私のウェブサイトの訪問者だけがデータを取得できるようにすることができますか?

Facebook APIを使用してFacebookアカウントを持っているユーザーだけが自分のウェブサイトにログインできると思っていました。

この問題に関するその他のヒントはありますか? ajaxベースのWebアプリケーションの保護技術のソースやチュートリアルはありますか?

答えて

2

「AJAXのセキュリティは魔法ではありません。原則として、「通常の」Webアプリケーションにも同じテクニックが適用されます。大部分の人は忘れます。あなたの貴重なAJAXインターフェースに使用しているURLを誰でもブラウザのアドレスバーに入力することができます。このステートメントの要点は、例で最もよく説明されています。

アプリ内に管理セクションがあり、これが完全に安全だとします。しかし、非常に一般的な間違いは、開発者が安全なページが自動的にそれらのページ上のAJAX呼び出しが安全であることを自動的に暗示することを前提とすることです。したがって、彼らはそれらを保護し、無認証のHTTP経由で前後にコールを送信することはありません。

これはあくまでセキュリティで保護されていますが、誰かがインターフェイスを理解したら、AJAXインターフェイスに直接アクセスして管理セクションのセキュリティ対策をスキップしてデータにアクセスするのに適しています。インタフェースを理解することは、それを推測することで簡単に行うことができます。

TLS/SSLは、ページ自体とそれから発行されたすべてのAJAX呼び出しに使用することをお勧めします。次に、何らかの形式の認証が必要です。ステートレス(毎回認証情報を送信しますが、バックエンドで毎回確認する必要があります)またはセッショントークンを確立してステートフルにする必要があります。 OWASPには、このトピックやその他のトピックに関する多くの背景情報があります。

+0

認証の方法についてさらに詳しい情報がある場合は、素晴らしいと思います。 また、ajaxリクエストにSSLを適用することに関する情報はどこで入手できますか? –

+0

興味があれば、この[書籍](http://www.amazon.com/Ajax-Security-Billy-Hoffman/dp/0321491939/ref=sr_1_1?ie=UTF8&qid=1310307447&sr=8-1)を読むことができます。 )。 AJAXのSSLは、サーバー上に証明書/キー(通常はPKCS#12ファイル)を配備し、適切に構成することで、どのページともまったく同じです。次に、httpではなくhttps URLへの呼び出しを行います。これは簡単です。 – emboss

関連する問題