最近也是突发奇想,如果没有数据库那么能不能实现登录系统呢,测试了之后发现真的可以啊
把数据放在 users.txt
里面,登录直接请求本地的磁盘内容,这样能减少并发导致的高消耗问题
完整的项目代码
index.php
<?php
// 不提示错误信息
error_reporting(0);
$zh = $_POST['username'];
$mm = $_POST['password'];
// 把内容转化成字符串
$wjsj = file_get_contents('user/users.txt');
// 解析内容
$wjsj_array = explode("\r\n", $wjsj);
if ($zh != null) {
for ($i = 0; $i < count($wjsj_array); $i ++) {
if ($zh == $wjsj_array[$i]) {
if ($mm == $wjsj_array[$i+1]) {
// 登录成功获取数据
$zhm = $wjsj_array[$i];
$mmsjm = $wjsj_array[$i+1];
}
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>登录系统(不需要数据库)</title>
<style>
* {
margin: 0;
padding: 0;
}
html {
height: 100%;
}
body {
font-size: 18px;
}
div#Main {
width: 70%;
margin: 6% auto;
}
.inputStyle {
border: none;
border: 1px solid #dddddd;
padding: 6px 10px;
border-radius: 2px;
font-size: 20px;
margin-top: 2px;
}
#Button {
margin-top: 2%;
border: none;
background-color: #ffffff;
padding: 6px 20px;
background-color: #1a53db;
color: #ffffff;
}
</style>
</head>
<body>
<div id="Main">
<form action="./index.php" method="post">
<input type="text" placeholder="账号" class="inputStyle" name="username">
<input type="password" placeholder="密码" class="inputStyle" name="password">
<br>
<button id="Button">登录</button>
</form>
<span>
<?php
if ($zhm != null) {
echo "登录成功";
echo "<br>";
echo "<br>";
echo "用户名:".$zhm;
echo "<br>";
echo "密码:".$mmsjm;
}
?>
</span>
</div>
</body>
</html>
user/users.txt
admin
123456
ceshi01
123456
ceshi02
123456
ceshi03
123456
这样的登录系统会有安全风险
效果图
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。