Ik heb een Inlogsysteem gevonden met een registreer systeem waar ook een beveiliging bij zit.
Connect.php
Voor het verbinden met de database. Maar hoe verbind ik deze met deze code?
Login.php
+
Loginv.php
Dit is het Login Form.
Registreren.php
+
Registrerenv.php
En wat nu komt is volgensmij de beveiliging. dit weet ik niet 100% zeker.
Uwx3g.php
Nou, deze wil ik graag online hebben staan,
Ik denk dat de Login.php en de loginv.php samen in een bestand moeten staan en dat ik login.php in index.html moet zetten waar ik het login form wil hebben?
registreren.php en registrerenv.php moeten volgenmij dan ook bij elkaar in een bestand? en registreren komt op een andere pagina, ik zet er dan een link onder inlog form dat je hier moet klikken om te registreren, klopt dit? en registrerenv.php moet ik gewoon in dat bestand laten staan?
Dan over de beveiliging.
moet ik deze ook gewoon in file manage laten staan? of moet ik deze bij elke pagina plaatsen waar inlog form staat?
En met de verbinding (connect.php).
Daar staat dat ik iets moet invullen over mijn MySQL Database.
Nu snap ik niet wat en waar ik deze plaatsen moet.
Kunnen jullie mij helpen?
Mvg,
Connect.php
PHP:
<?php
//connecting to the database
$error = "Could not connect to the database";
$con = mysql_connect('---','---','---') or die($error);
mysql_select_db("---", $con) or die($error);
?>
Voor het verbinden met de database. Maar hoe verbind ik deze met deze code?
Login.php
PHP:
<html>
<title>Inloggen.</title>
<body>
<form action='loginv.php' method='POST'>
<table>
<tr>
<td>
Gebruikersnaam:
</td>
<td>
<input type='text' name='gebruikersnaam'>
</td>
</tr>
<tr>
<td>
Wachtwoord:
</td>
<td>
<input type='password' name='password'>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type='submit' value='Inloggen'>
</td>
</tr>
</table>
</form>
</body>
</html>
+
Loginv.php
PHP:
<?php
session_start();
if( $_SERVER['REQUEST_METHOD'] == 'POST') // Controle of er op de knop is gedrukt.
{
if(!empty($_POST['gebruikersnaam']) AND !empty($_POST['password'])) // Controle of alles is ingevult.
{
include_once 'connect.php'; // Connectie met database.
include_once 'uwx3g.php'; // Connectie salt page.
$gebruikersnaam = mysql_real_escape_string($_POST['gebruikersnaam']); // Gevaren voor sql injectie weren dmv. mysql_real_.......
$password = sha1(salt($_POST['password'])); // Hash en Salting van pw.
$sql = ("SELECT gebruikersnaam, password FROM gebruikers WHERE gebruikersnaam='". $gebruikersnaam . "' AND password='" . $password . "'"); // Selecteer user waar de gebruiker overeenkomt met ingevoerde pas
$uitvoer = mysql_query($sql);
$controle = mysql_num_rows($uitvoer); //Uitvoer van inlog
if($controle != 0)
{
//VERDERE VERWERKING. (DIT is aanjou, bijv. sessie ofziets?
}
else
{
header('Refresh: 2; url=login.php');
exit ('Verkeerde gebruikersnaam of wachtwoord.'); // Negatieve melding van ingevoerde gegevens.
}
}
else
{
header('Refresh: 2; url=login.php');
exit ('U heeft een van de gegevens niet goed ingevuld.'); // Negatieve melding van ingevoerde gegevens.
}
}
else
{
header('Refresh: 2; url=login.php'); // Negatief op de verwerk pagina gekomen, direct terug verwijzen met gepaste melding.
exit ('U bent op de verkeerde pagina gekomen, u wordt doorverwezen.');
}
?>
Dit is het Login Form.
Registreren.php
PHP:
<html>
<title>Registratie.</title>
<body>
<form action='registreerv.php' method='POST'>
<table>
<tr>
<td>
Gebruikersnaam:
</td>
<td>
<input type='text' name='gebruikersnaam'>
</td>
</tr>
<tr>
<td>
Wachtwoord:
</td>
<td>
<input type='password' name='password'>
</td>
</tr>
<tr>
<td>
Controle wachtwoord:
</td>
<td>
<input type='password' name='passwordc'>
</td>
</tr>
<tr>
<td>
E-mail:
</td>
<td>
<input type='text' name='mail'>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type='submit' value='Aanmelden'>
</td>
</tr>
</table>
</form>
</body>
</html>
+
Registrerenv.php
PHP:
<?php
//Defineer functie
function error($link)
{
header('Refresh: 3; url=' . $link.php . '');
}
if($_SERVER['REQUEST_METHOD'] == 'POST') // Controle of er op de knop is geklikt.
{
include_once 'connect.php'; // Connectie db.
if(!empty($_POST['gebruikersnaam']) AND !empty($_POST['password']) AND !empty($_POST['passwordc']) AND !empty($_POST['mail'])) // Controle op invoeren
{
if(($_POST['password']) == ($_POST['passwordc'])) // Controle of controle pw overeenkomt met echte pw.
{
include_once 'uwx3g.php'; // Connectie met salt page.
$gebruikersnaam = mysql_real_escape_string($_POST['gebruikersnaam']); //Data veilig maken voor sql injectie d.m.v. mysql_real.....
$password = sha1(salt($_POST['password'])); //sha1 hash van pass. Inclusief salt.
$mail = mysql_real_escape_string($_POST['mail']);
$sql = ("SELECT gebruikersnaam FROM gebruikers WHERE gebruikersnaam='". $gebruikersnaam . "'"); // Controle op gebruikersnaam, zo ja een 1 else en 0 (zie controle bij de volgende if)
$uitvoer = mysql_query($sql); //($row = mysql_fetch_assoc($get))
$controle = mysql_num_rows($uitvoer);
if($controle == 0) // Als uitvoer is 0 registreren.
{
mysql_query("INSERT INTO gebruikers (id, gebruikersnaam, password, mail, datum) VALUES ('','" . $gebruikersnaam . "', '" . $password . "', '" . $mail . "', '" . now() . "')"); // Gebruiker in db plaatsen.
header('Refresh: 4; url=login.php');
exit ('U bent succesvol aangemeld, u kunt nu inloggen.');
}
else
{
header('Refresh: 2; url=registreren.php');
exit ('Verkeerde gebruikersnaam of wachtwoord.'); // Negatieve melding van ingevoerde gegevens.
}
}
else
{
error(registreren.php);
exit ('De ingevoerde gegevens kloppen niet, u heeft het controle wachtwoord verkeerd ingevuld.'); // Negatieve melding van ingevoerde gegevens.
}
}
else
{
error(registreren.php);
exit ('De ingevoerde gegevens kloppen niet, niet alles is ingevuld.'); // Negatieve melding van ingevoerde gegevens.
}
En wat nu komt is volgensmij de beveiliging. dit weet ik niet 100% zeker.
Uwx3g.php
PHP:
<?php
function salt($pass, $salt="7dy23kl6yw4bd9x0k3", $str="")
{
$pass = str_replace(" ", "", $pass);
$pass = strrev($pass);
$arr[0] = strlen($pass);
$arr[1] = strlen($salt);
while($arr[0] > $arr[1] + 1)
{
$salt = $salt.$salt;
$arr[1] = strlen($salt);
}
$split_len = floor(max($arr) / (min($arr) - 1));
$salt = explode(" ", chunk_split($salt, $split_len, " "));
array_pop($salt);
$salt = array_reverse($salt);
$j = $arr[0] > count($salt) ? $arr[0] : count($salt);
for($i=0; $i<$j; $i++)
{
if(isset($pass{$i})) $str .= $pass{$i};
if(isset($salt[$i])) $str .= $salt[$i];
}
return $str;
}
?>
Nou, deze wil ik graag online hebben staan,
Ik denk dat de Login.php en de loginv.php samen in een bestand moeten staan en dat ik login.php in index.html moet zetten waar ik het login form wil hebben?
registreren.php en registrerenv.php moeten volgenmij dan ook bij elkaar in een bestand? en registreren komt op een andere pagina, ik zet er dan een link onder inlog form dat je hier moet klikken om te registreren, klopt dit? en registrerenv.php moet ik gewoon in dat bestand laten staan?
Dan over de beveiliging.
moet ik deze ook gewoon in file manage laten staan? of moet ik deze bij elke pagina plaatsen waar inlog form staat?
En met de verbinding (connect.php).
Daar staat dat ik iets moet invullen over mijn MySQL Database.
Nu snap ik niet wat en waar ik deze plaatsen moet.
Kunnen jullie mij helpen?
Mvg,
