28. september 2000 - 22:50Der er
6 kommentarer og 4 løsninger
Sikkert i hoved og i r..
Hej Jeg skal lave et log ind billed
Jeg havde tænkt mig at lave det med en form og de normale tekst og password felter....
Brugere og passwords ligger så i en base, hvor de bliver fundet eller ej....
MEN hvad skal man være opmærksom på for at gøre skidtet så sikkert som overhoved muligt. Hvor laver de fleste en fejl, hvordan kan man iøvrigt hacke sig ind på en side der er beskyttet på denne måde, hvis programmøren har lavet en fejl, og hvilken fejl.....
Efter denne lidt forvirrende snik snak, mener jeg bare at : Hvor er faldgrupperne og hvad er vigtigt at huske ???
Du skal, som tpiil skriver, bruge sessions - da det er den mest sikre løsning! ENDVIDERE:
Når du fx. laver en betingelse
If (a < 1) Then
Så skal du TESTE, hvad den gør, hvis den IKKE er a < 1 - dvs.,
If (a < 1) Then \' et eller andet Else \'meget vigtigt!!! \' en fejlmeddelselse End if
Det vil sige, at brugeren ikke får en server fejl, som han evt. kan bruge til at se nogle informationer om systemet - som han kan bruge på ulovlig vis!
Altså checke HVER eneste betingelse/funktion så der IKKE vil komme nogle serverfejl ud !
En af de mest brugt måder at hacke en sådan side er ved at skrive sql queries direkte i et af formfelterne. Det faktisk nogle gange muligt at udvide en sqlstreng med nogle ekstra parametre hvis der ikke bliver checket på inputtet.
Det kræver dog ikke meget at forpurre livet for en evt. hacker. Lav en replace hvor du fjerner \' (ping) fra inputtet, på den måde kan han ikke skrive en fortsættelse af din sqlstreng.
Enig med de andre om at man med fordel kan anvende Session til at opbevare login information.
Og dudals opfordring til at fjerne samtlige \' (og måske også \" ) fra dine form felter inden du kontakter din db er MEGET anbefalelsesværdig.
Derudover: På hver eneste .asp side i din applikation, kan du inkludere en checkuser.asp side, som indeholder noget lignende dette:
<SCRIPT LANGUAGE=Javascript RUNAT=Server>
Response.Expires=0; if (Session(\"AccessLevel\")>=10) { } else { Response.Redirect(\"unauthorized.asp\"); } </SCRIPT>
Hvis den der er logget ind har et tilstrækkeligt højt adgangsniveau, vil ovenstående ikke gøre en pind. Hvis niveauet er for lavt, sendes browseren til unauthorized.asp, hvor man kan skrive noget lignende: \'Du har ikke adgang til denne side...\'
Ovenstånde viser eet tjek - men man kan jo have flere checkuser niveauer, dvs. andre sider i applikation inkluderer checkuser sider der tjekker på accesslevel > 20 osv..
Med ovenstående implementeret skulle det ikke være muligt for uautoriserede folk at se dine sider, heller ikke selv om de skriver hele URL\'en til en .asp side \'dybt inde i maven\' på din applikation.
Der er jo også den gode mulighed at lave NT password på serveren. Så har du hele NT\'s sikkerhedsaspekter. Men du kan selvfølgelig ikke lave grafik her.
Så kan du også køre shtml samtidig, og måske endda IP logging. Så kan sikkerheden ikke blive bedre. Under alle omstændigheder vil jeg anbefale IP logging.....
Og hvis du har mulighed for det så registrer hvilket IP nummer én bruger loggede sig ind på første gang, og så kun tillade det IP nummer for den bruger. Undgå at have knapper som huske login osv. (som på eksperten), da en anden bruger så kunne bruge computeren. Og hvis du huske login skal man jo ligge en cookie , som i teorien kunne opsnappes af en anden hacker (i far-away teorien)
SORRY, jeg har været ude og rejse, ber om forladelse, jeg havde sq glemt at acceptere....
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.