3

私は neo4j 1.9.4 を使用しており、neo4jphp を使用して (公開) Web サイトにグラフに関する情報を表示したいと考えています。一部のデータを取得するために、neo4jphp 内でサイファー クエリを使用します。これらのクエリは明らかにグラフからデータを読み取るだけです。

Web サイトの訪問者がグラフ内のデータを変更できないようにする必要があります。したがって、認証拡張プラグインをセットアップし、そこに記載されているように2 人のユーザー (1 つは読み取り専用の「RO」アクセス権、もう 1 つは読み取り/書き込みの「RW」アクセス権) を作成しました。ただし、neo4jphp 内の暗号クエリは、RW 権限を持つユーザーに対してのみ機能し、RO 権限を持つユーザーに対しては機能しません。

http://docs.neo4j.org/chunked/stable/security-server.html#_security_in_depthでneo4jを保護する方法がかなり説明されていることは知っていますが、その方法がまったくわかりません。特に「arbitrary_code_execution」のセクションは面白そうですが、どう活用すればいいのかわかりません。

Web サーバーから暗号クエリの読み取りを実行できるようにするにはどうすればよいですか? ところで: Web サーバー (結果を表示するため) と neo4j は別のマシンで実行されています。

助けていただければ幸いです、ありがとう!

編集:私のシナリオは実際にはそれほど複雑ではないので、そのための解決策が必要だと確信しています.localhostからはすべてのアクセス(読み書き)が許可されますが、リモートWebサーバーからのアクセスはグラフからの読み取りに制限されます. どうすればそれを達成できますか?それが不可能な場合: リモート Web サーバーからのアクセスを、ユーザーが一部のパラメーターのみを指定できる事前定義された (サイファー) クエリに制限するにはどうすればよいですか?

4

2 に答える 2

1

別の答えは、Cypher-RS プラグインを使用することです。1.9ブランチがあります。

これにより、本質的に単一の暗号クエリであるエンドポイントを作成できます。(したがって、クエリは事前定義する必要があります)。

mod プロキシを使用して、これらの事前定義されたクエリのみに制限できます。Mod プロキシで GET リクエストのみに制限できるかどうかはわかりませんが、そうであれば、変更クエリを GET リクエストにすることができないため、プラグインの GET リクエストへのアクセスを許可できます。

https://github.com/jexp/cypher-rs

于 2013-11-05T22:01:27.437 に答える