Dzisiaj nie ma bezpiecznego rozwiązania. Jednym z możliwych rozwiązań będzie htsql: http://htsql.org/
Jednak używasz adresów internetowych do zapytania, nawet jeśli https Twoje zapytania będą czystym tekstem!
Powinieneś/powinnaś używać małego serwera WWW do obsługi żądań. Alternatywnie możesz napisać aplikację lub użyć lokalnego serwera postgres do obsługi połączenia (w tym przypadku nadal będziesz potrzebować jakiegoś serwera).
Problem jest bardzo prosty: twoje przeglądarki internetowe mają ograniczone protokoły do komunikowania się z siecią, a postgres nie znajduje się na tej liście. W rzeczywistości nie powinieneś próbować przezwyciężyć tego problemu, korzystanie z architektury serwer-klient jest bardzo dobrym rozwiązaniem. Sformatuj swoją prośbę za pomocą JS, aby była tak mała, jak to możliwe, i niech twoje skrypty serwera internetowego zinterpretują ją w funkcjonalne żądania sql. Odpowiedź może zostać przetworzona na krótszą odpowiedź, a następnie przesłanie danych w formacie sql i musisz ją zinterpretować po swojej stronie. Ponieważ stworzysz interperers ze wszystkich stron, uzyskasz wyższą abstrakcję niż w przypadku bezpośredniego połączenia db, a tym samym niezależność w stosunku do silników backendów, których używasz.
@Kev - nie jestem pewien czy to dobry pomysł.Umieszczanie informacji o połączeniu z bazą danych na serwerze wymaga ochrony tylko jednego komputera, ale jak chronić użytkowników PC, aby NIE zostali przez kogoś przejęci? – ajreal
@ajreal, czy to nie prawda, bez względu na to, ile warstw istnieje? Jeśli masz dobrze zdefiniowane role i uprawnienia do bazy danych, nie powinno to stanowić problemu. (Szczególnie w przypadku aplikacji intranetowej, powiedzmy.) Nie mów mi, że zakładasz strategię jednego superużytkownika-konta ... :) – Kev
@Kev - Nie chodzi o przywileje użytkownika na konto, pomysł prawdopodobnie zachęci do ujawnienia więcej informacji po stronie klienta. Poza tym, zastanawiasz się, w jaki sposób podróż w sieci między bazą klienta-> jest porównywalna do serwera-> bazy danych, potencjalnie baza danych nie może szybciej wydać zasobu? – ajreal