2012-02-25 11 views
5

Quiero utilizar PostgreSQL en el lado del cliente. ¿es eso posible? ¿Puedo tener este código?¿Puedo utilizar PostgreSQL (pg) en el lado del cliente (express/node.js)

en mis server.js

var pg = require('pg'); 

en mi lado del cliente

 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); 
    }); 

Probé este código, pero no pasó nada. aunque puedo tener un código similar a este, donde conecto PostgreSQL y uso las consultas en las secuencias de comandos del cliente.

+5

Esto sería un gran riesgo de seguridad. Debería obtener datos en el backend y pasarlos al cliente. – birryree

+0

¿Recibió algún error en el lado del cliente o del servidor? –

Respuesta

5

No, eso es (obviamente) imposible. De todos modos, no le conviene dejar que un cliente acceda directamente a su base de datos. Además de eso, aunque utilice JS tanto en el lado del cliente como del servidor, no es diferente de lo que sucede si usa, p. PHP o Python en el servidor: la única comunicación entre ellos es posible a través de AJAX y solicitudes HTTP regulares.

+1

gracias por la información. Me di cuenta de que sería tan fácil piratear el sitio si permites que el cliente use la base de datos. –

+1

CouchApps hace que los clientes accedan a la base de datos directamente, no es inseguro si tiene una validación decente en su base de datos. – Raynos

+2

Quizás alguien debería aclararme por qué esto es tan obvio. ¿Y por qué nunca permitiría que un cliente se conectara a su base de datos, suponiendo que su base de datos requiere autenticación? Parece una suposición razonable para mí. – adamwong246

Cuestiones relacionadas