0

私の会社は、システム内の会社のWebサイトをクロールし、ユーザーがそれらの会社を具体的に検索できるようにします。現在、すべての検索ツールにSphinxを使用しています。

私たちの顧客(私たちがインデックスを作成する会社)は、自分のWebサイトに検索機能を追加するために自分のサイトに埋め込むことができる検索ウィジェットを求めています。検索ウィジェットを使用すると、ユーザーはお客様のWebサイトから検索クエリを送信できます。結果はサイトに読み込まれます(この検索機能はすでにサイトで機能しています...埋め込み可能なウィジェットではありません)。最初はこれは簡単に思えましたが、その後、セキュリティとクロスドメインフォームの送信について考え始めました。

検索機能は、次のようなuriのサイトにすでに存在します。 /companies/profile_search/1581/die-cutting

companies私のコントローラーです。profile_search私の方法です。1581検索する会社のIDです。die-cutting検索クエリです。

お客様がコードを切り取ってサイトに貼り付けるだけで、ウィジェットを埋め込むことができるようにしたいと思います。

  1. 検索クエリを上記のURLに転送するだけでよいですか?
  2. いいえの場合、安全になるようにこれをどのように設定すればよいですか?
  3. 私がここで見落としている他の懸念はありますか?

私たちのサイトは、検索にCodeIgniterとSphinxを使用して、主にPHPで構築されています。

4

3 に答える 3

1

CodeIgniterにはCSRF保護が組み込まれています。これは、顧客にサイトに貼り付けるように依頼すると邪魔になる可能性がありformます。

これを行う簡単な方法は、フォームの送信でウィンドウ全体をリロードするために使用して、顧客iframeに貼り付けformてサイトから提供するタグを与えることです。target="_top"

于 2012-06-30T01:41:17.630 に答える
0

このメソッドに対してのみCSRFを無効にすることもできます。プレシステムフックを使用するか、よりハックに次のような条件として使用しconfig.phpます。

 $config['csrf_protection'] = (stripos($_SERVER["REQUEST_URI"],'/controller/method') === FALSE) ? TRUE : FALSE;

CSRFを一時的に無効にする方法の詳細については、こちらをご覧ください

于 2012-06-30T22:48:49.270 に答える
0

クロスドメインリクエストの場合、JSONPを使用できます:http://en.wikipedia.org/wiki/JSONP

于 2012-06-30T22:52:10.230 に答える