如何创建不需要数据库的简易登录脚本.我希望它是安全的.
好吧,这个脚本怎么样,我只是通过我的PHP知识来实现的.
safe_site.php包含此内容和一些内容:
session_start(); if (!isset($_SESSION["inloggning"]) || $_SESSION["inloggning"] !== true) { header("Location: login.php"); exit; }
Mark Biek.. 23
它不是一个理想的解决方案,但这是一个快速而肮脏的例子,展示了如何在PHP代码中存储登录信息:
'password1', 'user2'=>'password2' ); if(isset($_GET['logout'])) { $_SESSION['username'] = ''; header('Location: ' . $_SERVER['PHP_SELF']); } if(isset($_POST['username'])) { if($userinfo[$_POST['username']] == $_POST['password']) { $_SESSION['username'] = $_POST['username']; }else { //Invalid Login } } ?>Login You are logged in as =$_SESSION['username']?>
任何人都会看到这些密码的唯一方法是Web服务器停止解析PHP.然后你手上会有一个更大的问题:)他只是在寻找快速简便的东西. (12认同)
服务器不必停止解析PHP,当应用程序中存在其他漏洞(总有至少一个:)时,攻击者将能够在没有任何人知道的情况下读取其他人的密码,这是一个很大的问题,因为你说过.几个sha1函数调用不会杀死任何人,它会更安全. (5认同)
Sampson.. 11
FacebookConnect或 OpenID是两个很好的选择.
基本上,您的用户登录到他们已经是其成员的其他站点(Facebook或Google),然后您从该站点获得确认,告诉您该用户是值得信任的 - 启动会话,并且他们已登录.无需数据库(除非您想将更多数据与其帐户相关联).
它不是一个理想的解决方案,但这是一个快速而肮脏的例子,展示了如何在PHP代码中存储登录信息:
'password1', 'user2'=>'password2' ); if(isset($_GET['logout'])) { $_SESSION['username'] = ''; header('Location: ' . $_SERVER['PHP_SELF']); } if(isset($_POST['username'])) { if($userinfo[$_POST['username']] == $_POST['password']) { $_SESSION['username'] = $_POST['username']; }else { //Invalid Login } } ?>Login You are logged in as =$_SESSION['username']?>
FacebookConnect或 OpenID是两个很好的选择.
基本上,您的用户登录到他们已经是其成员的其他站点(Facebook或Google),然后您从该站点获得确认,告诉您该用户是值得信任的 - 启动会话,并且他们已登录.无需数据库(除非您想将更多数据与其帐户相关联).
我会使用这样的两个文件设置:
的index.php
的login.php
"userpass" ); if(isset($_GET['logout'])) { $_SESSION['username'] = ''; header('Location: ' . $_SERVER['PHP_SELF']); } if(isset($_POST['username'])) { if($users[$_POST['username']] !== NULL && $users[$_POST['username']] == $_POST['password']) { $_SESSION['username'] = $_POST['username']; header('Location: ' . $_SERVER['PHP_SELF']); }else { //invalid login echo "'; exit; ?>error logging in
"; } } echo '