extranet (mysql)database benaderen via ...

Pagina: 1
Acties:

  • Erikie
  • Registratie: September 2000
  • Laatst online: 31-08 10:57

Erikie

www.erikie.nl

Topicstarter
Ik ben op een raar idee gekomen (of niet natuurlijk)..

Ik ben een intranet aan het bouwen voor een architecten bureau. T stelt niet zoveel voor, het bestaat tot nu toe uit een gedeelde agenda, en een relatie beheer. Dit gaat gewoon intern via een apache webserver, mysql en PHP..

Nu is mijn baas zo enthousiast geworden, dat ie t als extranet wil gebruiken.. (dus ook voor externe bureau's). Dit kan met de huidige techniek (php&mysql) door de webserver gewoon online te gooien.. (via vaste verbinding, of een webserver bij vuurwerk ofzo). Alleen :

Is het niet veel veiliger en handiger om een stand alone programma te schrijven voor zoeits.. Dat ik bijvoorbeeld met c++ en mysql++ een tool schrijf, die als je die opstart, connect met de database online?! Ik heb een paar tutorials gelezen en bekeken via mysql.com en het zag er redelijk ingewikkeld uit.

Of is dit een beetje overdreven?! Ik zie nl wel nadelen er aan vast kleven, want wanneer een nieuwe update is van het programma, dan moet ie gelijk helemaal gedownload worden.

De voordelen die ik eruit kan halen is dat het programma stand-alone draait, dus de webserver amper belast (alleen queries), en dat je het qua ontwerp er gelikt uit kan zien.

Is dit een zware ingreep? Ik heb enig basiskennis van c++ op console (win32 console app) niveau. Aan windows toepassingen ben ik nog nooit begonnen eigenlijk (MFC). Is dit te doen, of spoel ik dan alleen mijn tijd door de toilet?!

traktor scratch!


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Het is iig niet veel veiliger. Je moet namelijk je database van buiten af toegankelijk maken. Iemand met een beetje verstand kan zo je c++ tool uit elkaar pluizen en achterhalen wat het wachtwoord van je DB is. Op dat moment zou diegene dus allemaal vervelende dingen uit kunnen voeren. Hou het gewoon bij de php/mysql oplossing. Op die manier is de DB afschermen een stuk makkelijker.

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


  • Erikie
  • Registratie: September 2000
  • Laatst online: 31-08 10:57

Erikie

www.erikie.nl

Topicstarter
hmm. ik dacht dus juist, het is gecompiled, dus je kunt er geen moer mee..!! of zit ik er nou naast :7?!

traktor scratch!


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Nou, met decompilen of het afluisteren van het verkeer is heel simpel te achterhalen wat het wachtwoord zou zijn. Als je het gewoon als string in je programma zet hoef je neit eens te decompilen, want dan staat het er gewoon in. De PHP oplossing is nog steeds de veiligste. Daarnaast kan ik me herinneren dat een tijdje terug in WG een discussie over precies dit onderwerp is geweest (webbased vs clientside app). Ik zal ff zoeken.

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


  • Erikie
  • Registratie: September 2000
  • Laatst online: 31-08 10:57

Erikie

www.erikie.nl

Topicstarter
hmm jammer.. want ik wil eigenlijk een browser onafhankelijk programma maken.. Maar als dat niet veilig lukt, dan moet ik wel op browser niveau doorgaan.. en qua afluisteren, dat kan bij php ook gebeuren dan..

traktor scratch!


Verwijderd

Anders ze de webserver op poort '666' :)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Erikie schreef op 26 augustus 2002 @ 10:06:
hmm jammer.. want ik wil eigenlijk een browser onafhankelijk programma maken.. Maar als dat niet veilig lukt, dan moet ik wel op browser niveau doorgaan.. en qua afluisteren, dat kan bij php ook gebeuren dan..

Dat klopt, maar dan luister je alleen het HTTP verkeer af, en niet het verkeer tussen applicatie en DB. Stel je hebt een wachtwoord oid te pakken, dan kun je nog steeds alleen de acties uitvoeren die je zelf in php hebt geimplementeerd. Waneer je toegang tot de DB gekregen hebt kun je je eigen queries hierop loslaten. Je hoeft geen 'raketgeleerde' te zijn om in te zien dat daarmee veel meer schade mee te veroorzaken is :)..

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


  • xoror
  • Registratie: November 1999
  • Niet online
je kan verbinding naar db bijv tunnelen met ssh of via ssl connecten (kweet niet 100% of mysql het kan, versie 4 kan het geloof ik wel).

Mitsubishi Warmtepomp Uitlezen / Besturen | Optimaliseren


  • Erikie
  • Registratie: September 2000
  • Laatst online: 31-08 10:57

Erikie

www.erikie.nl

Topicstarter
ah.. Het is natuurlijk wel zo dat je vanuit de applicatie de wachtwoord / inloggegevens handmatig moet intikken vooordat je daadwerkelijk gaat connecten met de dbase. Op 1 of andere manier zou je dat toch moeten kunnen encrypten?! want hoe doet met dat bijvoorbeeld bij rabo-telebankieren (offline editie). Dat moet toch ook wel veilig zijn?! tenminste, daar heb je zo'n pasje voor, maar zo dramatisch moet het ook weer niet worden. En op zich kan ik gewoon een of ander vaag poort nemen waar ze zonder aanwijzing niet aan kunnen komen?!

En is het dan mischien handig om alle queries niet in het programma op te nemen, maar deze zelf in de dbase te zetten en dan toch serverside uit te voeren?! Dus, applicatie zegt : voer query 12 uit voor deze opdracht. (dan kun je iedergeval online/centraal die queries veranderen).

Maar ik snap t probleem wel, de veiligheid ! Ik moet me daar toch maar eens in verdiepen, hoe die data-transfers psies werken, en hoe via ssl / ssh..

traktor scratch!

Pagina: 1