Ham*_*ter 3 php authentication session login session-cookies
index.php
<?php
if( $_SESSION['auth'] != 1 ) {
require( 'login.php' );
}
else {
echo "hello";
}
?>
Run Code Online (Sandbox Code Playgroud)
login.php
<?php
$name = $_POST['name'];
$pass = $_POST['pass'];
if( isset($name) || isset($pass) )
{
if( empty($name) ) {
die ("ERROR: Please enter username!");
}
if( empty($pass) ) {
die ("ERROR: Please enter password!");
}
if( $name == "<some name>" && $pass == "<some password>" )
{
// Authentication successful - Set session
session_start();
$_SESSION['auth'] = 1;
setcookie("username", $_POST['name'], time()+(84600*30));
echo "Access granted!";
}
else {
echo "ERROR: Incorrect username or password!";
}
}
// If no submission, display login form
else {
?>
<html>
<head></head>
<body>
<center>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Username: <input type="text" name="name" value="<?php echo $_COOKIE['username']; ?>">
<p />
Password: <input type="password" name="pass">
<p />
<input type="submit" name="submit" value="Log In">
</center>
</body>
</html>
<?php
}
?>
Run Code Online (Sandbox Code Playgroud)
因此,在我仍在学习PHP的同时,现在我想尝试一些事情:
帮助表示赞赏。
1,您在index.php中缺少session_start()。添加它,您应该可以看到“ Hello world”
2,将行替换为“已授予访问权限!” 重定向:
header('Location: index.php');
exit;
Run Code Online (Sandbox Code Playgroud)
3,您绝对可以将凭据存储在cookie中,但是您应该始终对密码进行哈希处理和添加盐分。这是一篇有关密码哈希的好文章。
| 归档时间: |
|
| 查看次数: |
24520 次 |
| 最近记录: |