Hey waar moet je paswoord opslaan als iemand hem inlogt het schijnt niet veilig te zijn in cookies :-( waar zet je ze dan
kheb zelf eens zitten zoeken en ik heb dit gemaakt is dit veilig ?

login.php
-----------
<?

$microtime = microtime();
$split = explode(" ", $microtime);
$exact = $split[0];
$secs = date("U");
$bgtm = $exact + $secs;
if ($p == "")
{
require('header1.php');
echo "<title>..::Che-Lives-clan::..::Login::..</title>";
require('header2.php');
echo "<center>
<form method='POST' action='login.php'>
<input type='hidden' name='p' value='logon'>
<input type='hidden' name='url' value='$_GET[url]'>
Acount:<br><input type='text' name='login_naam' size='15'><br>
Password:<br><input type='password' name='pass_word' size='15'><br>
<input type='submit' name='B1' value='Login'>
<input type='reset' name='B2' value='Reset'> <br><a href=\"new_member.php\" target=\"_parent\">Register</a>
</form></center>";
require('header3.php');
}

if ($_POST[p] == "logon")
{
include('connect.php');
$_POST[pass_word] = md5($_POST[pass_word]);
$sql="select user, pass, membercode from members WHERE user='$_POST[login_naam]' AND pass='$_POST[pass_word]'";
$res=mysql_query($sql);
$row=mysql_fetch_row($res);
if ($row[0] != $_POST[login_naam] || $row[1] != $_POST[pass_word]) {
require('header1.php');
echo "<title>..::Che-Lives-clan::..::Login::..</title>";
require('header2.php');
echo "Wrong user or password<br>click <a href=\"login.php\">here</a> to try again";
require('header3.php');
exit("");}
else{

session_start();
$sessie = session_id();
$ip = $_SERVER["REMOTE_ADDR"];
mysql_query("UPDATE members SET user_sessie = '$sessie', ip_adress ='$ip' WHERE membercode = '$row[2]'");
$_SESSION['sessie_id'] = $sessie;
$_SESSION['ip'] = $ip;
$_SESSION['gebruiker'] = $row[0];
setcookie("sessie","$sessie;$ip;$row[0]",time()+86400);
if($_POST[url]==""){
$_POST[url]="http://www.che-lives-clan.com";;
}
require('header1.php');
echo "<title>..::Che-Lives-clan::..::Login::..</title>";
require('header2.php');
echo "<center>Your logged in<br>you wil be redicted in 5 seconds<br><a href=\"$_POST[url]\">or you can click here</a>";
echo "<script> setTimeout(\"document.location='$_POST[url]'\",5000);</script>";
require('header3.php');
}
}


?>
Bovenaan memberpagina
-----------------------------
<?
session_start();

$host = ""; //host, meestal localhost
$user = ""; //gebruikersnaam
$pass = ""; //database wachtwoord
$db = ""; //database naam
mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($db);
$microtime = microtime();
$split = explode(" ", $microtime);
$exact = $split[0];
$secs = date("U");
$bgtm = $exact + $secs;
if (empty($_SESSION['gebruiker']) || empty($_SESSION['sessie_id']) || empty($_SESSION['ip']))
{
if($_COOKIE[sessie]!=""){
$split = explode (";", $_COOKIE[sessie]);
$_SESSION['sessie_id'] = $split[0];
$_SESSION['ip'] = $split[1];
$_SESSION['gebruiker'] = $split[2];
}
}

$query = mysql_query("SELECT user_sessie,ip_adress FROM members WHERE user = '$_SESSION[gebruiker]'");
$sessie = mysql_fetch_row($query);
if ($sessie[0] != $_SESSION['sessie_id'] || $sessie[1] != $_SERVER["REMOTE_ADDR"])
{
$ingelogd="0";
session_unset($_SESSION['gebruiker'], $_SESSION['sessie_id'], $_SESSION['ip']);
} else {
$ingelogd="1";

}

?>
Waarom doe je zelf een Cookie met sessie?

Nu heb je TWEE cookies met twee sessie id's, session_start maakt zelf -ook- een cookie aan met een sessieid.
Ja hoe komt het dan als ik 5 min later weer op mijn site ga dat ik weer uitgelogd ben maar met mijn script niet ?
Ik zou het niet weten, ik heb niet bar veel zin gehad om die code droog te debuggen. Ik zie ook geen online versie dus het resultaat kan ik zo ook niet bekijken.

Let even op die toon, het lijkt alsof je het zelf al zeker weet, vraag dan niet om hulp.

http://nl2.php.net/manual/en/ref.session.php


A visitor accessing your web site is assigned an unique id, the so-called session id. This is either stored in a cookie on the user side or is propagated in the URL.


Er zijn verscheidene opties voor de cookies:


session.cookie_lifetime integer
session.cookie_lifetime specifies the lifetime of the cookie in seconds which is sent to the browser. The value 0 means "until the browser is closed." Defaults to 0.See also session_get_cookie_params() and session_set_cookie_params().


Kortom: neem de handleiding nog eens door.
als ik de sessie id heb kan ik de members dan ook laten inloggen alle met de sessie id ?

Reageren