05. december 2005 - 23:49Der 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...
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 "../"
Synes godt om
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")
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"
Synes godt om
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?
Jo du kan selv bestemme hvor database skal ligge. Så den kan godt ligge udenfor root bare man skriver den fysiske sti.
Synes godt om
Slettet bruger
06. december 2005 - 00:21#6
OK! Mange tak for hjælpen!!!
Synes godt om
Ny brugerNybegynder
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.