Hoppa till innehåll

[php] [html] Lösenord Skydda Sidor Med Php!


Rekommendera inlägg

Skrivet (redigerat)

Lösenord skydda sidor!

Krav: Stöd för php där du har hemsidan.

Demo

Då kan vi börja med första koden

script.php

<?php
session_start(); //startar en session
$p = $_POST['pw']; // får data från formuläret
$pw = md5($p); // krypterar lösenordet
$rand = rand(); // generar ett id som vi använder längre ner
$secret_password = md5("test123"); // Lösenordet är test123
 
if ($pw == $secret_password) // kollar fall lösenorden matchar
{

$_SESSION['username'] = $rand; // startar sessionen och har $rand som username
  header("Location: index.php"); //skickar dig till index.php
 
} else {
 
    echo "fel lösenord!"; //blir det fall lösenordet är inte matchar
 session_destroy(); // förstör sessionen så inte dom kan bugga den!
}  
?>

script.php kommer driva nästan hela skriptet.

Okej vidare till Login.php !

<html> 
<body> 

<form action="script.php" method="post"> 
Lösenord: <input type="text" name="pw" /> 
<input type="submit" value="Logga in" /> 
</form> 

</body> 
</html> 

Den är ju basic så den tror jag dom flesta kan bygga om enkelt!

Då går vi vidare till index.php

<?php 
session_start();
if(!isset($_SESSION['username'])) { //kollar så du är inloggad

header("Location: login.php"); //fall du inte är inloggad så skickas du till login.php
exit; //stänger scriptet

}
?>

skriv din text här!<br>


<a href="logout.php">Logga ut</a>

Kom ihåg att på alla sidor som du ska skydda ska du alltid ha den här koden högst upp:

<?php 
session_start();
if(!isset($_SESSION['username'])) { //kollar så du är inloggad

header("Location: login.php"); //fall du inte är inloggad så skickas du till login.php
exit; //stänger scriptet

}
?>

Sen sist ska man ju kunna logga ut också så här är logout.php

<?php
session_start(); //sessionen startar
session_destroy(); // sessionen förstörs
  header("Location: login.php"); // skickar dig till login sidan!
?>

 

Hoppas ni gillar den tar gärna feedback!

Redigerat av datornord
Skrivet (redigerat)

Jag anmälde det för att den ser helt konstig ut på fuskas layute så hoppas admin elr moderatorerna kan fixa det!

 

 

ON-TOPIC: Nåt som ska förbättras nån funktion elr så?

 

Redigerat av datornord
Skrivet

Varför i hela friden använda md5 runt lösenordet när det inte sparas i en databas eller liknande?

för fall man vill bygga ut själv med database!

 

Då kan du ju nämna det i huvudinlägget! :bah:

  • 2 veckor senare...
Skrivet (redigerat)

Ja det kan man.

if ($pw == $secret_password || $pw == $secret_password2) // kollar fall lösenorden matchar

 

fast då får du lägga till några variabler också

Redigerat av Banish
Skrivet

Ja det kan man.

if ($pw == $secret_password || $pw2 == $secret_password2) // kollar fall lösenorden matchar

 

fast då får du lägga till några variabler också

if ($pw == $secret_password || $pw == $secret_password2)

 

Sedan behöver han lägga in variabeln $secret_password2.

 

Man kan även skapa en array/vektor med flera olika lösenord och sedan använda funktionen in_array som kollar om ett värde existerar i en en array/vektor. Man kan ju även använda en databas för att lagra konton.

 

Finns flera metoder man kan använda, bara att välja!

Gå med i konversationen

Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.

Gäst
Svara på det här ämnet...

×   Klistrade in som rich text.   Klistra in som vanlig text istället

  Endast 75 emojis är tillåtet.

×   Din länk har automatiskt inbäddats.   Visa som en länk istället

×   Ditt tidigare innehåll har återställts.   Rensa redigeraren

×   Du kan inte klistra in bilder direkt. Ladda upp eller infoga bilder från URL.

×
  • Skapa ny...