Een Java applicatie met database verbinden

Allersma

New member
Hallo,

Ik ben bezig om een Java applicatie met mijn mysql database te verbinden. Dit gaat niet via localhost, maar via de server IP.
Ik krijg bij het verbinden steeds de exception dat de toegang geweigerd is. Ik gebruik deze code om te verbinden met de database:


Codeblok (DBConnect.java):



1
2
3
4
5
6

Connection connection = DriverManager.getConnection (
// host, gebruikersnaam, wachtwoord
"jdbc:mysql://*.*.**.***:3306/allersma_****",
"allersma_****",
"**********"
);





Weet iemand hoe het komt dat de toegang geweigerd is? Ik gebruik als naam en wachtwoord dezelfde naam en wachtwoord als bij phpmyadmin.
 

Keffe

Member
Ik weet verder niks van java maar komt dat niet omdat je geen cross origins mag met phpmyadmin? dus dat je daartoe toegang moet krijgen met je applicatie?
 

Allersma

New member
Keffe (link):
Ik weet verder niks van java maar komt dat niet omdat je geen cross origins mag met phpmyadmin? dus dat je daartoe toegang moet krijgen met je applicatie?

Dat zou kunnen, maar betekent dat de beheerder van one2xs dit zou moeten doen (en ik dat dus niet zelf kan doen)?



Dylan (link):
One2xs host?

Ja
 

Keffe

Member
Allersma (link):

Keffe (link):
Ik weet verder niks van java maar komt dat niet omdat je geen cross origins mag met phpmyadmin? dus dat je daartoe toegang moet krijgen met je applicatie?

Dat zou kunnen, maar betekent dat de beheerder van one2xs dit zou moeten doen (en ik dat dus niet zelf kan doen)?



Dylan (link):
One2xs host?

Ja



daar heb je veel kans op. De server beheerder (in dit geval lennard) zou dit aan moeten zetten. maar je hebt veel kans dat dat niet wordt gedaan omdat dat wegens veiligheids redenen niet slim is.

Misschien kun je het beter aan @lennard vragen
 

Stef

stonks
Ja kan inderdaad geen connectie met de database maken vanuit een ander ip dan de server.

Het is trouwens met Java niet de bedoeling om gebruik te maken van een SQL database tenzij deze sluitend privé gebruikt wordt.
 

Allersma

New member
Oke, bedankt! Ik zal wel aan Lennard vragen wat mogelijk is
wink.gif



Stef (link):
Het is trouwens met Java niet de bedoeling om gebruik te maken van een SQL database tenzij deze sluitend privé gebruikt wordt.

Het is alleen voor privé gebruik om te experimenteren, maar waarom zou het niet anders dan voor privé gebruik gebruikt mogen worden?
 

Stef

stonks
Allersma (link):
Oke, bedankt! Ik zal wel aan Lennard vragen wat mogelijk is
wink.gif



Stef (link):
Het is trouwens met Java niet de bedoeling om gebruik te maken van een SQL database tenzij deze sluitend privé gebruikt wordt.

Het is alleen voor privé gebruik om te experimenteren, maar waarom zou het niet anders dan voor privé gebruik gebruikt mogen worden?



Java doet een request naar de MySQL server en daarbij kan je het IP, naam en wachtwoord onderscheppen.
 

Milan

New member
Stef (link):

Allersma (link):
Oke, bedankt! Ik zal wel aan Lennard vragen wat mogelijk is
wink.gif



Stef (link):
Het is trouwens met Java niet de bedoeling om gebruik te maken van een SQL database tenzij deze sluitend privé gebruikt wordt.

Het is alleen voor privé gebruik om te experimenteren, maar waarom zou het niet anders dan voor privé gebruik gebruikt mogen worden?



Java doet een request naar de MySQL server en daarbij kan je het IP, naam en wachtwoord onderscheppen.



Of je decompiled de .jar en je hebt ook toegang tot de inlog gegevens. Niet veilig dus!
 

Allersma

New member
Ah, ik ben nog nieuw met Java. Had niet verwacht dat .jar zo onveilig was. Had gedacht dat je hooguit een SQL injectie kon uitvoeren.

Thanks for the info!
 

Aarclay

Active member
Een andere oplossing is om met PHP op de one2xs host een API te bouwen, en deze data via je JAVA-applet op te vragen.Dan zit je ook niet met wachtwoorden die je over de lijn meestuurt.
 

Keffe

Member
Aarclay (link):
Een andere oplossing is om met PHP op de one2xs host een API te bouwen, en deze data via je JAVA-applet op te vragen.Dan zit je ook niet met wachtwoorden die je over de lijn meestuurt.


Maar dan zou je alleen informatie kunnen opvragen. mocht je het dan toch willen aanpassen moet je alsnog met wachtwoorden werken en dat is dan weer even onveilig xD
 

Aarclay

Active member
Keffe (link):

Aarclay (link):
Een andere oplossing is om met PHP op de one2xs host een API te bouwen, en deze data via je JAVA-applet op te vragen.Dan zit je ook niet met wachtwoorden die je over de lijn meestuurt.


Maar dan zou je alleen informatie kunnen opvragen.


Hoezo? Je kan ook een CRUD-systeem bouwen in een API om te schrijven, lezen, aan te passen of te verwijderen.

Quote:
Mocht je het dan toch willen aanpassen moet je alsnog met wachtwoorden werken en dat is dan weer even onveilig xD

Er zijn vast wel challenge -of encryptie-systemen om het één en ander te beveiligen. Maar het ligt er aan wie de applet gebruikt.
 

