laten inloggen met asp -> SQL

Pagina: 1
Acties:

  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Ik wil mensen via een website (ASP) laten inloggen.
Ik werk met ASP en SQL voor de duidelijkheid.
Wat is de beste manier om dit te doen?

Mijn idee.
In de tabel waar de klantengegevens staan een extra veld maken waar de wachtwoorden worden opgeslagen. ASP vergelijkt dan de ingevoerde loginnaam en wachtwoord met de entries in de table.

Is dit iets??? Of kan het anders?

Assume there are no rules and it's one big free for all


  • Tommel
  • Registratie: November 2000
  • Niet online
Ja dit is wel iets! :)
Kijk een op www.4guysfromrolla.com of http://asp.pagina.nl vind je vast wel voorbeelden.

Verwijderd

Is dit iets??? Of kan het anders?
Das idd de snelste, simpelste manier, en volgens mij ook een prima manier om het te doen :-)

via
code:
1
2
3
4
5
if recordset.EOF and recordset.BOF Then
  'FOUT
else
  'GOED
end if

heb je hem :)

  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Ik zal het vrijdag even proberen als ik weer op school ben. ben nu stage aan het lopen.

Assume there are no rules and it's one big free for all


  • Zaagmans
  • Registratie: Januari 2000
  • Laatst online: 16-07 21:13
TIP: ga niet je wachtwoord in je SQL query vergelijken.

voorbeeld:
code:
1
"select naam, wachtwoord from gebruikers where naam = '" & Request.QueryString("gebruikersnaam") &"' and wachtwoord = '" & Request.QueryString("wachtwoord") & "'"

Zo kan je dus in je form veld iets invullen als:
code:
1
1' OR '1=1' OR 'A=B

Je manipuleert je query dan gewoon door bovenstaand stukkie in je input veld te zetten. Met als gevolg dat je dus geen wachtwoord hoeft in te vullen en zo kan er dus worden 'ingebroken'. (8>

Mja gewoon ff een afdwaling van me denk ik :P

- Ruud


Verwijderd

Op donderdag 06 december 2001 13:21 schreef Zaagmans het volgende:
TIP: ga niet je wachtwoord in je SQL query vergelijken.
Shit zeg, daar zeg je me wat!!! Hier heb ik (ook?) nog nooit bij stil gestaan :'(. Da's inderdaad een leuk 'beveiliginslek'!

Je kan dus beter bv. een recordset opvragen van die bepaalde en daar op filteren...

Verwijderd

Daarnaa dan een session variabele gebruiken?
Hoeft je klant ook niet steeds in te loggen?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16:30

Janoz

Moderator Devschuur®

!litemod

Op donderdag 06 december 2001 13:21 schreef Zaagmans het volgende:
TIP: ga niet je wachtwoord in je SQL query vergelijken.

voorbeeld:
code:
1
wat lange code

Zo kan je dus in je form veld iets invullen als:
code:
1
1' OR '1=1' OR 'A=B

Je manipuleert je query dan gewoon door bovenstaand stukkie in je input veld te zetten. Met als gevolg dat je dus geen wachtwoord hoeft in te vullen en zo kan er dus worden 'ingebroken'. (8>

Mja gewoon ff een afdwaling van me denk ik :P
Je kunt ook de speciale niet legale tekens filteren.

IMHO is dit redelijk triviaal, maar ik schrik nog steeds van sommige stukjes code die ik voorbij zie komen.

Elk stukje software (Of dat nu een compleet office pakket of een simpele dynamische website is) moet gebruikers input controleren op geldigheid!!

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


  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
code:
1
1' OR '1=1' OR 'A=B
Het zal wel aan mij liggen maar ik snap het niet

Assume there are no rules and it's one big free for all


  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 23:09
Op donderdag 06 december 2001 13:21 schreef Zaagmans het volgende:
TIP: ga niet je wachtwoord in je SQL query vergelijken.

voorbeeld:
code:
1
"select naam, wachtwoord from gebruikers where naam = '" & Request.QueryString("gebruikersnaam") &"' and wachtwoord = '" & Request.QueryString("wachtwoord") & "'"

Zo kan je dus in je form veld iets invullen als:
code:
1
1' OR '1=1' OR 'A=B

Je manipuleert je query dan gewoon door bovenstaand stukkie in je input veld te zetten. Met als gevolg dat je dus geen wachtwoord hoeft in te vullen en zo kan er dus worden 'ingebroken'. (8>

Mja gewoon ff een afdwaling van me denk ik :P
als je ' en " replaced met \' en \" is dit probleem al opgelost.....

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Verwijderd

Op vrijdag 07 december 2001 09:07 schreef Tampie2000 het volgende:

[..]

als je ' en " replaced met \' en \" is dit probleem al opgelost.....
Aangezien het hier niet om PHP maar om ASP gaat moet je
Replace(sString, "'", "''") gebruiken...

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 23:09
Op vrijdag 07 december 2001 18:53 schreef KoenM het volgende:

[..]

Aangezien het hier niet om PHP maar om ASP gaat moet je
Replace(sString, "'", "''") gebruiken...
is dat zo? waarom werken \' en \" bij mij dan wel goed? :?

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/

Pagina: 1