[ASP / Access] Controleren of beveiliging database

Pagina: 1
Acties:

  • Kamikazi
  • Registratie: Juli 2001
  • Niet online
Via de search kwam ik niet tot een echt resultaat...

Ik zit in de volgende situatie als alles goed gaat straks:

- Er draait een website gebaseerd op ASP en een MS Access database.
- Op deze database worden gegevens van klanten opgeslagen.

Uiteraard wil ik niet dat iedereen die gegevens uit kan lezen. Nu is deze database uiteraard in een ander path aanwezig. Echter, is het nu mogelijk dat een onbevoegde via een query in een eigen ASP page, gegevens uit mijn database uitleest?

Dit is toch niet mogelijk als ik er maar voor zorg dat om een database te openen er eerst een username en password moet worden ingegeven?

Mvg,

Martijn

  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 08:17

Basszje

Reisvaap!]

Ik weet niet precies wat je bedoeld, maar als je de Database uit je www directory heb gezet ( en via ODBC benaderd ) kan er in principe niemand bij die geen toegang heeft tot de server.

Anders kan je dat ding zelfs gewoon downloaden.
Een ASP page vanaf een afstand oid uitvoeren ( bedoel je dat? ) kan zeker niet.

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


  • Kamikazi
  • Registratie: Juli 2001
  • Niet online
Op donderdag 21 maart 2002 12:10 schreef Basszje het volgende:
Ik weet niet precies wat je bedoeld, maar als je de Database uit je www directory heb gezet ( en via ODBC benaderd ) kan er in principe niemand bij die geen toegang heeft tot de server.

Anders kan je dat ding zelfs gewoon downloaden.
Een ASP page vanaf een afstand oid uitvoeren ( bedoel je dat? ) kan zeker niet.
Inderdaad, je snapt me helemaal goed...

De database draait in een map \root\dbase, en de asp files vanuit \www Deze is dus nooit vanaf het web direct te downloaden.

Ik vroeg dit, omdat ik op Fok! had gelezen over die gegevens die uit te lezen waren over bestaande klanten. Ik vraag me dan af hoe dat kon...

  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 08:17

Basszje

Reisvaap!]

Op donderdag 21 maart 2002 13:25 schreef Kamikazi het volgende:

[..]

Inderdaad, je snapt me helemaal goed...

De database draait in een map \root\dbase, en de asp files vanuit \www Deze is dus nooit vanaf het web direct te downloaden.

Ik vroeg dit, omdat ik op Fok! had gelezen over die gegevens die uit te lezen waren over bestaande klanten. Ik vraag me dan af hoe dat kon...
Oh je bedoelt dat verhaal van die sexshop (oid) dat die klanten opvraagbaar waren :?

Dat had te maken met het handhaven van session nr's voor klant die opvraagbaar waren.

Voorbeeldje als je bv een klantnr gebruikt hoe het niet echt veilig is :
klant_info.asp?klant_nr=12

als je zoiets doet en iemand raad de URL, jouw ASP script haalt de info op en outputs het.
Kort door de bocht was dat dus aan de hand daar ( alleen dan ingewikkelder en via een lang nr etc ) .

Je moet dus altijd nog op de achtergrond ( via session/dbase ) en dus niet exclusief via de URL string controleren of degene die de pagina opvraagd ook echt degene is die bevoegd is om de pagina op te vragen.

Dan zou alles goed moeten gaan :)

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


Verwijderd

Je moet dus altijd nog op de achtergrond ( via session/dbase ) en dus niet exclusief via de URL string controleren of degene die de pagina opvraagd ook echt degene is die bevoegd is om de pagina op te vragen
Maar ook een security op de DB zelf, anders kunnen mensen de DB ook openen via ODBC (of DSN-less,enz.) en via SQL toch de DB uitlezen....

Wat je dus ook moet doen is een username en wachtwoord op de Access database zelf (in Access zelf en dus niet via NT/2k).

Zie: Tools\Security\User en Group Permissions

Deze username en password kun je bij het openen van je database (in ASP) meegeven.

Moet zoiets zijn:
code:
1
2
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "ODBCnaam", "username", "password"

Veel plezier ermee!


edit:

Oeps..

  • Kamikazi
  • Registratie: Juli 2001
  • Niet online
Bedankt allebei, we gaan weer vrolijk verder met het opzetten :) (en toevallig voor een andere sexwinkel >:))

Verwijderd

Ja het is mogelijk om gegevens via een query in je browser gegevens uit een database te trekken, dit kan overigens alleen door slecht programmeer werk. Je kan dit makkelijk afvangen. Het probleem doet zich alleen voor met Select statements. Voorbeeld:

url: www.test.nl/test.asp?id=12

Als je nu niet afvangt dat die id een int moet wezen dan ben je de klos:

Dan doe je gewoon:

url: www.test.nl/test.asp?id(SELECT SYSTEM_USER)

Dit is overigens een voorbeeld die werkt alleen bij msSQL. Maar een beetje DB programmeur weet exact de manier om een tabel naam te achterhalen, en ook de gegevens daarin!

Succes 8-)
Pagina: 1