2011-08-04 6 views
0

私たちが別の開発者と私自身が取り組んでいるプロジェクトで試している状況/ASP.net MVCを使用してDrupalからPOSTを処理する際の安全性

私たちは、私たちが追加している新しいフォームを含むDrupalベースの公式Webサイトを持っています。ただし、提出されたデータをSQL Serverデータベースの1つに保存したいと考えています。私たちは現在、さまざまなソリューションを試していますが、実験しているのは、別のサーバー上のMVCアプリケーション/コントローラへのDrupalフォームのPOSTです。フォーム自体はMVCに直接ポストされていませんが、投稿された情報はDrupal/PHPモジュールでサーバー側で処理され、内部ネットワークを通じて2番目のポストを行います。

私たちが知る限り、それは魅力のように機能します。 MVCからSQLへのSSLトンネリング(多分PHPからMVCへのトンネリング)だけでなく、いくつかのリクエストの検証(特定のIPアドレス/サーバのみがMVCアプリケーションに投稿できるようにする)を行います。しかし、私は他のものが欠けていないことを確認したい。他の誰かが似たようなことをしています私たちはもう一度ASP.net Webサービス、SOAP、JSONなどに落ち着きましたが、これは面白い実験を提供すると考えていました。セットアップが簡単で、2つのシステムが別のしかし、それが十分に安全でない場合、我々はそれを使用することはできません。

+0

Drupalモジュールで直接ポストを扱わないのはなぜですか?また、ASP MVCサーバーへのアクセスを制限してセキュリティをどのように獲得しているのかわかりません... Drupalモジュールはゲートウェイとして機能し、パブリックIPをポストすることはできませんか? – dotjoe

+0

ASP.net MVCコントローラは一般公開されないため、ポスト自体を隠そうとしています。サーバーサイド(HTMLフォームの代わりにDrupal/PHPからMVCに)をポストすることで、クライアントからのすべてを隠すことができると期待しています。実際に2番目の投稿がサーバーサイドで行われ、その後MVCに送信されるとき、HTMLフォームはそれ自身に投稿していると言うでしょう。 MVCアプリケーションでは、その間にファイアウォールがあり、DrupalアプリとMVC間の接続のみが許可されます。 –

+0

保護しようとしていることを理解できません。あなたはDrupalサーバーに接続させるだけですが、すべてのDrupalサーバーは投稿を転送するので、誰もがDrupalサーバーに投稿し、間接的にAspサーバーに投稿することができます。 – dotjoe

答えて

1

純粋なB2Bセキュリティの観点からは、それはかなり安定しているようです。特定のIPへの着信接続を制限するファイアウォールがあるので、IPスプーフィングには至らず、攻撃元はかなり限られています。

あなたのMVCアプリケーションはDBへの安全なSSLベースのトンネルを持っているので、トランスポート層の一部は見た目がよくなりますが、PHPからMVCへの部分はTLSでも可能です。

私は、PHPとMVCアプリケーションの間に認証が表示されないことを忘れています。上記の措置は良いですが、入ってくるリクエストのアイデンティティをさらに保証するのはいいと思います。

唯一の一般的な唯一の観察は、前に説明したように、Webサービスベースの方法を追求する傾向があることです。アプリを処理する財布アプリの場合、MVCページに直接データを投稿するだけでは理想的ではありません。あなたは確かにそれを純粋な投稿リクエストとして機能させることができますが、代わりにWCFプロジェクトにする傾向があります。

+0

フィードバックをいただき、ありがとうございます。私たちはPOSTリクエストを放棄し、より伝統的なWebサービス/ WCFアプローチを試みます.POSTメソッドは期待どおりに機能していませんでした(ポストしていましたが、ウェブサービスを使用することは、道路の柔軟性が増していたようです。) –

関連する問題