Gå til innhold

Login og intern sikkerhet


Anbefalte innlegg

Jeg har en adminfunksjon jeg har laget som jeg trenger login og sikkerhet på. Problemet jeg har er at det scriptet jeg har på "intern.php" ser om du er logget inn eller ikke men du kan gjøre ting/se ting man ikke skal kunne uten å være logget inn.

 

Scriptet er fra en bok jeg har:)

 

logginn.php

PHP-kode:
<?php
session_start();  
if (isset($_POST['knapp']) ){
   //sjekk om brukernavn og passord er riktig    
   if ( $_POST['bruker'] == "jens" && $_POST['passord'] == "1234" ) {
       $_SESSION['navn'] = ucfirst($_POST['bruker']);
       $_SESSION['innlogget'] = true;
       include "intern.php";
   }
   else {
       //kaller opp siden på nytt igjen, dvs tvinger ny innlogging
       header("Location: {$_SERVER['PHP_SELF']}");
       exit; //hindrer at koden under utføres på tross av redirect
   }    
}//slutt if, knapp trykket
else {
   //skal vise skjemaet
?>

 

 

Intern.php

PHP-kode:
<?php
   session_start();
   //@session_start(); //@ gjør at evt. feilmelding ikke vises
   if ( isset($_SESSION['innlogget']) ) {
       echo "Du er logget inn " . $_SESSION['navn'];
   }
   else {
       include "index.php";
   }    
?>

 

 

Håper noen har en løsning på problemet mitt Kan si at jeg ikke vill ha det i mysql uannsett hva dere sier om det

Endret av Creep
Lenke til kommentar
Videoannonse
Annonse
Kan du vise koden til en av de siden du prøver å beskytte, men som ikke blir beskyttet?

7674114[/snapback]

 

Jeg bruker det scriptet som er på intern.php øverst på sidene, men innholdet vises selv om...vist det er det du mener?

Lenke til kommentar

jeg har jo denne koden på intern, den inkluderer index vist man ikke er logget inn men det vises fortsatt alt på siden som ikke skal vises

 

Kode:

PHP-kode:
<?php
  session_start();
  //@session_start(); //@ gjør at evt. feilmelding ikke vises
  if ( isset($_SESSION['innlogget']) ) {
      echo "Du er logget inn " . $_SESSION['navn'];
  }
  else {
      include "index.php";
  }    
?>

 

Er ikke helt med på hva du mener zorac

Lenke til kommentar

Ja, for etter den includen så fortsetter den bare med resten av scriptet den ble inkludert fra:

<?php
include("intern.php");
?>
Dette er superhemmelig!

 

Da vil den fortsatt vise "Dette er superhemmelig" for intern.php sier ingenting om at scriptet skal "stoppe".

 

Derfor må du ha en "exit;" etter "include("index.php"); i intern.php :)

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...