Login:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>VPN</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="Das VPN für coding usw.." />
<meta name="author" content="Sascha Müller" />
<meta name="keywords" content="VPn, coding, games, tipps, tricks" />
<link href="style.css" type="text/css" rel="stylesheet" />
<link href="favicon.ico" type="image/x-icon" rel="shortcut icon" />
</head>
<body>
<?php
session_start();
include_once('sense.inc.php');
if ( isset($_POST['login']) ) {
$userid = check_user($_POST['username'], $_POST['userpass']);
if ( $userid ) {
login($userid);
} else {
echo '<p>Ihre Anmeldedaten waren nicht korrekt!</p>';
}
}
if ( !logged_in() ) {
echo <<<END
<form method="post" action="login.php">
<label>Benutzername:</label> <input name="username" type="text"><br />
<label>Passwort:</label> <input name="userpass" type="password" id="userpass"><br />
<input name="login" type="submit" id="login" value="Einloggen">
</form>
END;
} else {
echo '<p><a href="wichtig.php">Testseite</a></p>';
echo '<p><a href="logout.php">Ausloggen</a></p>';
}
?>
</body>
</html>
Logout
Code:
<?php
session_start();
include_once('sessionhelpers.inc.php');
echo '<p>Sie sind ';
if ( !logged_in() ) {
echo 'nicht ';
}
echo 'eingeloggt.</p>';
logout();
echo '<p>Sie sind ';
if ( !logged_in() ) {
echo 'nicht ';
}
echo 'eingeloggt.</p>';
echo '<p><a href="login.php">Einloggen</a></p>';
?>
Code:
<?php
/**
* @return void
*/
function connect () {
$con = mysql_connect('localhost', 'root', '') or exit(mysql_error());
mysql_select_db('vpn', $con) or exit(mysql_error());
}
/**
* @param string $name
* @param string $pass
* @return boolean
*/
function check_user ( $name, $pass ) {
// magic quotes anpassen
if ( get_magic_quotes_gpc() ) {
$name = stripslashes($name);
$pass = stripslashes($pass);
}
// escapen von \x00, \n, \r, \, ', " und \x1a
$name = mysql_real_escape_string($name);
// escapen von % und _
$name = str_replace('%', '\%', $name);
$name = str_replace('_', '\_', $name);
$sql = 'SELECT UserId FROM users WHERE UserName = \'' . $name . '\' AND UserPass=\'' . md5($pass) . '\'';
if ( !$result = mysql_query($sql) ) {
exit(mysql_error());
}
if ( mysql_num_rows($result) == 1 ) {
$user = mysql_fetch_assoc($result);
return ( $user['UserId'] );
} else {
return ( false );
}
}
/**
* @param int $userid
* @return void
*/
function login ( $userid ) {
$sql = 'UPDATE users SET UserSession = \'' . session_id() . '\' WHERE UserId = ' . ((int)$userid);
if ( !mysql_query($sql) ) {
exit(mysql_error());
}
}
/**
* @return boolean
*/
function logged_in () {
$sql = 'SELECT UserId FROM users WHERE UserSession = \'' . session_id() . '\'';
if ( !$result = mysql_query($sql) ) {
exit(mysql_error());
}
return (mysql_num_rows($result) == 1);
}
/**
* @return void
*/
function logout () {
$sql = 'UPDATE users SET UserSession = NULL WHERE UserSession = \'' . session_id() . '\'';
if ( mysql_query($sql) ) {
exit(mysql_error());
}
}
connect();
?>
Code:
<?php
session_start();
include_once('sessionhelpers.inc.php');
echo 'Sie sind ';
if ( !logged_in() ) {
echo 'nicht ';
}
echo 'eingeloggt.<p />';
if ( !logged_in() ) {
echo '<p><a href="login.php">Anmelden</a></p>';
}
if ( logged_in() ) {
echo '<p>Geschützter Bereich</p>';
echo '<p><a href="logout.php">Ausloggen</a></p>';
}
?>