Il n'y a pas de solution sécurisée aujourd'hui. Une des solutions possibles serait htsql: http://htsql.org/
Cependant, là vous utilisez des adresses Web pour interroger, même avec https vos requêtes seront en texte clair!
Vous devriez/pourriez utiliser un petit serveur Web pour gérer les demandes. Alternativement, vous pouvez écrire une application, ou utiliser un serveur local postgres pour gérer la connexion (dans ce cas, vous aurez toujours besoin d'un serveur web).
Le problème est très simple: vos webbrowsers sont limités dans les protocoles pour parler au web, et postgres ne figure pas dans cette liste. En fait, vous ne devriez pas essayer de surmonter ce problème, en utilisant une architecture serveur-client est une très bonne solution. Formatez votre requête avec JS pour la rendre aussi petite que possible, et laissez vos scripts serveur web l'interpréter en requêtes sql fonctionnelles. La réponse peut être analysée en une réponse plus courte, puis un transfert de données sql, et vous avez juste besoin de l'interpréter de votre côté. Puisque vous créerez des interperers de tous les côtés, vous obtiendrez une abstraction plus élevée que dans le cas d'une connexion db directe, et donc de l'indépendance vis-à-vis des moteurs dorsaux que vous utilisez.
@Kev - pas tout à fait sûr que c'est une bonne idée.Placer les informations de connexion à la base de données dans le serveur vous oblige à protéger uniquement un seul ordinateur, mais comment protéger les utilisateurs PC ne pas être détourné par quelqu'un? – ajreal
@ajreal, n'est-ce pas vrai, peu importe le nombre de couches? Si vous avez des rôles et des privilèges de base de données bien définis, cela ne devrait pas poser de problème. (Surtout pour une application intranet, disons.) Ne me dites pas que vous assumez la stratégie de compte super-utilisateur unique ... :) – Kev
@Kev - Il ne s'agit pas de privilèges utilisateur par compte, l'idée encourage probablement exposer plus d'informations pour le client. À côté de cela, se demander que le réseau de transport entre client-> base de données est comparable à serveur-> base de données, base de données potentiellement incapable de libérer la ressource plus tôt? – ajreal