Gå til innhold

Trenger hjelp til passord-beskytte side i PHP


Anbefalte innlegg

Videoannonse
Annonse

 

<?php
if(array_key_exists('submit', $_POST)) {

$password = "test"; // Skriv ditt passord her.
$passord = $_POST['password'];

	if(md5($password) == md5($passord)) {
		?>
		<p><h1>Passord beskyttet innhold her.</h1></p>
		<?php
	}
else {
	print "Feil pass.";
	die();
}

}
else {
?>
<form action="" method="post">
Pass: <input type="password" name="password" />
<input type="submit" name="submit" value=" Logg Inn! " />
</form>
<?php } ?>

 

 

 

Vil fungere greit. Med mindre php-motoren klikker, da vises dette i kildekoden.

Du kan også legge til slik at en $_SESSION blir startet, slik at man ikke blir logget ut igjen med engang.

 

 

 

Eksempel på dette: (fort satt sammen)(testet)

 

 

<?php

session_start();
if(isset($_POST['logut'])) {
	$_SESSION['loggetinn'] = false;
	echo "Du er nå logget ut.";
}

session_start();
if($_SESSION['loggetinn']){

?>

<p>
<h1>Passord beskyttet innhold her.</h1>
<form action="" method="post">
	<input type="submit" name="logut" value="Log Ut!">
</form>
</p>

<?php
	die();
}

if(array_key_exists('submit', $_POST)) {

$password = "test"; // Skriv ditt passord her.
$passord = $_POST['password'];

	if(md5($password) == md5($passord)) {
		session_start();
		$_SESSION['loggetinn'] = true;
		if(!$_SESSION) { echo $php_errormsg; }
		else { echo "Du er nå logget inn!"; }
	}
else {
	print "Feil pass.";
	die();
}

}
else {
?>
<form action="" method="post">
Pass: <input type="password" name="password" />
<input type="submit" name="submit" value=" Logg Inn! " />
</form>
<?php } ?>

 

Endret av creAtiive
Lenke til kommentar

Dersom du bare ønsker å passord-beskytte et par filer, så funker .htaccess langt bedre enn alle andre metoder, spesielt det postet ovenfor. Det er lett, det har gått gjennom omfattende testing og det er veldig pålitelig.

 

if(md5($password) == md5($passord)) {

Hva skal dette være et forsøk på å være? Du har vel nettopp hørt om MD5-kryptering og gjør et ynkelig forsøk på å gjøre scriptet sikkert? Til din informasjon, så er MD5 i scriptet ditt fullstendig overflødig.

 

Edit: Haha, fin blanding av norsk og engelsk. :!:

Endret av Jonas
Lenke til kommentar

Bwahahahaha! Tror nok det er andre enn Jonas som trenger å lese litt mer her.

 

md5('something') == md5('something')

er like sikkert som

'someting' == 'something'

 

Men om du derimot gjør det slik, blir det sikrere.

$pass = "md5-hashed password";
md5( $_POST['password'] ) == $pass )

 

Det holder også at du bruker session_start() én gang. Om scriptet ditt, mot formodning, ender opp med å kjøres uten stopp, startes sessions tre ganger.

Lenke til kommentar
<?php
$password = "test"; // Skriv ditt passord her.
$passord = $_POST['password'];
	if(md5($password) == md5($passord)) {

Det er kun 'bruk' for å hashe passord hvis de skal lagres et sted. Lagrer du passordet i "klar tekst" slik som her så er det ikke vits å hashe det før det sammenlignes...

 

Md5 hashing av passord brukes gjerne i flerbrukersystemer. Det brukes gjerne i databaser så ikke noen med db/backup lese tilgang eller noen som får tilgang til databasen via en usikret spørring skal kunne få en liste over alle passordene. (DB admins kan jo bare midlertidig endre passordet.)

 

Er du redd for at noen vil kunne laste ned filene dine uten å få tilgang til å endre dem, så er det nok md5 bibliotek der ute for dem å kunne søke etter en tekststreng som vil gi samme md5 sum. Så du burde kanskje salte passordene isåfall, dvs legge til en tekststreng (konstant) til passordet før det hashes...

 

Ikke sikker på ka du trenger siden eg ikke vet noe om applikasjonen, men virker som en enkel hjemmeside/blog?

Endret av OISNOT
Lenke til kommentar
Dersom du bare ønsker å passord-beskytte et par filer, så funker .htaccess langt bedre enn alle andre metoder, spesielt det postet ovenfor. Det er lett, det har gått gjennom omfattende testing og det er veldig pålitelig.
Ah, var ikke klar over at det var mulig å passordbeskytte enkeltfiler med .htaccess. Takk for hjelpen!
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...