[MYSQL & .NET]Hoe kan je app laten connecten over internet?

Pagina: 1
Acties:

  • mistercash
  • Registratie: Juli 2004
  • Laatst online: 19-04 07:40
Wel,

Ik ben u een app aant ontwikkelen om mijn vb kennis samen met .Net te combineren.
Nu kan ik connecten op de database als de host en user in mysql administration zijn toegevoegd.

Nu vraag ik mij af hoe doen ze dit als ze vb duizenden users willen laten connecten op de database over internet. Je kunt toch moeilijk elke keer hun pc naam gaan toevoegen of ip.

Is er niet iets om dit niet moeten te doen vb één vaste gebruiker die altijd mag connecten zonder hij aan een bepaalde host is gekoppeld ofzo allé ik weet niet hoe ze dit zouden oplossen.

Misschien dat iemand mij kan helpen hiermee

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 04-05 14:55

Janoz

Moderator Devschuur®

!litemod

Tja, volgens mij staat in de handleiding van mysql duidelijk dat je * kunt invullen in plaats van de hostname. Of het een goed idee is om een programma te distribueren met daarin inloggegevens waarmee contact kan worden gemaakt met de database is een heel ander verhaal. Binnen enkele weken zul je een grapjas hebben die rechtstreeks verbind en even een ((drop table|db)|delete from table) commando uitvoert.

Handiger is om op de server een applicatie te bouwen en vervolgens via een webservice de communicatie te doen. Op dat moment kun je enkel die acties uitvoeren die je implementeerd in de webservice.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • mistercash
  • Registratie: Juli 2004
  • Laatst online: 19-04 07:40
Als er een applicatie ontwikkeld wordt er iets voozien op de server voor de connectie te maken.

Weet er iemand hoe je dit best kunt zoeken op inet om dit te doen. Ik weet namelijk niet welke trefwoorden ik moet gebruiken om dit te vinden. webservice mss?

Op het antwoord van janoz je kunt toch restricties opzetten van wat een bepaalde gebruiker kan doen en dit per database.
Zo kun je die drop table en drop databases toch vermijden of is dit onzinnig.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Lees nu nog eens rustig wat Janoz zegt: vul een * in voor de hostname van een user en het maakt niet uit waarvandaan deze een connectie maakt. Dit staat overigens prima uitgelegd in de MySQL handleiding!
Ook het zetten van de rechten e.d. staat hier prima in uitgelegd zodat je inderdaad een user kan aanmaken die alleen een SELECT kan doen op een bepaalde tabel.

Je zou ook een webservice kunnen maken die je dan vanuit je app gaat aanspreken. Maar ook daar is het 1 en ander goed over te vinden.

Ik zou zeggen: ga gewoon eens aan de slag. Probeer het eens uit en als je dan tegen een probleem aan loopt waar je echt niet uit komt, vraag het hier :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 04-05 14:55

Janoz

Moderator Devschuur®

!litemod

je kunt toch restricties opzetten van wat een bepaalde gebruiker kan doen en dit per database.
Ik weet niet wat voor acties je applicatie allemaal uit moet gaan voeren, maar wanner er bewerkingen op de data gedaan zouden kunnen worden en die algemene gebruiker update rechten nodig heeft is dat al genoeg om alle gegevens aan te kunnen passen en eventueel onbruikbaar te kunnen maken. Wat ik gewoon wil zeggen is dat de bewerkingen die de gebruiker zou kunnen doen niet meer door de applicatie wordt beperkt wat voor een potentieel security probleem zorgt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Creepy schreef op donderdag 26 mei 2005 @ 22:37:
Lees nu nog eens rustig wat Janoz zegt: vul een * in voor de hostname van een user en het maakt niet uit waarvandaan deze een connectie maakt. Dit staat overigens prima uitgelegd in de MySQL handleiding!
Maak daar maar % van http://dev.mysql.com/doc/mysql/en/connection-access.html

  • Vaudtje
  • Registratie: April 2002
  • Niet online
