Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  16 1311
Heisann, jeg skall lage en enkel HTML fil, med passordbeskyttelse på. hvordan kan jeg gjøre det? Må jeg bruke en PHP fil ved siden av?

Jeg har googlet, men finner ikke noe jeg forstår, da alt er på et mere avangsert dataspråk for meg.
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
Passordbeskyttelse i HTML alene er egentlig en vits, da hele filen uansett blir overført til klienten og du ikke får skjult noe i den på en meningsfylt måte. Med PHP kan du få til noe nokså sikkert.
Jeg har nå fulgt en IT.Pro guide.

http://itpro.no/art/8253.html

Har en fil som heter: .htaccess
Med kode:

AuthUserFile /www.ntking.net/Privat/.htpasswd
AuthGroupFile /dev/null
AuthName "Members only"
AuthType Basic

require valid-user
---------------------------------------------------
Så har jeg en fil som heter: .htpasswd
Med kode:

admin:b.q/Ee4egZ/eY
---------------------------------------------------
Så har jeg en PHP fil som heter index.php
Med kode: (Kode kommer...)

Alle ligger i en og samme mappe som heter Privat
adr: www.ntking.net/privat/index.php
---------------------------------------------------

Dette var da IT-Pro guiden ba meg om å gjøre, men fungerer ikke. Hvorfor?
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
Hosteren din støtter visst ikke .htaccess. Da får du heller finne en annen løsning. PHP, for eksempel.
Åja, takk for det tipset

Har gjort det i PHP før, men glemt hele greia.
Noen som vet hvordan eller en link til en guide?
Trigonoceps occipita
vidarlo's Avatar
Donor
Sitat av ertsaas Vis innlegg
Jeg har nå fulgt en IT.Pro guide.

http://itpro.no/art/8253.html

Har en fil som heter: .htaccess
Med kode:

AuthUserFile /www.ntking.net/Privat/.htpasswd
AuthGroupFile /dev/null
AuthName "Members only"
AuthType Basic

require valid-user
Vis hele sitatet...
Sitat av apache2.2 manual
The AuthUserFile directive sets the name of a textual file containing the list of users and passwords for user authentication. File-path is the path to the user file. If it is not absolute, it is treated as relative to the ServerRoot.
Vis hele sitatet...
Eg tviler på at fila di ligg på /www/ntking.net/Privat/.htpasswd
Rett til rett path (sjekk med pwd) så bør det funke.

Du bør forøvrig bytte til HTDigest, det er tryggere. Langt tryggere.
Hei, jeg har skrevet den enkleste måten du kan løse dette i PHP på, har ikke tid til å teste den, men kan ikke se noe feil i farta.

Kode

<?php
	session_start();

	$usrName = "brukernavn";
	$usrPass = "passord";

	if(!isset($_SESSION['auth']) || empty($_SESSION['auth']) || $_SESSION['auth'] == false)
	{
		if(!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']))
		{
			header("WWW-Authenticate: Basic realm=\"Vennligst logg inn\"");
  			header("HTTP/1.0 401 Unauthorized");
			die();
		}
		else 
		{
			if(($usrName == $_SERVER['PHP_AUTH_USER']) && ($usrPass == $_SERVER['PHP_AUTH_PW']))
			{
				$_SESSION['auth'] = true;
			}
			else 
			{
				die();
			}
		}
	}
?>	

Din HTML kode her:
Håper den fungerer
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/ntkingn/public_html/Privat/index.php:1) in /home/ntkingn/public_html/Privat/index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/ntkingn/public_html/Privat/index.php:1) in /home/ntkingn/public_html/Privat/index.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /home/ntkingn/public_html/Privat/index.php:1) in /home/ntkingn/public_html/Privat/index.php on line 11

Warning: Cannot modify header information - headers already sent by (output started at /home/ntkingn/public_html/Privat/index.php:1) in /home/ntkingn/public_html/Privat/index.php on line 12
Har du noe før denne koden? Den skal stå helt i toppen?
Har ingenting før koden

Beklager. Fikk den til å funke nå. Jeg brukte Microsoft Web Developer og åpnet et nytt blankt html dokument, fjernet alt og limte in koden din og så endret .html til .php. Men når jeg istede lagde en txt dokument og gjorde om filnavnet til index.php så fungerer den fint
Sitat av ertsaas Vis innlegg
Har ingenting før koden

Beklager. Fikk den til å funke nå. Jeg brukte Microsoft Web Developer og åpnet et nytt blankt html dokument, fjernet alt og limte in koden din og så endret .html til .php. Men når jeg istede lagde en txt dokument og gjorde om filnavnet til index.php så fungerer den fint
Vis hele sitatet...
Husk at alt som inneholder PHP må være en .php fil.
Jepp, vet det Takker så meget for hjelpen og takk for alle svar

Skall mate in med HTML imorgen og etter hvert så kan det være ønskelig å ha flere HTML/PHP filer under samme beskyttelse. Er det mulig å ha flere HTML filer, under denne innlogingen? Slik at når du logger in, så er du automatisk inlogget i andre HTML filer, og at det ikke er mulig å gå in i disse filene uten å logge in i index.php fila først?
Jepp du kan bruke samme innloggingen på flere filer, og når du logger engang inn så er du innlogget på alle filene. Det er på grunn av at man bruker noe som heter session i PHP og denne er tilgjengelig på hele serveren uansett mappe eller fil.

Hvis du vil gjøre det lettere å bruke den innloggingen på flere filer så kan du sette den koden inn i en egen fil som du kaller foreksempel auth.php så bruker du bare denne koden i starten av hver fil:

Kode

<?php include "auth.php"; ?>
Mange takk

Skall denne <?php include "auth.php"; ?> være inne i noe body, head eller innenfor noen annen tag?
Nei, den skal være helt øverst i dokumentet før noe som helst HTML kode.