Avatar billede danco Nybegynder
21. august 2008 - 21:45 Der er 3 kommentarer og
1 løsning

Login system med Mysql database

Hejsa, jeg må indrømme at jeg ikke er så kendt med PHP programmering men dog men en del erfaring inden for HTML og Java kodning. jeg skal på min hjemmeside indbygge et system hvor jeg fra en krypteret side kan oprette brugere, indsætte login oplysninger i en database. Når brugeren logger ind skal der vidresendes til en speciel side, dvs hver bruger vil se en unik side.

Jeg har følgende dokumenter:

MySQL database:
__________________
CREATE TABLE `members` (
`id` int(4) NOT NULL auto_increment,
`username` varchar(65) NOT NULL default '',
`password` varchar(65) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;

--
-- Dumping data for table `members`
--

INSERT INTO `members` VALUES (1, 'DIT NAVN', 'DIT PASSWORD');

Login_succes.php
______________________
<?
//This code should become on every secret site!
session_start();
if(!session_is_registered(myusername)){
header("location:main_login.php");
}
?>

<html>
<body>
<META HTTP-EQUIV="Refresh"
      CONTENT="10; URL=index.htm">


<center><font color="red"><i><u><h3>Du er nu logget ind, om 10 sekunder sendes du videre til det beskyttet område</u></i></h3></font><br><br><br>

Sendes du ikke automatisk videre klik da på dette <A HREF="index.htm"> link</a>
</body>
</html>

Logout.php
_________________
<?php
session_start();
if( session_unregister('loginid') == true
        && session_unregister('username')==true ) {
  header('Location: URL');
  session_destroy();
} else {
  unset($_SESSION['loginid']);
  unset($_SESSION['username']);
  session_destroy();
  header('Location: URL');
}
?>

Check_login.php
_________________
<?php
ob_start();
$host="195.128.174.34"; // Host name
$username="web136521"; // Mysql username
$password="rc979wfb13"; // Mysql password
$db_name="web136521"; // Database name
$tbl_name="members"; // Table name


// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// encrypt password
$encrypted_mypassword=md5($mypassword);


$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
echo "Forkert brugernavn eller kodeord";
}

ob_end_flush();
?>

Main_login.php
<body background="pic/bg.png" bgproperties="no-repeat">
<div style="overflow: auto; position: absolute; top: 0px; left: 0px;">
<style type="text/css">
<!--
.style1 {
    font-size: large
}
-->
</style></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<table width="450" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="black"
background="" ><font color="white">
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="black">
<tr>
<td colspan="18"><font color="white"><b><h3><center>
  <p><strong><font color="#FFFFFF" size="+3">Kunde-login</font></strong></p>
  <p>&nbsp;  </p>
</center></td>
</tr>
<tr>
<td width="79">  <div align="center"><strong><font color="#FFFFFF"size="+1">Brugernavn </font> </strong></div></td>
<td width="4">:</td>
<td width="213"><center>
  <p>
    <input name="myusername" type="text" id="myusername" />
  </p>
  <p>&nbsp; </p></td>
</tr>
<tr>
<td>  <div align="left"><strong><font color="#FFFFFF"size="+1">Kodeord</font></strong>
  </div></td>
<td>:</td>
<td><input name="mypassword" type="text" id="mypassword"></td>
</tr>
<tr>
<td height="190" width="145">&nbsp;</td>
<td>&nbsp;</td>
<td><p>
  <input type="submit" name="Submit" value="Log ind" />
  </p>
  <p>&nbsp;</p>
<td width="41">&nbsp;</td>
</tr>
</table>

</td>
</form>
</tr>
</table>


Jeg håber meget at der er nogle af jer eksperter der vil yde mig den hjælp.
Dog vil jeg gerne bede om udførlige svar :)
Avatar billede nemlig Professor
21. august 2008 - 21:57 #1
Mine korte bidrag er:
Oplys aldrig login-oplysninger til Mysql. Det har du gjort her.
Password bør du kryptere, fx med MD5.
http://dk.php.net/manual/en/function.md5.php
Avatar billede danco Nybegynder
21. august 2008 - 22:13 #2
:)
bare rolig de oplysninger der tilgængelige der er forældet idet jeg har skiftet web-host fra dette dokuments tid.

Men tak for inputet.
Avatar billede -veile- Nybegynder
10. september 2008 - 21:18 #3
nemlig = det hedder ikke krypter! men hashing. var det en kryptering kunne du dekryptere den igen, det kan du ikk med et hash.

et godt sikkerheds råd ville være benyt sha1() istedet for md5() hashet, da man har fundet man huller ( eller hvad man nu kalder det) i det hash!
Avatar billede danco Nybegynder
27. september 2008 - 22:07 #4
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester