Jooakim Skrevet 25. august 2008 Del Skrevet 25. august 2008 Hei, jeg har fått vite at følgende ikke er sikkert nok til å kunne brukes: if($_POST['passord'] == pw) { echo 'blabla' } Men hvordan bør jeg da løse det? Lenke til kommentar
creAtiive Skrevet 25. august 2008 Del Skrevet 25. august 2008 (endret) <?php if(array_key_exists('submit', $_POST)) { $password = "test"; // Skriv ditt passord her. $passord = $_POST['password']; if(md5($password) == md5($passord)) { ?> <p><h1>Passord beskyttet innhold her.</h1></p> <?php } else { print "Feil pass."; die(); } } else { ?> <form action="" method="post"> Pass: <input type="password" name="password" /> <input type="submit" name="submit" value=" Logg Inn! " /> </form> <?php } ?> Vil fungere greit. Med mindre php-motoren klikker, da vises dette i kildekoden. Du kan også legge til slik at en $_SESSION blir startet, slik at man ikke blir logget ut igjen med engang. Eksempel på dette: (fort satt sammen)(testet) <?php session_start(); if(isset($_POST['logut'])) { $_SESSION['loggetinn'] = false; echo "Du er nå logget ut."; } session_start(); if($_SESSION['loggetinn']){ ?> <p> <h1>Passord beskyttet innhold her.</h1> <form action="" method="post"> <input type="submit" name="logut" value="Log Ut!"> </form> </p> <?php die(); } if(array_key_exists('submit', $_POST)) { $password = "test"; // Skriv ditt passord her. $passord = $_POST['password']; if(md5($password) == md5($passord)) { session_start(); $_SESSION['loggetinn'] = true; if(!$_SESSION) { echo $php_errormsg; } else { echo "Du er nå logget inn!"; } } else { print "Feil pass."; die(); } } else { ?> <form action="" method="post"> Pass: <input type="password" name="password" /> <input type="submit" name="submit" value=" Logg Inn! " /> </form> <?php } ?> Endret 25. august 2008 av creAtiive Lenke til kommentar
Jonas Skrevet 25. august 2008 Del Skrevet 25. august 2008 (endret) Dersom du bare ønsker å passord-beskytte et par filer, så funker .htaccess langt bedre enn alle andre metoder, spesielt det postet ovenfor. Det er lett, det har gått gjennom omfattende testing og det er veldig pålitelig. if(md5($password) == md5($passord)) { Hva skal dette være et forsøk på å være? Du har vel nettopp hørt om MD5-kryptering og gjør et ynkelig forsøk på å gjøre scriptet sikkert? Til din informasjon, så er MD5 i scriptet ditt fullstendig overflødig. Edit: Haha, fin blanding av norsk og engelsk. :!: Endret 25. august 2008 av Jonas Lenke til kommentar
creAtiive Skrevet 25. august 2008 Del Skrevet 25. august 2008 if(md5($password) == md5($passord)) { Hva skal dette være et forsøk på å være? Veel, vis du ikke ser det. Burde du lese mer grunnlegende php. *ironi, eller sarkasme - vet a faen * Lenke til kommentar
Martin A. Skrevet 25. august 2008 Del Skrevet 25. august 2008 Bwahahahaha! Tror nok det er andre enn Jonas som trenger å lese litt mer her. md5('something') == md5('something') er like sikkert som 'someting' == 'something' Men om du derimot gjør det slik, blir det sikrere. $pass = "md5-hashed password"; md5( $_POST['password'] ) == $pass ) Det holder også at du bruker session_start() én gang. Om scriptet ditt, mot formodning, ender opp med å kjøres uten stopp, startes sessions tre ganger. Lenke til kommentar
OISNOT Skrevet 26. august 2008 Del Skrevet 26. august 2008 (endret) <?php $password = "test"; // Skriv ditt passord her. $passord = $_POST['password']; if(md5($password) == md5($passord)) { Det er kun 'bruk' for å hashe passord hvis de skal lagres et sted. Lagrer du passordet i "klar tekst" slik som her så er det ikke vits å hashe det før det sammenlignes... Md5 hashing av passord brukes gjerne i flerbrukersystemer. Det brukes gjerne i databaser så ikke noen med db/backup lese tilgang eller noen som får tilgang til databasen via en usikret spørring skal kunne få en liste over alle passordene. (DB admins kan jo bare midlertidig endre passordet.) Er du redd for at noen vil kunne laste ned filene dine uten å få tilgang til å endre dem, så er det nok md5 bibliotek der ute for dem å kunne søke etter en tekststreng som vil gi samme md5 sum. Så du burde kanskje salte passordene isåfall, dvs legge til en tekststreng (konstant) til passordet før det hashes... Ikke sikker på ka du trenger siden eg ikke vet noe om applikasjonen, men virker som en enkel hjemmeside/blog? Endret 26. august 2008 av OISNOT Lenke til kommentar
Jooakim Skrevet 26. august 2008 Forfatter Del Skrevet 26. august 2008 Dersom du bare ønsker å passord-beskytte et par filer, så funker .htaccess langt bedre enn alle andre metoder, spesielt det postet ovenfor. Det er lett, det har gått gjennom omfattende testing og det er veldig pålitelig.Ah, var ikke klar over at det var mulig å passordbeskytte enkeltfiler med .htaccess. Takk for hjelpen! 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å