Avatar billede Slettet bruger
05. december 2005 - 23:49 Der er 5 kommentarer og
1 løsning

Tre i én!

Hej

I mine tidlige asp-dage lavede jeg engang et login-system baseret på en access-database, hvor brugernavnet og adgangskoden skulle hentes i denne database. Det lagde jeg ret hurtigt på hylden igen, hele systemet, eftersom at det blev "hacket" idet "hackeren" på én eller anden måde snød databasen ved at skrive noget bestemt i brugernavn-feltet og så kom ind alligevel.
Hvad er det man kan skrive der og så komme ind alligevel, hvis man ikke har sikret sig imod det? For jeg har glemt det igen...

Dernæst vil jeg høre om det er muligt at lave et database-opslag case-sensitive i asp? - og i så fald hvordan?

Sidst men ikke mindst, vil jeg høre om det er muligt at lave en database-forbindelse til en mappe som ikke er en "web-mappe" på min IIS-server, altså ved at angive den fysisk sti til databasen i scriptet, men så sådan at databasen aldrig kan downloades på nogen måde...

Med venlig hilsen

Dan
Avatar billede eagleeye Praktikant
05. december 2005 - 23:55 #1
Du skal altid huske at enten fjerne ' eller replace en ' med to '' så det i databasen tolkes som en karakter. Det gælder alle sql sætninger at man bør enten søge for ' tillades eller ' fjernes for alle parameter som siden modtager via en form eller querystring.

Ved login system bruger jeg at fjerne ' og ikke tillade ' i brugernavn og password.

Case-sensitive det er database der afgør det, det er ikke noget man kan sætte i ASP.

De fleste web-hoteller med respect for deres brugere har en speciel folder hvor man kan ligge databasen så den ikke kan downloades via hjemmeside adresse men kun via ftp hvis man har brugernavn og password. Bruger man sådan en folder vil man også typisk opleve man skal bruge den fysiske sti til database da man ikke kan tilgå den folder med "../"
Avatar billede Slettet bruger
06. december 2005 - 00:02 #2
Hej!

Mange tak for dit hurtige svar!

- Der er bare lige en detalje. Jeg har ikke mine ting på et webhotel, jeg hoster selv...
Så kan jeg lave en database-connection hvor det er den fysiske sti der er angive og IKKE den virtuelle?
- Og hvordan skulle dette så eventuelt se ud i det nedenstående?

Set dbUsers = Server.CreateObject("ADODB.Connection")
Path = "DBQ=" & server.mappath("****.mdb")

\Dan
Avatar billede eagleeye Praktikant
06. december 2005 - 00:06 #3
Hvis nu root er folderen "wwwroot" som ligger i c:\inetpub\wwwroot så kan man lave en db folder i c:\inetpub og ligge database filerne i den. Så skriver du bare den fysiske sti efter DBQ= i stedet for server.mappath sådan her:

Path = "DBQ=c:\inetpub\db\filnavn.mdb"
Avatar billede Slettet bruger
06. december 2005 - 00:10 #4
OK!

Men kan man ikke lave den fysiske sti til at være et sted på serveren som er udenfor ens root?

\Dan

P.S. Smider du ikke lige et svar for point?
Avatar billede eagleeye Praktikant
06. december 2005 - 00:17 #5
Jo du kan selv bestemme hvor database skal ligge. Så den kan godt ligge udenfor root bare man skriver den fysiske sti.
Avatar billede Slettet bruger
06. december 2005 - 00:21 #6
OK! Mange tak for hjælpen!!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester