Gå til innhold

hjelp til endring i login script


Anbefalte innlegg

hei.

jeg har problemer med en hacker som har logget seg inn i cms'et mitt og slettet postet og lagt ut egne (se her for sist tråd).

 

det eneste jeg har igjen nå er å få innloggingssystemet til å fungere.

jeg har nå gått fra å ha passord i fil til database.

jeg lurte på om noen kunne hjelpe meg med å fikse dette, jeg har bare tilgang til datamaskinen med kildekoder og sånt nå i helgen så det hadde vært supert om jeg kunne fått hjelp til å fikse det i løpet av i dag og i morgen.

 

her kommer koden:

 

først har jeg en kode som ligger øverst i filene jeg skal beskytte

<?php
session_start();

if($_SESSION['brukernavn'] && $_SESSION['passord'])
{
$author=$_SESSION['brukernavn'];
}
else
{ 
header ("Location: http://www.cms.predicted.net/login/");
 exit;
}

// your session registering here
// Please note to verify a password and display a 403 error.


session_start();
if(isset($_SESSION['brukernavn'])) 
{ 
$author=$_SESSION['brukernavn'];
} 
if
(!isset($_SESSION['brukernavn']))
{
 header("Location: http://www.cms.predicted.net/login/");
 echo"Du må logge inn får å nå disse sidene"; 
} 
?>

så har jeg koden som sjekker infoen fra login skjemaet:

<?php
$brukernavn = "bruker";
$MD5_passord = "pass"; 
$brukerdata = $_POST['brukernavn'];
$passord = md5($_POST['passord']);

if($passord == "$MD5_passord" && $brukerdata == "$brukernavn"){

    session_start();
   $_SESSION['innlogget'] = 1;
   $_SESSION['brukernavn'] = $brukernavn;
   $_SESSION['passord'] = $MD5_passord;
   
header ("Location: http://www.cms.predicted.net/index.php");
}
   
   else{
       echo "Feil brukernavn eller passord! Sjekk at Caps Lock ikke er aktivert og prøv igjen."; 
   }
   
?>

er dette en sikker måte og hvordan kan jeg evt gjøre den sikker samtidig som jeg endrer passordsjekken til å gå mot databasen?

håper noen kan hjelpe.

 

/Smidt

Videoannonse
Annonse

du tilordner en klasse til et objekt. Et objekt er en variabel som består av pekere separert med ->

 

så det er noen små ting du må ordne selv.

 

-Lag et login form med tillhørende action (der etter de har trykket submit)

 

der må du bruke koden:

<?php
require_once('login.class.php'); //klassen jeg ga deg i min forrige post

$login = new User; //her tilordenr du klassen User til objektet $login
$login->login($_POST['brukernavn'], $_POST['pasord']); //her kjører du metoden login() som er inne i klassen User
?>

 

Skriv en slik kode pluss et loginform så er logindelen utført.

 

Logout går omtrentlig likt:

<?php
require_once('login.class.php'); //klassen fra min forrige post

$login = new User;
$login->logout();
?>

 

får i sjekke om en bruker er innlogget, og sjekke at det ikke er mere enn 15 min siden han refreshet sist bruker du denne:

<?php
require_once('login.class.php');
$login = new User;

if($login->check_login() == true){
 //brukeren er logget inn
} else {
 //brukeren ikke logget inn
}
?>

okei, nå forstår jeg litt mer.

jeg har satt det opp sånn som du sa, men når jeg trykker på login i skjemaet får jeg opp denne feilmeldingen.

tror kanskje det kan ha noe med databaseoppsettet å gjøre.

der har jeg i tabellen med brukere

brukernavn

passord

og id?

er det riktig eller skal jeg bare ha bruker og pass?

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