Gå til innhold

Har noen et login-script?


Anbefalte innlegg

echo 'Congratulations " . $_POST['username'] . "<br>You may now proceed to the <a href="admin.php">admin area</a>!';
}

 

må forandres litt..

prøv

echo ('Congratulations ' . $_POST['username'] . '<br>You may now proceed to the <a href="admin.php">admin area</a>!');
}

Endret av toss
Lenke til kommentar
Videoannonse
Annonse

Okey, poster hele koden her så blir det kanskje enklere... ;)

 

admin.php

<?php
if($_SESSION["login"] == ok){ ?>
This is the admin area
Add content in this section
<a href="logout.php">Logg ut</a>
<?php
}
else {
echo "Not logged in, please log in";
}
?>

 

check.php

<?php
$admin1 = "xitach"; // first admin username
$adm_pass1 = "1234"; // first admin password

$admin2 = "guest"; // second admin username
$adm_pass2 = "1234"; // second admin password

$username = $_POST['username']; // Setter variabel som henter brukernavn fra skjema
$password = $_POST['passord']; // Setter variabel som henter brukernavn fra skjema

if($username == $admin1 && $password == $adm_pass1 || $username == $admin2 && $password == $adm_pass2){
session_start();
$_SESSION['login'] = 'ok';
echo ('Congratulations ' . $_POST['username'] . '<br>You may now proceed to the <a href="admin.php">admin area</a>!');
}

else {
echo 'Username " . $_POST['username'] . " or password " . $_POST['password'] . " is incorrect, please try again'; }
?>

 

logout.php

<?php
unset($_SESSION["login"]);

echo 'Du ble nå logget ut!';
?>

Lenke til kommentar

i den forrige posten din er koden feil igjen..

 

og ellers hjelper det veldig å poste feilmeldingene du får, ikke bare si at noe er galt..

 

EDIT: her er et script jeg bruker..

sikkert ikke det sikkreste og beste, men det duger..

 

index.php:

<h3>Loggin til AdminCP</h3>

<form action="loggin.php" method="post">

<p>Brukernavn: <input type="text" name="user" /></p>
<p>Passord: <input type="password" name="pass" /></p>
<p><input type="submit" value="Logg inn" /></p>

</form>

 

loggin.php

<?php

$user = $_POST[user];
$pass = $_POST[pass];

$cookie = "loggedinn";
$value = "true";

if($user == "BRUKERNAVN" and $pass == "PASSORD") {
setcookie($cookie, $value, time() + 3600);
include('velkommen.php');
}
else {
include('forbudt.php');
}
?>

 

så må du passordbeskytte alle filene slik:

<?php

$value = $_COOKIE[loggedinn];

if($value == 'true') {
echo('

BESKYTTET MATRIALE HER

');

}
else {
include('forbudt.php');
}
?>

 

da er man innlogget i en time, og man kan logge ut med dette scriptet:

 

loggout.php

<?php

setcookie("loggedinn", "", time() -3600);
echo('<h3>Du er nå logget ut.</h3>');

?>

Endret av toss
Lenke til kommentar

da må loggin.php bli noe slik:

<?php

$cookie = "loggedinn";
$value = "true";

$admin1 = "xitach"; // first admin username
$adm_pass1 = "1234"; // first admin password

$admin2 = "guest"; // second admin username
$adm_pass2 = "1234"; // second admin password

if(($username == $admin1 && $password == $adm_pass1) || ($username == $admin2 && $password == $adm_pass2)){

setcookie($cookie, $value, time() + 3600);
include('velkommen.php');
}
else {
include('forbudt.php');
}
?>

 

EDTI: rettet en feil..

Endret av toss
Lenke til kommentar

Huff av meg så tungvindt, og så lite sikkert!

1. Hvor vansklig er det å lage en "fake" cookie som slipper deg inn der?

2. Det er meget tungvint å måtte plassere "beskyttet matriale" midt i en else tag. Hvorfor gjøre det så tungvindt?

 

Et par tisp:

1. Ikke bruk cookies - for mange som ikke kan bruke det, og sikkerheten går ned med tanke på at alle kan se innholdet.

2. Krypter alltid alle passord.

3. Aldri skriv passord i en PHP fil. Selv om PHP er serverside så vil hele koden vises dersom PHP slutter å fungere - de som har vært med et par år vet at det skjer ganske ofte. Plasser config filer med passor ol. i en egen mappe som du enten endrer CHMOD på slik at kun serveren kan lese de, eller beskytt mappen med htaccess.

4. For å unngå å plassere sider i en if tag, lag et script som sjekker login - dersom login er feil så bruk header("LOCATION:...") for å flytte brukeren til login siden. Dette scriptet includer du på toppen av alle sider som skal være beskyttet, så blir det mye lettere å beskytte en side.

5. if($value == 'true') er MEGET DÅRLIG måte å sjekke login på!!!! Sjekk brukernavnet og passordet hver gang, det tar ekstramt liten tid, men gjør scriptet mye sikrere.

 

Dersom man er litt mer avansert så burde man også lagre ip ol. om brukeren for å sjekke at det ikke er noen som stjeler login'en til en annen!

Lenke til kommentar

så enormt tungvindt var det da ikke.. og jeg kan ikke helt se for meg hvem som gidd å hacke siden min som ligger på home.no.net.. vet at det ikke akkurat gjør det sikrere at den ligger der, men det funker for meg.. ;)

 

ellers skal jeg se hva jeg får tid til å gjøre med en sikrere loggin.. :)

 

men jeg har noen spørsmål:

1. hvordan bruker man header(LOCATION:)? prøvd å lese meg frem til hva header() gjør, men aldri fått det til..

2. vil skriptet mitt bli mye sikrere om jeg bruker sessions i stedet for cookies?

3. hva er en config fil? hvordan lager jeg denne/henter info fra den?

 

hadde vært supert å få svar på dette.. da skal skriptet med ett bli sikrere :)

Lenke til kommentar

Nå funket scriptet noe bedre tror jeg, men test selv her!

 

Får et par feil...

 

Warning: main(velkommen.php): failed to open stream: No such file or directory in /home/bazze00/public_html/login/check.php on line 15

 

Warning: main(velkommen.php): failed to open stream: No such file or directory in /home/bazze00/public_html/login/check.php on line 15

 

Warning: main(): Failed opening 'velkommen.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/bazze00/public_html/login/check.php on line 15

Lenke til kommentar

ja.. det du vil at en som nettop har logget inn skal få opp..

feks: Velkommen, og en link til admin området..

 

og forbudt.php må inneholde det du vil at en som prøver å lese en side uten å ha lov skal se..

 

men som sagt, og som ???????? påpekte, er ikke mitt skript videre sikkert..

Lenke til kommentar
  • 2 år senere...

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