SID selber generieren
Verfasst: 09.01.2005 13:23
Hi!
Wollt mal fragen, wie ihr die SID generiert.
Wollt mal fragen, wie ihr die SID generiert.
phpBB.de - Die deutsche phpBB-Community
https://www.phpbb.de/community/
Code: Alles auswählen
$session_id = md5(uniqid($user_ip));
$sql = "INSERT INTO " . SESSIONS_TABLE . "
(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in)
VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)";
Code: Alles auswählen
include("config.php"); //Zu den Zugangsdaten der Datenbank
if(!$_COOKIE['%cookiename%_sid']){ /*%cookiename% bitte gegen den passenden prefix austauschen */
if($_POST['username']){
$client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR );
function encode_ip($dotquad_ip)
{
$ip_sep = explode('.', $dotquad_ip);
return sprintf('%02x%02x%02x%02x', $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]);
}
$user_ip = encode_ip($client_ip);
$session_id = md5(uniqid($user_ip));
$res = mysql_query("SELECT * FROM `phpbb_users` WHERE `username` LIKE '".$_POST['username']."' LIMIT 1;");
echo(mysql_error());
if(mysql_num_rows($res) > 0){
if(md5($_POST['password']) == mysql_result($res, 0, "user_password")){
$sql = "UPDATE " . SESSIONS_TABLE . "
SET session_user_id = $user_id, session_start = ".time().", session_time = ".time().", session_page = 0, session_logged_in = ".$_POST['autologin']."
WHERE session_id = '".$session_id."'
AND session_ip = '".$user_ip."'";
if(!$db->mysql_query($sql)){
$sql = "INSERT INTO `phpbb_sessions`
(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in)
VALUES ('$session_id', $user_id, ".time().", ".time().", '$user_ip', 0, ".$_POST['autologin'].")";
mysql_query($sql);
}
setcookie("pca_sid", $session_id);
header("Location: %wohin%");
/*Statt %wohin% bitte die Umleiten angeben, also http://www.ichunddu.de */
exit;
}
}
}
}
Code: Alles auswählen
<form name="form1" method="post" action="">
Name:
<input type="text" name="username">
<br>
Passwort:
<input type="password" name="textfield">
<br>
Autologin:
<input type="checkbox" name="autologin" value="1">
<br>
<input name="login" type="submit" id="login" value="Login">
</form>