_TT_ Skrevet 20. februar 2004 Del Skrevet 20. februar 2004 Eg har funnet følgende login script, men får det ikke til å fungere: http://82.37.54.57/SCRIPTS/memberArea.zip ( fra http://82.37.54.57/index.html?page=source ) Når eg lager en bruker og logger inn, så kommer eg kun tilbake til login siden, men aldrig videre til "userarea.php". Noen som har en ide hvorfor? (eller har forslag til et annet/bedre script? ) Lenke til kommentar
Klette Skrevet 20. februar 2004 Del Skrevet 20. februar 2004 mekk et selv. Ta en titt på $_SERVER[php_AUTH_USER] og $_SERVER[php_AUTH_PWD] www.php.net Lenke til kommentar
_TT_ Skrevet 20. februar 2004 Forfatter Del Skrevet 20. februar 2004 Desverre så har eg ikke ferdigheter nok til å mekke et slikt script selv, siden eg nettopp begynnte med PHP denne uken... Så, fikk du scriptet til? eller er det ingen som gidder å prøve? Lenke til kommentar
Klette Skrevet 20. februar 2004 Del Skrevet 20. februar 2004 (endret) Uff, skal gjøre noe jeg ikke liker å gjøre, men dog.. Her er et eksempel. Her hentes brukernavn og passord fra en flatfil i formatet "bruker|passord" på hver linje. <?php session_start(); if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: Basic realm="Shootem up"'); header('HTTP/1.0 401 Unauthorized'); echo '<img src=/"http://www.ciboire.com/cartes/carte-61.jpg/">'; exit; } else { $user = $_SERVER['PHP_AUTH_USER']; $pass = $_SERVER['PHP_AUTH_PW']; if($_SESSION['loggedin'] != "yes"){ $lines = file("userdb.txt"); foreach($lines as $line){ if(trim($line) == $user."|".$pass){ $_SESSION['loggedin'] = "yes"; $_SESSION['username'] = $_SERVER['PHP_AUTH_USER']; $_SESSION['LoginTime'] = time(); } } } if($_SESSION['loggedin'] != "yes"){ echo "<img src='http://www.ciboire.com/cartes/carte-61.jpg'>"; exit; } ?> Vær nå snill å bruk dette kun som eksempel, og lag ditt eget script! Endret 20. februar 2004 av Klette Lenke til kommentar
Nervetattoo Skrevet 21. februar 2004 Del Skrevet 21. februar 2004 Foreslår at du leser en tutorial om login script. Login script er veldig enkelt å lage og krever ganske lite ferdigheter, ganske fint å mekke når man er ny i php. Var noe av det første jeg lærte meg faktisk etter standard Hello world. Du vil bli overrasket over hvor lett det egentlig er. Lenke til kommentar
The Red Devil Skrevet 21. februar 2004 Del Skrevet 21. februar 2004 Å lage eit login script er lett, men det er veldeg vanskeleg å lage eit "sikkert" login script. Lenke til kommentar
Nervetattoo Skrevet 21. februar 2004 Del Skrevet 21. februar 2004 Ja det blir en helt annen sak. Men et enkelt login script for ikke så veldig sensitiv informasjon, som det mest sannsynligvis er snakk om er jo greit. Er jo ikke så mange som trenger det absolutt mest sikre som er mulig. Lenke til kommentar
_TT_ Skrevet 25. februar 2004 Forfatter Del Skrevet 25. februar 2004 Hvordan kan eg på medlems sidene sjekke om brukeren er logget inn eller ikke? Og eventuellt hindre folk å kunne åpne disse sidene i text editorer og lignende? Lenke til kommentar
???????? Skrevet 25. februar 2004 Del Skrevet 25. februar 2004 PHP scripts kan ikke åpnes i en text editor, kun et eventuelt output (som html siden) kan åpnes. Det finnes mange måter å lage et logginn script. Skal du ha et lite enkelt logginn script kan du bruke scriptet til Klette, men det er ikke det sikreste i verden Skal du lage det tryggere legger du inn passordet (kryptert) og brukernavnet i en session og sjekker dette på hver side. Videre kan du implementere info om brukeren, som ip adresse ol., i sessionen for å passe på at brukeren virkelig er brukeren. Søk litt på forumet så finner du litt diskusjon om dette. Lenke til kommentar
jorgis Skrevet 25. februar 2004 Del Skrevet 25. februar 2004 Uansett hvor sikkert du prøver å gjøre det, koker hele greien uansett ned til et passord. Uansett er det mulig å få tak i passordet via social engineering. Lenke til kommentar
_TT_ Skrevet 26. februar 2004 Forfatter Del Skrevet 26. februar 2004 (endret) Eg har allerede et login script som fungerer, men eg må ha en eller annen kode i begynnelsen av hver av sidene som kun skal være tilgjengelige for medlemmer som er logget inn? Og BTW; ser dere noe feil i denne login koden? får ikke logget inn... <?PHP if (!isset($_POST['username']) || !isset($_POST['password'])) { header( "Location: index.html" ); exit; } elseif (empty($_POST['username']) || empty($_POST['password'])) { header( "Location: index.html" ); exit; } $user = addslashes($_POST['username']); $pass = md5($_POST['password']); $dbHost = "127.0.0.1"; $dbUser = "root"; $dbPass = ""; $dbDatabase = "member"; $dbTabel = "login"; $db = mysql_connect("$dbHost", "$dbUser", "$dbPass") or die ("Error connecting to database."); mysql_select_db("$dbDatabase", $db) or die ("Couldn't select the database."); $result = mysql_query("select * from $dbTabel where username='$user' AND password='$pass'", $db); $rowCheck = mysql_num_rows($result); if($rowCheck > 0){ while($row = mysql_fetch_array($result)){ session_start(); session_register('username'); header( "Location: members.php" ); } } else { echo 'Incorrect login name or password. Please try again.'; } ?> Endret 27. februar 2004 av _TT_ Lenke til kommentar
???????? Skrevet 26. februar 2004 Del Skrevet 26. februar 2004 Det scriptet er ikke sørlig forskjellig fra scriptet til Klette. Uansett så skal aldri database info ligge i samme fil! Lenke til kommentar
_TT_ Skrevet 26. februar 2004 Forfatter Del Skrevet 26. februar 2004 Eg har allerede et login script som fungerer, men eg må ha en eller annen kode i begynnelsen av hver av sidene som kun skal være tilgjengelige for medlemmer som er logget inn? Lenke til kommentar
_TT_ Skrevet 26. februar 2004 Forfatter Del Skrevet 26. februar 2004 Glem det, eg fannt ut av det. Men den koden tidligere... den får en kompis av meg til å kjøre på sin server, men eg får bare feil hele tiden. Er det noen spesielle instillinger i php eller mysql den koden trenger? Lenke til kommentar
???????? Skrevet 26. februar 2004 Del Skrevet 26. februar 2004 Hva er feilmeldingene? Lenke til kommentar
_TT_ Skrevet 27. februar 2004 Forfatter Del Skrevet 27. februar 2004 Programmet går til 'Incorrect login name or password. Please try again.' uansett om eg skriver inn riktig eller galt brukernavn/pass. Lenke til kommentar
_TT_ Skrevet 27. februar 2004 Forfatter Del Skrevet 27. februar 2004 Fannt også lignende feil ved registrering av bruker. En kan skrive inn samme brukernavn to ganger, uten at den programmet merker det, noe den er programmert til å gjøre da selfølgelig. <?php $adresse = "127.0.0.1"; $brukernavn = "root"; $passord = ""; $dbnavn = "member"; $tabell = "login"; $user = addslashes($_POST['user']); $pass = md5($_POST['pass']); $connect = mysql_connect ("$adresse", "$brukernavn", "$passord") or die ("Her dør vi i oppkoblinga"); $sjekk = "select * from $tabell WHERE username='$user'"; $sjekk2 = mysql_db_query ($dbnavn, $sjekk, $connect); $rowCheck = mysql_num_rows($sjekk2); if($rowCheck > 0){ echo "Brukernavnet finnes"; exit; } $action = "INSERT into $tabell values ('0', '$user', '$pass')"; if (mysql_db_query ($dbnavn, $action, $connect)) { header( "Location: index.html" ); exit; }else{ print("En feil oppstod under registrering. Vennligst prøv på nytt senere.\n"); } mysql_close ($connect); ?> Lenke til kommentar
_TT_ Skrevet 27. februar 2004 Forfatter Del Skrevet 27. februar 2004 Ingen som vet noe ?? Lenke til kommentar
???????? Skrevet 27. februar 2004 Del Skrevet 27. februar 2004 (endret) Først av alt, ikke bruk mysql_db_query: "This function has been deprecated since PHP 4.0.6. Do not use this function." - fra manualen. Edit: bruk mysql_connect, mysql_select_db og mysql_query Hvis du vil passe på at ikke to brukernavn er like, så gjør feltet unikt: ALTER TABLE `tabellnavn` ADD UNIQUE (brukernavn) Da er det ikke mulig å sette inn to like verdier. Ta en kikk på: http://www.mysqlfreaks.com/mysql_errors.php Endret 27. februar 2004 av ???????? Lenke til kommentar
_TT_ Skrevet 27. februar 2004 Forfatter Del Skrevet 27. februar 2004 Ok. skal se på det. Men hva med login biten? 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å