Smidt Skrevet 18. februar 2006 Del Skrevet 18. februar 2006 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 Lenke til kommentar
NH Skrevet 18. februar 2006 Del Skrevet 18. februar 2006 hmm, har en klasse her for bruk ved innlogging/utlogging og sjekking. http://norskwebforum.no/pastebin/1862 den skal være sikker, den har også innebygget en timout på sessionen som du kan sette opp selv (standard er et kvarter) Lenke til kommentar
Smidt Skrevet 19. februar 2006 Forfatter Del Skrevet 19. februar 2006 tusen takk, ser ut som om det er akkurat det jeg trenger, men hvordan bruker jeg klasser. har ikke vært borti det før. har forstått poenget med at en lager en funksjon og så kaller en på den funksjonen hver gang det er bruk for den, men vet ikke hvordan jeg gjør det i praksis. Lenke til kommentar
NH Skrevet 19. februar 2006 Del Skrevet 19. februar 2006 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 } ?> Lenke til kommentar
Smidt Skrevet 19. februar 2006 Forfatter Del Skrevet 19. februar 2006 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? Lenke til kommentar
NH Skrevet 20. februar 2006 Del Skrevet 20. februar 2006 har du endret infoen i 'minsql' klassen anngående oppsettet til mysql? Brukernavn, passord, host og database? du må også endre $table øverst i 'User' klassen Hadde vært fint om du postet feilmeldingen Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå