W mojej aplikacji interfejs użytkownika robiony jest w Delphi, który za pomocą ZEOSlib łączy się z serwerem MySQL. Nadaję użytkownikom prawa wyłącznie do wykonywania procedur wbudowanych (GRANT EXECUTE ON PROCEDURE), więc baza jest zabezpieczona przed nieuprawnionym odczytem i modyfikacjami. W sieci lokalnej działa wszystko ładnie, ale nadszedł czas pracy poprzez Internet. I tu niemiła niespodzianka - korzystam z hostingu Home.pl, który oferuje w moim pakiecie kilka baz danych, jednak nie ma możliwości ograniczania praw dostępu dla użytkowników. Dostęp do baz jest jedynie z uprawnieniami administratora! Ich dział techniczny nie daje żadnego wsparcia, poza informacją, że tak jest i inaczej nie będzie, ale mogę sobie wykupić dzierżawę serwera i tam będzie wszystko. Oczywiście ze względu na radykalnie wyższe koszty, takie rozwiązanie jest nie do przyjęcia.
Mam więc pytanie do naszych specjalistów, jak obchodzą ten problem?
Przy hostingu WWW działa schemat:
użytkownik ---> serwer PHP --(uprawnienia administratora)-->MySQL
czyli jest warstwa pośrednia, izolująca użytkownika (który nie ma dostępu bezpośrednio do serwera MySQL), gdzie zaszywa się mechanizmy kontroli uprawnień, określające dopuszczalność zapytań do bazy.
Jak jednak to rozwiązać, gdy zapytanie pochodzi od aplikacji w Delphi?
Będę wdzięczny za wskazówki.