2012-02-25 11 views
5

クライアント側でPostgreSQLを使用します。それは可能ですか?私はこのコードを持っていますか?私のクライアント側クライアント側でPostgreSQL(pg)を使用することができます(express/node.js)

 var conString = "postgres://postgres:[email protected]/mydb"; 
    var client = new pg.Client(conString); 
    client.connect(); 
    var query = client.query("SELECT * FROM users ");   
    query.on('row', function(row) { 
      alert(row.name); 
    }); 

私server.jsで

var pg = require('pg'); 

私はこのコードを試みたが、何も起こりませんでした。しかし、私はPostgreSQLに接続し、クライアントスクリプトでクエリを使用するこのようなコードを持つことができます。

+5

これはセキュリティ上の大きなリスクになります。バックエンドでデータを取得してクライアントに渡す必要があります。 – birryree

+0

クライアントまたはサーバー側でエラーが発生しましたか?情報のおかげで –

答えて

5

いいえ、それは(明らかに)不可能です。クライアントがデータベースに直接アクセスできるようにすることは望ましくありません。それ以外にも、クライアント側とサーバー側の両方でJSを使用していても、たとえばJSを使用する場合と何が違うのでしょうか。 PHPまたはPythonをサーバー上に置くことができます。その間の唯一の通信は、AJAXおよび通常のHTTP要求を介して可能です。

+1

ありがとうございます。私はちょうどあなたがクライアントがデータベースを使用できるようにするならば、サイトをハックするのはとても簡単だろうと気づいた。 –

+1

CouchAppsはクライアントがデータベースに直接アクセスできるようにしています。データベースに適切なベリファイを行っていれば安全です。 – Raynos

+2

おそらく誰かが私にこのことが明らかである理由を教えてくれるはずです。また、データベースに認証が必要であると仮定して、クライアントがデータベースに接続することを許可しない理由は何ですか?私には妥当な仮定のようです。 – adamwong246

関連する問題