Background
I need remote access from my Delphi PC application to a MySQL database hosted on a shared server at my ISP. This DB is not associated with any web site. All there is on my ISP account is the database.
My application runs on half a dozen user's machines in their own homes. To give my users access I have then to set up remote hosts in cpanel. Some of the users have dynamic IP addresses. Because their IP address might change, I've written code in my application using IdHTTP that takes the user's IP, logs onto my ISP, navigates to the remote hosts page, checks if that IP is there, adds it if not and then deletes that last IP address that user used. Works, but rather complicated.
I know I could put the wildcard %.%.%.% in the remote hosts and make life simpler
Question
Some posts say this is insecure and I can appreciate that but is it that insecure?
After all, anyone trying to hack my database has to
know my user name and password for the ISP account
know there is a database there
know the name of the database
know the user name and password of one of the allowed database users
If they know all that lot then the limiting IP address seems rather work for nothing.
Further info
I have already read these posts here, here, here and here and would point out that this is a shared hosting site so I can't get to system files or restart MySql or issue most admin commands such as GRANT ALL ON etc
The reason for my question is that the ISP recently changed their cpanel software from Paper_Lantern to Jupiter, which of course changed the URL of the remote hosts page, broke my application and required me to fix the code to point to the new URL. So I am looking for a way to do this without needing to navigate to the remote hosts page.
'%'
for the whole internet, but at least narrow it down to each user's ISP. Even if their IP address is dynamic, it should be within the subnet owned by their ISP, so you could grant access from a pattern like'123.45.%'
(that's just an example), and that would block most of the internet, but allow any client from that user's ISP.