Keffe

Member
Aarclay (link):

Keffe (link):

Aarclay (link):
Een andere oplossing is om met PHP op de one2xs host een API te bouwen, en deze data via je JAVA-applet op te vragen.Dan zit je ook niet met wachtwoorden die je over de lijn meestuurt.


Maar dan zou je alleen informatie kunnen opvragen.


Hoezo? Je kan ook een CRUD-systeem bouwen in een API om te schrijven, lezen, aan te passen of te verwijderen.

Quote:
Mocht je het dan toch willen aanpassen moet je alsnog met wachtwoorden werken en dat is dan weer even onveilig xD

Er zijn vast wel challenge -of encryptie-systemen om het één en ander te beveiligen. Maar het ligt er aan wie de applet gebruikt.



Dat is het hele probleem altijd. Als de code leesbaar wordt voor mensen kunnen ze precies hetzelfde als de applicatie. maakt meestal niet uit hoe je het bouwt omdat de code gewoon een proces uitvoert wat een mens ook uit kan voeren.

En inderdaad als alleen zij het gebruiken prima aangezien zij de code toch weten. of mensen die er niks van snappen laten gebruiken. maar mocht het in de verkeerde handen vallen dan kunnen ze alles in je database doen.

Dus lijkt me nog altijd niet slim.
 

Jeffreyy

Jeffrey
Ga eens naar DirectAdmin -> MySQL Management -> Kies een database -> Voeg je IP toe bij "Access hosts"

Dan zou je moeten kunnen verbinden (of staat dat uit hier?)
 

Aarclay

Active member
Keffe (link):

Aarclay (link):

Keffe (link):

Klik om eerdere quotes te tonen


Aarclay (link):
Een andere oplossing is om met PHP op de one2xs host een API te bouwen, en deze data via je JAVA-applet op te vragen.Dan zit je ook niet met wachtwoorden die je over de lijn meestuurt.






Maar dan zou je alleen informatie kunnen opvragen.


Hoezo? Je kan ook een CRUD-systeem bouwen in een API om te schrijven, lezen, aan te passen of te verwijderen.

Quote:
Mocht je het dan toch willen aanpassen moet je alsnog met wachtwoorden werken en dat is dan weer even onveilig xD

Er zijn vast wel challenge -of encryptie-systemen om het één en ander te beveiligen. Maar het ligt er aan wie de applet gebruikt.



Dat is het hele probleem altijd. Als de code leesbaar wordt voor mensen kunnen ze precies hetzelfde als de applicatie. maakt meestal niet uit hoe je het bouwt omdat de code gewoon een proces uitvoert wat een mens ook uit kan voeren.

En inderdaad als alleen zij het gebruiken prima aangezien zij de code toch weten. of mensen die er niks van snappen laten gebruiken. maar mocht het in de verkeerde handen vallen dan kunnen ze alles in je database doen.

Dus lijkt me nog altijd niet slim.



Je kan met IP-lists werken of iets dergelijks, of zelfs met hostnames van de PC die je ontgetwijfeld met JAVA op kan halen. Niet 100% veilig, maar niets is 100% veilig.
 

Keffe

Member
Aarclay (link):

Keffe (link):

Aarclay (link):

Klik om eerdere quotes te tonen


Keffe (link):

Aarclay (link):
Een andere oplossing is om met PHP op de one2xs host een API te bouwen, en deze data via je JAVA-applet op te vragen.Dan zit je ook niet met wachtwoorden die je over de lijn meestuurt.


Maar dan zou je alleen informatie kunnen opvragen.






Hoezo? Je kan ook een CRUD-systeem bouwen in een API om te schrijven, lezen, aan te passen of te verwijderen.


Klik om eerdere quotes te tonen


Quote:
Mocht je het dan toch willen aanpassen moet je alsnog met wachtwoorden werken en dat is dan weer even onveilig xD





Er zijn vast wel challenge -of encryptie-systemen om het één en ander te beveiligen. Maar het ligt er aan wie de applet gebruikt.



Dat is het hele probleem altijd. Als de code leesbaar wordt voor mensen kunnen ze precies hetzelfde als de applicatie. maakt meestal niet uit hoe je het bouwt omdat de code gewoon een proces uitvoert wat een mens ook uit kan voeren.

En inderdaad als alleen zij het gebruiken prima aangezien zij de code toch weten. of mensen die er niks van snappen laten gebruiken. maar mocht het in de verkeerde handen vallen dan kunnen ze alles in je database doen.

Dus lijkt me nog altijd niet slim.



Je kan met IP-lists werken of iets dergelijks, of zelfs met hostnames van de PC die je ontgetwijfeld met JAVA op kan halen. Niet 100% veilig, maar niets is 100% veilig.



Daarom
yummie.gif
 

Aarclay

Active member
Mja, voor mijn CMS heb ik ook een licentiesysteem gebouwd die op hostnames checkte + een unieke key erbij.

Maar goed, het CMS is nooit echt voor anderen gebruikt
bye.gif
 

Lennard

Active member
Je kunt in DirectAdmin je IP adres toegang geven tot de database, dat zou tegenwoordig weer moeten werken. Maar wachtwoorden in bestanden die je naar anderen stuurt (of dat nu .jar, .apk, .exe of wat dan ook is) zijn altijd te onderscheppen, dus je moet hoe dan ook met een API gaan werken om het veilig te krijgen, zoals men hierboven inderdaad al opmerkte.
 
Bovenaan