Enkele zoektermen om je wat meer te verdiepen in architecturen van applicaties met centrale gegevensopslag:
Fat-client vs. thin client lijken me het belangrijkste.
Bij een fat client draait er een applicatie op de PC van de gebruiker. Om bij de centrale gegevens te komen maakt de applicatie een verbinding met de database en voert direct de gegevensbewerkingen uit.
Dit komt overeen met de architectuur van een lokale applicatie op een lokale database (standaard VB op een lokale MySQLDB, bijvoorbeeld). De applicatie doet alle berekeningen en besluit hoe en wat te veranderen aan de gegevens.
Wat jij wil lijkt te duiden op de wens een Fat client applicatie op te zetten. Via het internet komt dat niet zoveel voor, maar je zou dan inderdaad de aanpak van het (ex) rood voor mij moeten overnemen.
De praktijk wijst uit dat je dan binnen korte tijd geen database en waarschijnlijk ook geen andere applicaties meer op je PC hebt staan volgens mij >:)

De meeste huidige applicaties zijn echter thin client applicaties, specifiek web applicaties.
Op de server draait naast de database nog een programma ((web) applicatie server), dat de eigenlijke logica van de applicatie bijhoudt en uitvoert.
Je regelt je database zo in, dat alleen die applicatie server, intern in de machine, met de database mag 'praten'. Vervolgens gaat de applicatie server verbindingen aan met de client.
Applicatie servers zijn beter in staat het contact met de client op een veilige manier bij te houden, bovendien stellen ze de client in staat om op een andere manier dan met database taal te communiceren. Bijvoorbeeld met HTML.

In het geval van een web applicatie is de client applicatie je browser. GoT is een voorbeeld van zo'n webapplicatie :) .
In Microsoft land bouw je zo'n web applicatie met ASP(.NET), alternatieven zijn PHP, CGI en de rest van de Apache mods, en Java in de J2EE variant.

Web services is denk ik een minder goede zoekterm, dat wordt te pas en te onpas gebruikt, maar is volgens mij vooral een beschrijving van webapplicaties die met andere webapplicaties praten...
</rant>

In deeze zin staan drie fauten


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:15
De meeste huidige applicaties zijn echter thin client applicaties, specifiek web applicaties.
Op de server draait naast de database nog een programma ((web) applicatie server), dat de eigenlijke logica van de applicatie bijhoudt en uitvoert.
In het geval van een web applicatie is de client applicatie je browser. GoT is een voorbeeld van zo'n webapplicatie :) .
Ik heb een thin client die ook een web-applicatie is en geen browser nodig heeft. :)
Web services is denk ik een minder goede zoekterm, dat wordt te pas en te onpas gebruikt, maar is volgens mij vooral een beschrijving van webapplicaties die met andere webapplicaties praten...
Da's niet waar. Ik heb een windows-applicatie die met een web-service praat.
Een web-service is een soort van 'web-applicatie'. Die service biedt je een dienst aan, en je kan met je applicatie (web-applicatie, windows-applicatie, ...) met die service verbinden om die dienst te verkrijgen.

https://fgheysels.github.io/


  • mistercash
  • Registratie: Juli 2004
  • Laatst online: 19-04 07:40
Dus eigenlijk zo van die applicaties die over internet gaan, neem nu vb een voorraadsysteem dat draait op een server en applicaties over verschillende locaties die er connectie mee maken gebeurt dan via een app dat op die server loopt en dan eigenlijk de tussenpersoon is tussen mysql database en de applicatie die de data toont aan de gebruiker.

Wordt dit ook gedaan als het voor intern gebruik dient? of alleen voor over internet gebruik.

Wat ik eigenlijk niet goed begrijp van die veiligheid om updates te doen en dergelijke is.
Als die applicatie nu zo gemaakt is dat er updates kunnen gedaan worden. Dan kan dit toch alleen maar in de applicatie zelf. En die usernames en passwords om te connecten worden toch mee gecompiled. Ik dacht dat eenmaal gecompiled je hier niets zou van kunnen zien.

Of is dit af te luisteren door vb een snif sessie te starten als je de applicatie start en updates en dergelijke doet?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 04-05 14:55

Janoz

Moderator Devschuur®

!litemod

En die usernames en passwords om te connecten worden toch mee gecompiled. Ik dacht dat eenmaal gecompiled je hier niets zou van kunnen zien.
Hier kun je niet vanuit gaan. Die client draait in een niet door jou gecontroleerde omgeving. Zelfs al draait hij daar niet, je bent nog steeds belangrijke gegevens onnodig aan het distribueren. Als jou programma de inloggegevens kan achterhalen kan een gebruiker dat ook. Er hoeft eventueel niet eens een sniffer gestart te worden. Vaak is een decompiler al meer dan genoeg.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

wheh.
Je trapt er vast niet in als ik zeg dat dat een test was om ervoor te zorgen dat iemand echt de docs gaat lezen ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-05 14:03

