Gå til innhold

Loginsysteme mit trenger en litten fiks


Anbefalte innlegg

Skrevet (endret)

Hei!

 

Jeg lagde et login og registrerings script i dag og det funker perfekt :D

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 av dannyboy_1992_
Videoannonse
Annonse
Skrevet

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>

Skrevet (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 av ZoRaC
Skrevet
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". :)

Skrevet

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.

Skrevet (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 av dannyboy_1992_
Skrevet

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'];

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