19. december 2000 - 01:30Der er
32 kommentarer og 2 løsninger
login-program
Jeg har haft et login-program: altsaa et program, hvor man taster brugernavn og kodeord ind og så har man adgang til en asp-side og altsaa hvis man taster forkert bliver man tilbagestillet til en anden eller login-siden igen.I forbindelse med formentlig omstillinger på serveren eller at jeg fik en anden internetforbindelse virker programmet ikke mere (giver bare en blank side).Har spekuleret over årsagen.Tror selv at det skyldes at asp-delen af koden til siden skal være (i henhold til andre specifikationer på serveren) markeret i forhold til om asp-programmet er lavet i javascript eller VB. I hvert fald kunne jeg godt tænke mig at høre om nogen kan henvise til en anden \"pakke\" end den jeg aktuelt havde (jeg tor det var netcoders jeg havde hentet den på).Det behøver bare at være for en enkelt bruger og helst så simpelt som muligt.
ja jeg havde kigget lidt på disse muligheder men er ikke sikker på de er gode nok.Den første kræver afvikling af en acces-fil - der er \"fy fy\" desværre på den server jeg bruger.Den anden giver vel en hvilken som helst bruger på serveren adgang til filen ? og det var jo kun meningen dwet skulle være \"udvalgte\" brugere - ikke alle. Men belær mig.
hvor omfattende skal den være, skal det være helt uden database, eller hvordan. hvis den bare skal sende brugeren videre til én side ved korrekt login og til en anden eller loginsiden ved forkert så kan jeg da godt lige fikse noget....giv mig mere info og jeg skal belære og hjælpe, det ser ud til at okay har opgivet, måske fordi han ikke kan belære fordi han ikke har lært endnu?
filen login.asp -------------------- <% response.buffer = true %> action = request.querystring(\"action\") if action = \"login\" then if request.form(\"user\") = \"test\" AND request.form(\"password\") = \"testpw\" then session(\"loggedinok\") = \"1\" else response.redirect(\"login.asp\") end if else %> <FORM ACTION=\"login.asp?action=login\" METHOD=\"post\"> Brugernavn:<BR> <input type=\"text\" name=\"user\"><br> Password:<br> <input type=\"password\" name=\"password\"><br> <input type=\"submit\"> </form> <% end if %>
------------------------- I de filer du skal have beskyttet sætter du følgende i toppen: <% response.buffer = true if session(\"loggedinok\") <> \"1\" then response.redirect(\"login.asp\") end if %>
En lille fejl <% response.buffer = true action = request.querystring(\"action\") if action = \"login\" then if request.form(\"user\") = \"test\" AND request.form(\"password\") = \"testpw\" then session(\"loggedinok\") = \"1\" else response.redirect(\"login.asp\") end if else %> <FORM ACTION=\"login.asp?action=login\" METHOD=\"post\"> Brugernavn:<BR> <input type=\"text\" name=\"user\"><br> Password:<br> <input type=\"password\" name=\"password\"><br> <input type=\"submit\"> </form> <% end if %>
lp: Ja det er rigtigt.Det jeg ønsker er en side der kun er adgang til ved et kodeord - ikke nødvendigvis både brugernavn og kodeord - og helst ingen databaser da da blot komplicerer foretagendet og jeg ikke er nogen ørn til at jonglere rundt med mange indflettede filer. Alle: Jeg formoder I bruger javascript, men da der er andre muligheder (VB-script) bør man vel angive dette i starten af sin kode ? og jeg tror faktisk mange forviklinger opstår fordi man glemmer dette (sådan i almindelighed for os begyndere, der har et par bøger, der er for svære i forvejen og så får vi det blandet sammen). ellebec:den server jeg bruger understøtter skam ASP: bl.a. har jeg lavet en SQL-database i ASP http://www.jababa.dk under menupunktet sitemap, der er skrevet i VB-script fordi de oprindelige oplysninger var givet i VB-script og det aldrig lykkedes mig at få dem lavet om til javascript. def: hvad betyder et hardkodet password ? netrac:jeg vil prøve at kigge på dit kodeforslag og vende tilbage derefter. Foreløbig tak.
netrac:Jeg vil dog foreløbig anføre at din kode meget ligner den jeg oprindelig brugte og som altsaa ikke duer mere, men jeg skal prøve at komme det lidt nærmere. okey: ad din 1009-version, der jo er djævelsk smart - kan man ikke ligge en kodelinie ind der gør et enkelt brugernavn eksklusivt ? jeg er desværre ikke selv så god til det derfor spør jeg. Alle: hvis noget af det lykkes vil jeg godt lægge nogen flere points i det.
Aha...Du ligger på freepaq.dk´s server, den understøtter ikke brugen af session´s i asp, da de bruger ChilisoftASP
Så kan du gøre sådan her, men så kan du kun beskytte en side af gangen:
<% response.buffer = true %> action = request.querystring(\"action\") if action = \"login\" then if request.form(\"user\") = \"test\" AND request.form(\"password\") = \"testpw\" then %>
HTML koden til den side der skal beskyttes sættes her.
<% else response.redirect(\"login.asp\") end if else %> <FORM ACTION=\"login.asp?action=login\" METHOD=\"post\"> Brugernavn:<BR> <input type=\"text\" name=\"user\"><br> Password:<br> <input type=\"password\" name=\"password\"><br> <input type=\"submit\"> </form> <% end if %>
netsrac: Jeg er meget glad hvis jeg er ved at nærme mig en løsning, men foreløbig har jeg forgives prøvet 30 varianter at dit chillisoft ASP forslag (hvad er det for nogen begrænsninger der gør den gamle kode ubrugeligt i chillisoft ?). I hvert fald vil den åbenbart ikke acceptere \"else\" på det sted i koden og skriver kompileringsfejl (har osse forsøgt at sætte asp-kode ind i stedet for HTML.Ved de første af disse forsøg fik jeg fejlmeddelse om aflutning af HTML-siden (-->).Har gemt filen som login.asp. Da jeg føler mig lidt håbløs håber jeg du vil hjælpe mig lidt mere for 100 points extra.. fx ved at skrive koden med HTML ind med et par få ord på for at sikre at det ikke er her den kikser.
det er åbenbart en syntax-fejl -måske er det noget simpelt banalt - her er i hvert fald et af mine forsøg på at få koden til at \"køre\": <% response.buffer = true %> action = request.querystring(\"action\") if action = \"login\" then if request.form(\"user\") = \"test\" AND request.form(\"password\") = \"testpw\" then %>
Men sådan kan man måske ikke gøre ? Er der nogen specifikke steder chillisoft tilbyder små programeksempler - synes deres hjemmeside er ret uoverskuelig for mig ?.
jeg har nu prøvet et andet logon program og det lider af samme fejl som mit oprindelige - det kører fint men leverer en tom side og skriver så udført i bundlinien.Jeg giver lidt op indtil videre.
ellebeak fik svaret på noget der så dukkede op midt i denne korrespondance jvf mit spm undervejs http://www.eksperten.dk/spm/39296 om manglerne ved freepaqs ASP fortolker og jeg kan forstå det er noget med at den ikke kan lave \"sessions\" (flere skift mellem filer ?) og noget med map-paths ? som jeg ikke helt har forstået.I hvert fald kunne det være rart med serverplads et sted med en mere stabil fortolker og jeg håber ellebeaks henvisning måske kan føre til dette. De andre henvisninger var enten \"på juleferie\" eller var blot en e-mail adresse.
jeg vil da klart anbefale dig at få et a0.dk abonnement som koster meget lidt.....således får du et fuldt professionelt webhotel som du kan regne med......det er korrekt er der er meget som ikke virker hos freepaq.dk - jeg vil dog gerne belære dig lidt omkring dine tvivl :-)
Sessions: Et objekt som kan bruges til at gemme en variabel skjult - fx. et bruger/login navn eller et kodeord. - Når den er sat kan man hente den fra alle sider, uden at skulle have ført den videre i adresselinjen. Det er smart især til login systemer som du netop har haft brug for.....en session er en aktiv besøgende på din side og sålænge brugeren ikke har været inaktiv i længere tid kan du hente variablen, dermed kan du jo sikre at brugeren bliver \"smidt\" om på login siden hvis denne har været inaktiv. Det er fortalt på så lavt et plan jeg lige kunne, uden at skulle få min hund til at godkende det, he he :-)
Server.Mappath: En syntax som bruges til at hente den aktuelle placering på det drev man er på. Et eksempel fra IIS dokumentationen:
The following example uses the server variable PATH_INFO to map the physical path of the current file. The following script
Dermed kan du hente en fil frem....funktionen som skal hente filen kræver at få at vide den præcise placering og det kan jo være svært at vide når man er på et webhotel, dermed mappath\'er man sig frem.....
Jeg håber du blev klogere.....ellers spørger du da bare og jeg skal hjælpe dig så godt jeg kan :-)
Ja det er sikkert det rigtige at gøre på et tidspunkt.Var ret skuffet over at mulighederne indskrænkede sig da freepaq gik over til LINUX systemet.Bl.a. at muligheden for at bruge acess-databaser forsvandt var \"dumt\".
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.