Gå til innhold

php login / block


Anbefalte innlegg

Jeg har lagd en php login side, men jeg har fått opp et problem ...

Hvordan kan jeg blocke folk for å komme innpå user.php foreksempel, slik som dette:

-

Jeg klikker meg innpå server/brukernavn/public_html/user.php >

"Du er ikke logget inn, veligst gå til 'login.php' for å logge inn..."

-

Bør jeg bruke cookies og cookie_check eller noe sånt ?

 

Takke for svar

 

- ggp

Lenke til kommentar
Videoannonse
Annonse

$_SESSION['variabelnavn'] = "variabel";

Det forutsetter at du har

session_start();

i toppen av sidene du skal sjekke brukere på.

no2.php.net/session

 

Du kan feks lagre brukernavn, md5(passord), klient IP og klient browser i session, og så sjekke om det stemmer for hver side. (De to siste er strengt tatt ikke nødvendig, kommer an på hvor vanskelig du vil gjøre siden din å hacke :p)

Lenke til kommentar

Her er litt pseudokode for å hjelpe deg litt i gang:

 

login.php (eller hva nå enn du har kalt login-siden din)

<?php
session_start();

//selve innloggingsgreien, sjekker passord osv.
if (logget inn) {
$_SESSION['username'] = $_POST['username'];
$_SESSION['password'] = md5($_POST['password'];
// osv....
}
?>

 

Last over til session-variabler så mye informasjon du mener er nødvendig for å identifisere brukeren.

 

user.php

<?php
session_start();
if ($_SESSION['username'] != $brukernavn || $_SESSION['password'] != $password) 
{
die("You have no power here, Mr. Anderson...");
}
//resten av siden her, noenlunde greit beskyttet.
?>

 

Spør i vei hvis du lurer på noe mer.

 

:)

Lenke til kommentar

nesten riktig, bør ha session_register("login") imellom.

Du kan sjekke en session på mange måter, med isset(), $_SESSSION[] == osv i en if.

Avslutter en session med; session_unregister(), avslutter alle sessions med session_destroy().

Endret av LoS
Lenke til kommentar
nesten riktig, bør ha session_register("login") imellom.

Du trenger ikke bruke session_register() før du kan bruke den superglobale variabelen $_SESSION[].

Note: Please note when working with sessions that a record of a session is not created until a variable has been registered using the session_register() function or by adding a new key to the $_SESSION superglobal array.
Lenke til kommentar
nesten riktig, bør ha session_register("login") imellom.

Nei, som phanti sier kan du putte det direkte i $_SESSION[].

 

Du kan sette en ny session ved å bruke $_SESSION[] som en helt vanlig variabel:

$_SESSION['variabelnavn'] = 'verdi';

 

Du kan sjekke en session ved også å bruke $_SESSION[] som en helt vanlig variabel:

if ($_SESSION['variabelnavn'] == 'verdi')
{
 gjørnoe();
}

 

Du kan tømme en session på vanlig måte:

unset($_SESSION['variabelnavn']);

 

...eller ved å bruke session_unregister('variabelnavn'). session_unset() kan brukes for å fjerne alt.

 

:)

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...