Danny92 Skrevet 18. oktober 2007 Skrevet 18. oktober 2007 (endret) Hei! Jeg lagde et login og registrerings script i dag og det funker perfekt Jeg er ennå i lære i php og kan ikke så fryktelig mye. Jeg vil at scripte skal huske meg alltså jeg har prøvd det på adminpanelet mit og måte logge inn hver gang jeg gikk inn på en side, er cookies eller session enklest? Her er scriptet: login.php: <?php include "config.php"; $myusername=$_POST[name]; $mypassword=$_POST[pass]; $sql="SELECT * FROM usersystem WHERE bruker='$myusername' and pass='$mypassword'"; $result=mysql_query($sql); $count=mysql_num_rows($result); if($count==1){ echo"INHOLD SOM KOMMER OPP NÅR DU LOGGER INN!"; } else { echo "Galt brukernavn eller passord!"; } ?> register.php: <?php include "config.php"; if ($_POST['submit']){ $bruker = $_POST['bruker']; $pass = $_POST['pass']; mysql_query("insert into usersystem set bruker='$bruker', pass='$pass'"); } else { echo (" <form method='POST' action=''> Brukernavn:<br> <input type='text' name='bruker' value=''><br> Passord:<br> <input type='text' name='pass' value=''><br> <input type='submit' name='submit' value='Lag bruker!'> </form> "); }; ?> Endret 18. oktober 2007 av dannyboy_1992_
Wackamole Skrevet 18. oktober 2007 Skrevet 18. oktober 2007 Hei, jeg refferer til Mortz sitt innlogging system.. Her er innloggingen (umodifisert, du må endre dette til ditt bruk) Klikk for å se/fjerne innholdet nedenfor <?php /* ______________________________________________________________________ _LOGINSCRIPT_v1.3_____________________________________mortz.tjokk.net_ Forfatter: Morten Daniel Fornes E-post: [email protected] Hjemmeside: http://mortz.tjokk.net Sist endret: 21/10/2005 _______________________________________________________________________ _______________________________________________________________________ _DISCLAIMER_&_LISENS:__________________________________________________ * All bruk av dette scriptet skjer på _EGET_ ansvar! Jeg tar ikke på meg skylden om en bug i scriptet mitt fuxxer serveren din eller noe! * Scriptet kan KUN BRUKES AV PRIVATPERSONER PÅ SIN EGNE PERSONLIGE HJEMMESIDE MED LINK TILBAKE TIL MIN SIDE!! D.v.s.: - Scriptet skal KUN BRUKES PÅ PERSONLIGE HJEMMESIDER. - Du kan IKKE LEGGE SCRIPTET PÅ EN HJEMMESIDE DU HAR FÅTT BETALING FOR Å HA LAGET!! Slike tilfeller vil selvsagt straks bli saksøkt, anmeldt, og personen mister i tillegg all respekt og selvtillit. - Du kan IKKE TA BETALING FOR Å HJELPE ANDRE MED Å LEGGE UT SCRIPTET! - Du kan IKKE SELGE SCRIPTET VIDERE!! - Altså, du kan aldri ta BETALT for TJENESTER der DETTE SCRIPTET er en del av/innvolvert i! * Du kan IKKE DISTRIBUERE SCRIPTET VIDERE! I hvertfall IKKE I DITT EGET NAVN! Gi heller ut en link til hjemmesida mi, og gjerne anbefal det for andre =) * Det KAN selvsagt GJØRES mange UNNTAK av reglene som står over, etter egen avtale gjort med meg på forhånd. (Se hjemmeside for kontaktinfo) Ikke vær redde for å spørre! =)) _______________________________________________________________________ _______________________________________________________________________ _INSTALLERING_OG_KONFIGURERING:________________________________________ 1. Åpne 'admin.php' og forandre konfigurasjonen til dine behov. Passordet er kryptert og som standard satt til 'pass'. Gå til http://mortz.tjokk.net og bruk krypteringsverktøyet for å lage ditt eget! 2. Eventuelt åpne 'admin.php' og forandre på layouten så den matcher siden din. Pass på at du ikke tuller bort noen av PHP-kodene da. =) 3. Åpne eksempel.php for å se hvordan du kan lage en beskyttet side. _______________________________________________________________________ _______________________________________________________________________ _ANNET:________________________________________________________________ * Får du problemer, så sjekk hjemmesiden min for informasjon og eventuelt ta kontakt. * Om du oppdager en bug/feil i scriptet setter jeg pris på at du sier ifra om det, så den kan rettes opp så fort som mulig. * Si gjerne ifra om du har forslag til forbedringer etc. * Følg med på http://mortz.tjokk.net/ for eventuelle oppdateringer! _______________________________________________________________________ */ /*** KONFIGURASJON ***/ $host = "localhost"; //your database host $user = "root"; // your database user name $pass = ""; // your database password $db = "test"; // your database name $connection = mysql_connect ($host, $user, $pass) or die ("Unable to connect"); mysql_select_db ($db) or die ("Unable to select database $db"); $sql = mysql_query ("SELECT * FROM members ORDER BY id") or die ("Error in query: $sql".mysql_error()); while($row = mysql_fetch_array($sql)){ $URLToAdminPage = "admin.php"; $Username = $row['nom']; // brukernavnet // sett inn ditt md5krypterte passord under. $EncryptedPassword = $row['pass']; } /*** SCRIPTET STARTER HER ***************************************************/ /*** (ikke gjør endringer med mindre du vet hva du gjør! =) *****************/ // sjekke om brukeren er logget inn session_start(); if ($_SESSION['LoggedIn']) $LoggedIn=true; else $LoggedIn=false; /* INNLOGGING */ if ($_GET['action']=="login") { $user = $_POST['user']; $pass = $_POST['pass']; if ($user == $Username && md5($pass) == $EncryptedPassword) { $_SESSION['LoggedIn'] = true; header("Location: $URLToAdminPage"); } else header("Location: $URLToAdminPage?msg=error"); } /* UTLOGGING */ if ($_GET['action']=="logout") { $_SESSION['LoggedIn'] = false; header("Location: $URLToAdminPage?msg=loggedout"); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Loginscript v1.3</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <h1>Administrasjon</h1> <?php /* LOGINFORM */ if ($LoggedIn) echo "<p>Du er for øyeblikket logget inn.</p>\n<p><a href=\"admin.php?action=logout\">Logg ut!</a></p>"; else { echo <<< end <form action="admin.php?action=login" method="post"> <table cellspacing="0" cellpadding="0" border="0"> <tr><td>Brukernavn: </td><td><input name="user" type="text" size="$InputSize"></td></tr> <tr><td>Passord: </td><td><input name="pass" type="password" size="$InputSize"></td></tr> <tr><td></td><td><input type="submit" value="Login"></td></tr> </table> </form> <p>Du må logge inn!</p> end; if ($_GET['msg']=="error") echo "<p style=\"color:red\"><b>Feil brukernavn eller passord!</b></p>\n"; if ($_GET['msg']=="loggedout") echo "<p style=\"color:red\"><b>Du er nå logget ut!</b></p>\n"; } // PLZ ikke fjern neste linje =) echo "<p style=\"font-size:10px;margin-top:40px\"><i>Powered by <a href=\"http://mortz.tjokk.net\">mortz.tjokk.net</a>!</i></p>\n"; ?> </body> </html> Og her er den koden som skjekke om brukeren er logget inn eller ikke... Klikk for å se/fjerne innholdet nedenfor <?php // sjekke om brukeren er logget inn session_start(); if ($_SESSION['LoggedIn']) $LoggedIn = true; else $LoggedIn = false; ?> <html> <head> <title>Beskyttet side</title> </head> <body> <?php if ($LoggedIn) echo "her kommer det som er beskyttet"; else echo" <h1>Permission Denied!</h1> <p>Du må logge inn</p> "; ?> </body> </html>
BigJackW Skrevet 18. oktober 2007 Skrevet 18. oktober 2007 dannyboy_1992_, svært så usikre script vi har i dag da ;O Du må validere alt som skal ut / inn i database! Anbefaler å ta en titt på quote_smart funksjonen; http://no.php.net/manual/en/function.mysql...tring.php#70441
ZoRaC Skrevet 18. oktober 2007 Skrevet 18. oktober 2007 (endret) Passord bør via md5() for å bedre sikkerheten også. Husk også å bruke ' rundt keys. Anbefaler også å sette "error_reporting(E_ALL);" og "ini_set("display_errors", true);" øverst i alle script - da vil den informere deg om feil i scriptet. <?php session_start(); include "config.php"; if (isset($_SESSION['name'])) { $myusername = mysql_real_escape_string($_SESSION['name']); $mypassword = mysql_real_escape_string($_SESSION['pwd']); } else if (isset($_POST['name'])){ $myusername=mysql_real_escape_string($_POST['name']); $mypassword=md5($_POST['pass']); } else { // Vis innloggingskjema } $sql="SELECT count(*) FROM usersystem WHERE bruker='$myusername' and pass='$mypassword'"; $result=mysql_query($sql); $count=mysql_num_rows($result); if($count==1){ $_SESSION['name'] = $myusername; $_SESSION['pwd'] = $mypassword; echo"INHOLD SOM KOMMER OPP NÅR DU LOGGER INN!"; } else { echo "Galt brukernavn eller passord!"; } ?> <?php include "config.php"; if (isset($_POST['submit'])){ $bruker = mysql_real_escape_string($_POST['bruker']); $pass = md5($_POST['pass']); mysql_query("insert into usersystem set bruker='$bruker', pass='$pass'"); } else { echo (" <form method='POST' action=''> Brukernavn:<br> <input type='text' name='bruker' value=''><br> Passord:<br> <input type='text' name='pass' value=''><br> <input type='submit' name='submit' value='Lag bruker!'> </form> "); }; ?> Edit: Du sjekker forresten ikke om et brukernavn er i bruk fra før før du registrere. Så hvis du registrere en bruker 2 ganger, med samme passord vil heller ikke innloggingsscriptet virke for den brukeren slik det er nå. Endret 18. oktober 2007 av ZoRaC
Wackamole Skrevet 18. oktober 2007 Skrevet 18. oktober 2007 Du må legge til hva han skal ha i toppen av hver php side han skal ha skjekket innloggingen...
Danny92 Skrevet 19. oktober 2007 Forfatter Skrevet 19. oktober 2007 Ok, tusen takk ale sammen! Jeg skal begynne å endre jeg og sikkerhet er ikke min sterke side, hehe..
ZoRaC Skrevet 19. oktober 2007 Skrevet 19. oktober 2007 Du må legge til hva han skal ha i toppen av hver php side han skal ha skjekket innloggingen... Den øverste av de 2 code-blokkene jeg har skrevet skal inkluderes på alle sider som skal "beskyttes".
Danny92 Skrevet 20. oktober 2007 Forfatter Skrevet 20. oktober 2007 Da funker det meste men jeg lurer på en ting, hvordan kan jeg poste brukernavne du er logget inn med på siden f.eks Velkommen brukernavn eller noe sånt.
Danny92 Skrevet 20. oktober 2007 Forfatter Skrevet 20. oktober 2007 Ja, selvfølgelig Takk får hjelpen i hvertfal
Danny92 Skrevet 20. oktober 2007 Forfatter Skrevet 20. oktober 2007 (endret) Det er noe feil med det login scriptet dit ZoRaC den viser det som skal stå når du når du er logget inn men ikk er det Endret 20. oktober 2007 av dannyboy_1992_
ZoRaC Skrevet 20. oktober 2007 Skrevet 20. oktober 2007 Sikker? Husk at når du har logget inn er du innlogget til du lukker nettleseren... Ellers må du lage et logg-ut script med unset($_SESSION['name']); og unset($_SESSION['pwd'];
Danny92 Skrevet 20. oktober 2007 Forfatter Skrevet 20. oktober 2007 Skal se over scriptet jeg, kanskje jeg har gjort noe feil xD
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å