当前位置: 首页 > wzjs >正文

龙游建设工程信息网站西安软件开发公司排行

龙游建设工程信息网站,西安软件开发公司排行,网页设计论文大纲,投资公司的钱从哪里来系统架构 系统采用前后端分离的架构,使用PHP作为后端语言,MySQL作为数据库。以下是系统的整体架构图: 这个架构图展示了系统的三个主要层次: 前端界面层:包含用户交互的三个页面(注册、登录和欢迎页面&am…

 

系统架构

系统采用前后端分离的架构,使用PHP作为后端语言,MySQL作为数据库。以下是系统的整体架构图:

这个架构图展示了系统的三个主要层次:

  1. 前端界面层:包含用户交互的三个页面(注册、登录和欢迎页面)
  2. 后端服务层:处理用户请求的PHP处理器和管理用户会话的组件
  3. 数据库层:使用MySQL存储用户信息

当用户进行注册或登录操作时,数据会从前端界面传递到PHP处理器,经过验证后存储到MySQL数据库中。会话管理确保用户登录状态的维护,成功登录后显示欢迎页面。

数据库设计

首先,我们需要创建一个存储用户信息的数据库表。以下是表结构:

CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50) NOT NULL,email VARCHAR(100) NOT NULL,password VARCHAR(255) NOT NULL,UNIQUE KEY (email)
);

后端实现

  1. 数据库连接文件(db.php):
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "user_system";// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);// 检查连接
if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);
}
?>
  1. 注册页面(register.php):
<?php
session_start();
include 'db.php';if ($_SERVER["REQUEST_METHOD"] == "POST") {$username = $_POST['username'];$email = $_POST['email'];$password = $_POST['password'];// 检查邮箱是否已存在$stmt = $conn->prepare("SELECT email FROM users WHERE email = ?");$stmt->bind_param("s", $email);$stmt->execute();$stmt->store_result();if ($stmt->num_rows > 0) {$error = "该邮箱已被使用";} else {// 插入新用户$stmt = $conn->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)");$stmt->bind_param("sss", $username, $email, $password);if ($stmt->execute()) {header("Location: login.php");exit();} else {$error = "注册失败,请重试";}}$stmt->close();
}
?>
  1. 登录页面(login.php):
<?php
session_start();
include 'db.php';if ($_SERVER["REQUEST_METHOD"] == "POST") {$email = $_POST['email'];$password = $_POST['password'];$stmt = $conn->prepare("SELECT id, username FROM users WHERE email = ? AND password = ?");$stmt->bind_param("ss", $email, $password);$stmt->execute();$result = $stmt->get_result();if ($result->num_rows == 1) {$user = $result->fetch_assoc();$_SESSION['user_id'] = $user['id'];$_SESSION['username'] = $user['username'];header("Location: welcome.php");exit();} else {$error = "邮箱或密码错误";}$stmt->close();
}
?>
  1. 欢迎页面(welcome.php):
<?php
session_start();
include 'db.php';if (!isset($_SESSION['user_id'])) {header("Location: login.php");exit();
}$username = $_SESSION['username'];
?>

HTML界面

  1. 注册页面HTML:
<!DOCTYPE html>
<html>
<head><title>用户注册</title><style>.container {width: 300px;margin: 50px auto;padding: 20px;border: 1px solid #ccc;}.error {color: red;margin-bottom: 10px;}</style>
</head>
<body><div class="container"><h2>用户注册</h2><?php if(isset($error)): ?><div class="error"><?php echo $error; ?></div><?php endif; ?><form action="" method="post"><div><label>用户名:</label><input type="text" name="username" required></div><div><label>邮箱:</label><input type="email" name="email" required></div><div><label>密码:</label><input type="password" name="password" required></div><button type="submit">注册</button></form><p>已有账号?<a href="login.php">登录</a></p></div>
</body>
</html>
  1. 登录页面HTML:
<!DOCTYPE html>
<html>
<head><title>用户登录</title><style>.container {width: 300px;margin: 50px auto;padding: 20px;border: 1px solid #ccc;}.error {color: red;margin-bottom: 10px;}</style>
</head>
<body><div class="container"><h2>用户登录</h2><?php if(isset($error)): ?><div class="error"><?php echo $error; ?></div><?php endif; ?><form action="" method="post"><div><label>邮箱:</label><input type="email" name="email" required></div><div><label>密码:</label><input type="password" name="password" required></div><button type="submit">登录</button></form><p>没有账号?<a href="register.php">注册</a></p></div>
</body>
</html>
  1. 欢迎页面HTML:
<!DOCTYPE html>
<html>
<head><title>欢迎页面</title>
</head>
<body><div style="text-align: center; margin-top: 50px;"><h2>欢迎您,<?php echo htmlspecialchars($username); ?>!</h2><p><a href="logout.php">退出登录</a></p></div>
</body>
</html>

安全考虑

1.密码安全:

  • 在生产环境中,应该使用password_hash()password_verify()处理密码
  • 永远不要以明文存储密码

2.SQL注入防护:

  • 使用预备语句(prepared statements)防止SQL注入
  • 所有用户输入都要经过验证和过滤

3.会话安全:

  • 使用session_regenerate_id()防止会话固定攻击
  • 设置适当的会话超时时间

4.XSS防护:

  • 使用htmlspecialchars()输出用户数据
  • 设置适当的Content-Security-Policy

部署步骤

  1. 安装MySQL数据库
  2. 创建数据库和表结构
  3. 配置PHP环境
  4. 上传所有PHP文件到服务器
  5. 修改db.php中的数据库连接配置
  6. 测试所有功能

 

http://www.dtcms.com/wzjs/841668.html

相关文章:

  • 做平面什么网站的素材不侵权百度公司招聘官网最新招聘
  • 手机网投网站建设wordpress固定连接文件
  • 创意设计师个人网站手机支持wordpress
  • 怎么删除织梦做的网站清除wordpress标志
  • 手机网站建设教程精品源码分享的网站
  • 深圳专业建站系统建站公司音乐网站建立
  • 影视网站的设计与实现橫山区建设局网站
  • 邯郸网站制作外包深圳南头高端网站建设
  • 合肥建设局网站首页3d动画制作软件中文版
  • 网站频道运营怎么做html怎么做网页框架
  • 英文杭州网站建设国产前端框架 做网站
  • 怎样在百度免费做网站购物网站开发背景及目的
  • 医院网站建设 中企动力wordpress弹窗预览
  • 科技企业网站设计制作做绒毛鉴定网站
  • 襄汾县住房和建设局网站汕头市区
  • html5移动端手机网站开发流程图2008 iis搭建网站
  • joomla 2.5:你的网站建设_使用与管理 下载电子工程师资格证
  • 网站页面布局模板合肥住房和城乡建设部网站
  • 建网站需要什么资料长沙百度推广运营公司
  • 织梦网站开发视频教程开发制作一个网站
  • 企业服务工作站seo推广软件排行榜
  • 苏州精品网站建设中建国际建设有限公司官网
  • 自动做图在线网站贵州网站建设系统
  • 国际网站模板小程序开发平台竞品分析
  • 格力网站建设首页wordpress知更鸟打赏
  • 网站建设的看法有哪些怎么做网站扫描
  • 如何 html5 网站模板中国空间站建成时间
  • 塘沽做网站杭州开发公司
  • 高档网站设计公司南昌网站建设博客
  • asp艺术学校网站源码做外贸大一点的网站