curry684

left part of the evil twins

Janoz schreef op vrijdag 27 mei 2005 @ 10:33:
[...]

Hier kun je niet vanuit gaan. Die client draait in een niet door jou gecontroleerde omgeving. Zelfs al draait hij daar niet, je bent nog steeds belangrijke gegevens onnodig aan het distribueren. Als jou programma de inloggegevens kan achterhalen kan een gebruiker dat ook. Er hoeft eventueel niet eens een sniffer gestart te worden. Vaak is een decompiler al meer dan genoeg.
Je kunt een executable gewoon in notepad openen, dan heb je ook al snel alle literal strings te pakken.

Professionele website nodig?


  • Vaudtje
  • Registratie: April 2002
  • Niet online
Het was inderdaad wachten op de eerste post van iemand die gaten in mijn verhaal ging schieten :P
Daarom bij deze nog de waarschuwing dat wat ik eerder schreef inderdaad een (grove) generalisatie is, waarbij ik met enige voorbeelden in ieder geval wat inzicht in mogelijkheden voor server-client applicatie architectuur probeerde te belichten.
Ik ben blij dat ik de discussie "wat is een portal" niet hoef te voeren :D
Kan ik het toch niet laten om even half-offtopic te reageren op whoami:
whoami schreef op vrijdag 27 mei 2005 @ 00:14:
Ik heb een thin client die ook een web-applicatie is en geen browser nodig heeft. :)
Al je onder web-applicatie een thin client app verstaat die het WWW protocol praat, is het enige wat ik me daarbij kan voorstellen een screen scraper :? . Maar ik zie vast wat over het hoofd.
Da's niet waar. Ik heb een windows-applicatie die met een web-service praat.
Een web-service is een soort van 'web-applicatie'. Die service biedt je een dienst aan, en je kan met je applicatie (web-applicatie, windows-applicatie, ...) met die service verbinden om die dienst te verkrijgen.
Klopt helemaal, goed voorbeeld daarvan zijn bijvoorbeeld weather plugins op je desktop of geintegreerd in je browser. Ik hoop dat echter wel duidelijk is dat er een verschil is tussen een webapplicatie en een webservice. (Waarbij TS volgens mij dus naar de eerste vroeg)

[ Voor 4% gewijzigd door Vaudtje op 27-05-2005 14:02 ]

In deeze zin staan drie fauten


  • mistercash
  • Registratie: Juli 2004
  • Laatst online: 19-04 07:40
Wat ik niet begrijp dan is waarom er dan zoveel artikels zelf op de site van mysql zelf over .net developing zijn waar er direct met mysql database via het app gepraat wordt.
door gebruik van die .net connector.
Dan zouden zij daar toch ook iets over laten vallen dat dit niet veilig is.

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:15
Vaudtje schreef op vrijdag 27 mei 2005 @ 14:01:


Kan ik het toch niet laten om even half-offtopic te reageren op whoami:

[...]

Al je onder web-applicatie een thin client app verstaat die het WWW protocol praat, is het enige wat ik me daarbij kan voorstellen een screen scraper :? . Maar ik zie vast wat over het hoofd.
Ik heb niet gezegd dat mijn applicatie met het 'www' protocol praat.
Mijn applicatie is een server die in IIS gehost is (een webservice bv), en mijn windows applicatie (client) praat gewoon met die 'serverapp'.

https://fgheysels.github.io/


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

mistercash schreef op zaterdag 28 mei 2005 @ 12:09:
Wat ik niet begrijp dan is waarom er dan zoveel artikels zelf op de site van mysql zelf over .net developing zijn waar er direct met mysql database via het app gepraat wordt.
door gebruik van die .net connector.
Dan zouden zij daar toch ook iets over laten vallen dat dit niet veilig is.
Die webapplicatie moet OOK met de webserver communiceren, en kan ook in een .Net taal (vaak asp.NET) geschreven zijn. Dat is de primaire functie van die connector.
Je kunt een fat client maken, maar de gebrekkige mysql-security mogelijkheden (zijn ze wel aan het verbeteren) maken het moeilijk om je applicatie veilig te maken.

Maargoed, moeilijk betekent meestal niet onmogelijk. Je kunt het doen, maar houd rekening met extra problemen uitdagingen. Wij tweakers gaan daar tenslotte voor... :+

[ Voor 29% gewijzigd door kvdveer op 28-05-2005 13:29 ]

Localhost, sweet localhost

Pagina: 1