Connecting to database from diff location

Stel hier je vragen met betrekking tot PHP, MySQL, HTML, CSS en JavaScript.
Forumregels
Check eerst even onze handleiding (http://help.antagonist.nl/) voordat je hier je vraag stelt. Voor de meeste problemen hebben we een oplossing met een zeer uitgebreide uitleg.
Plaats reactie
shawndours
Berichten: 2
Lid geworden op: 20 mei 2017, 08:13

Connecting to database from diff location

Bericht door shawndours » 01 apr 2018, 18:31

Hallo
I probeer, met javascript, my script te verbinden met de database die ik heb voor mijn website.
Access denied for user 'shawndours_pls'@'************' (using password: YES)
var con = mysql.createConnection({
host: "shawndours.com",
user: "shawndours_pls",
password: "********",
database: "shawndours_aca"
});

Alvast bedankt
groeten

Reno
Berichten: 91
Lid geworden op: 22 jan 2010, 18:25

Re: Connecting to database from diff location

Bericht door Reno » 02 apr 2018, 12:24

Goedemiddag,

Als ik je goed begrijp heb je een javascript op een website die een directe verbinding naar een database opent. Zoja, dan kun je verder lezen ;-)

Dit komt omdat JavaScript een client-side language is. Dat houdt in dat het vanuit de client (jouw computer) uitgevoerd wordt.
Vanuit veiligheidsoverwegingen is de mysql-database van Antagonist alleen vanuit de localhost te bereiken. Je zal dus voor elke client die het script mag/kan benaderen het IP-adres moeten toevoegen als geauthoriseerd gebruiker in DirectAdmin.

Dit zou moeten werken, hoewel ik je dit ten strengste zou afraden omdat je je username EN wachtwoord gewoon blanco aan de user meegeeft. Iedereen die het script bekijkt, ziet het wachtwoord en kan in je database rondkijken. Dit zou je echt niet moeten willen..

Een database verbinding wordt daarom altijd in de backend aangeroepen, en nooit via een programmeertaal als javascript.

Hopelijk is het een beetje duidelijk, succes met je project!

Groeten,
Reno

Gebruikersavatar
Joris de Leeuw
Antagonist staff
Berichten: 915
Lid geworden op: 13 feb 2016, 20:15

Re: Connecting to database from diff location

Bericht door Joris de Leeuw » 03 apr 2018, 07:40

Hallo shawndours,

Wat Reno zegt klopt inderdaad en is ten zeerste af te raden. Derden kunnen dan direct in de Javascript je gebruikersnaam en wachtword uitlezen in de webbrowser.

In plaats daarvan is het aan te raden een tussenlaag te gebruiken. Bijvoorbeeld door je JavaScript JSON requests te sturen naar een PHP-script. Na validatie kan het PHP-script de acties dan uitvoeren op de database. Zo voorkom je dat een derden zomaar ongewenste acties op je database uitvoert of zelfs alle gegevens uitleest.

Mocht je toch wensen dat een derden kan verbinden met je database kan je specifiek het IP-adres van het externe apparaat toestaan:
- https://www.antagonist.nl/help/nl/webho ... base#hosts

Hopende dat deze toelichting je verder op weg kan helpen.
Met vriendelijke groet,

Joris de Leeuw
Antagonist staff

Plaats reactie