11. november 1999 - 17:45Der er
49 kommentarer og 1 løsning
PHP adganskode
Hvis man nu laver et script med adgangskode, ved hjælp af MySQL osv. De link man så bevæger sig videre rundt i på siden hvordan sørger man så for at de bliver beskyttet på samme måde som lige præcis den side med adgangskode scriptet?
det kommer jo lidt an på, hvordan du har lavet det. Hvis du har brugt HTTP-auth-funktionerne (http://dk.php.net/manual/features.http-auth.php3) vil browseren cache brugernavn og password indtil den bliver lukket ned. Hvis det ikke er den metode, du har brugt, må du komme med lidt mere information :)
Jeg har ikke lavet det færdigt endnu da jeg ville have det her svar først, så hvordan mener du jeg skal lave det for at det kommer til at fungere bedst?
Jeg ved ikke, om det kommer til at fungere bedst, men det er da en måde at lave det på :) Jeg har selv brugt denne metode på en del sider, og de kører fint. En anden metode er denne: Du starter med en alm. form, som checker brugernavn og password, og stiller derefter folk videre vha. includes (du lægger de beskyttede sider et sted, hvor folk ikke kan nå dem normalt, og hiver dem så ind vha. <? include("../beskyttetomraade/fil.som.folk.skal.se.php3"); ?>
Hvis det skal være mere avanceret skal du nok kigge på f.eks. PHPLib's session/authentication-system (http://phplib.netuse.de/).
Æhm ... Start med at lave et katalog ved navn "includes" på dit webhotel. Beskyt så siderne mod besøgende udefra (http://www.php.dk/artikler/artikel.php3?id=2). Herefter kan du lave et system, der, når folk er logget ind, henter siderne fra "includes"-kataloget og viser dem. På denne måde vil det kun være folk, der kender det korrekte login og password, som kan se siderne i "includes".
Du foreslår hele tiden noget men HTTP authentication, men det er desværre ikke en appache server der bliver brugt der hvor jeg har min side......... så hvad gør jeg? /Mule
Med hensyn til beskyttelse af underkataloger må det være muligt at lave noget lignende på den server, du bruger. Så burde det kunne lade sig gøre at lave det med includes. -Og ja, jeg er nok lidt miljøskadet af mine Linux-boxe :)
Jeg er sikker på, at din server understøtter HTTP-auth, blot skal du finde ud af, hvilke kommandoer det kræver. Det kan også tænkes, at PHP's Header-funktioner (som skal bruges til http://dk.php.net/manual/features.http-auth.php3) virker selv om det ikke er en apache (hvis bare PHP kører som modul burde det vel virke).
hmm ... nu løb jeg midlertidigt tør for idéer ... har endnu ikke haft brug for at lave auth på servere, der ikke understøttede det direkte har du mulighed for fx. at gemme filer udenfor det katalog, som webserveren henter fra?
jo, men så er det netop, at man skal indtaste brugernavn/password hver gang - medmindre du finder på noget smart med f.eks. cookies, men så er det ikke givet, det vil virke hos alle. hvis du har adgang til MySQL kan du måske også lave noget smart sessions-noget, men ... det bliver meget hurtigt omfattende at holde styr på :( en sidste mulighed er at flytte din side over til fx. wiktor.dk - dér kan du bruge http-auth lige så vildt du vil
ok, men ... hvis det er en IIS med ASP, så kan du _MEGET_ lettere lave din login-ting i ASP. Prøv at stille det samme spørgsmål i "Programmering: ASP", så er der garanteret flere der kan hjælpe dig med det samme.
Ja, den er god nok på en Unix (hvor PHP kører som modul, ikke CGI-version). Problemet er bare, at det ikke virker på en Win-apache. Jeg citerer fra bunden af http://dk.php.net/manual/features.http-auth.php3 : "Also note that this does not work using Microsoft's IIS server and the CGI version of PHP due to a limitation of IIS.". -Og det webhotel, han har købt kører jo netop IIS.
hmmm det kan jeg ikke bruge da det så kun er til en side, man kommer, og den kan man så også gå ind på bare ved at skrive adressen, duer ikke >>>nuker.dk
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.