使用PHP实现WEB网站登陆后台编写

article/2025/10/23 4:04:06

使用PHP实现WEB网站登陆后台编写

####html页面,没加入CSS代码:

<form action="login.php" method="post"><input type="text" placeholder="账号" name="id"/><input type="password" name="password"/><input type="password" name="authcode"/><img id="captcha_img" border='1' src='./captcha.php?r=<?php echo rand(); ?>' style="width:100px; height:100%;" ><a  style="color:yellow" href="javascript:void(0)" onclick="document.getElementById('captcha_img').src='./captcha.php?r='+Math.random()">换一个?</a><input type="submit" value="立即登陆" name="submit"/><input type="submit" value="注册" name="zhuce"/></form>

界面

####利用正则表达式过滤一些非法字符:$pattern = ‘/’|<|>|"|#|&|%/’;

####防范SQL注入攻击使用PDO类连接数据库,这里我用的是mysql,地址和端口我就用本地的了。

try {
$db = new PDO('mysql:host=127.0.0.1:3306;dbname=name','username','password');
}catch (PDOException $e)
{echo "<script>alert('数据库连接出现问题,请稍后再试');window.location.href='login.php';</script>";
}

###对用户输入的用户名和密码进行校验。

if (isset($_POST['submit'])) {if(isset($_REQUEST['authcode'])){session_start();//strtolower()小写函数if(strtolower($_REQUEST['authcode'])== jiemi(jiemi($_SESSION['authcode']))){$id=strip_tags(trim(htmlspecialchars($_POST['id'])));$password=htmlspecialchars(strip_tags($_POST['password']));if (empty($id) || empty($password)) {echo "<script>alert('账号密码不能为空');window.location.href='login.php';</script>";} else if (preg_match_all($pattern, $id) || preg_match_all($pattern, $password)) {echo "<script>alert('存在非法字符,请重新输入');window.location.href='login.php';</script>";} else if(strlen($password)>21) {echo "<script>alert('请使您的密码长度小于21位!');window.location.href='login.php';</script>";} else{$search = $db->prepare("select username from information where id={$id} and password='$password'");$search->execute();$arr = $search->fetch();$username = $arr[0];if ($username != null) {$db = null;setcookie('id',jiami($id));echo "<script>alert('欢迎用户{$username},即将跳转至主页,请稍后...');window.location.href='index.php';</script>";} else {$db = null;echo "<script>alert('登陆失败,请检查您输入的账号密码是否正确');window.location.href='login.php';</script>";}}}else{//提示以及跳转页面echo "<script language=\"javascript\">";echo "alert('验证码输入错误!请重新输入');";echo "document.location=\"./login.php\"";echo "</script>";}exit();}

###验证码的实现将在下一篇文章中给出。这里是用PDO实现防SQL注入,并对cookie进行加密,加密算法是自己写的,这里暂不透露,不过SQL内部没有进行加密,所以还是有数据泄露风险的。而验证码纯粹是为了防止穷举密码攻击。
###这里还留了一个漏洞没有防范,不知道有没有眼尖的小伙伴发现呢?


http://chatgpt.dhexx.cn/article/jgvo1KLr.shtml

相关文章

码云上最棒的PHP后台开发框架

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

用PHP写APP后台

写在前面的问题&#xff1a; 问&#xff1a;用哪种语言开发效率最高&#xff1f; 答&#xff1a;php&#xff0c;java&#xff0c;python开发效率对比 有时间的话都试试&#xff0c;只有自己才能真正说服自己 问&#xff1a;到底哪种语言最好呢&#xff1f; 大佬&#xff1…

微信小程序与后台PHP交互

在去年的时候&#xff0c;参加过学校的一个创业活动&#xff0c;在团队决定做一个关于图书的微信小程序以后&#xff0c;我负责做微信小程序的后台程序&#xff0c;因为初次接触&#xff0c;决定选用较为简单的PHP作为后台语言&#xff0c;实现了微信小程序的一些基本功能&…

最全的PHP后台管理系统源码

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

PHP+Mysql 实现后台管理

刚学了几天的PHP,然后刚好有个后台管理的项目要做&#xff0c;抱着学php的目的&#xff0c;便打算用php开始写。后台就是对几张表进行增删查改操作。 一开始先从简单的下手&#xff0c;有一张学生信息表&#xff0c;得到里面的各个信息&#xff0c;并显示在页面上。先写了一个…

用php做管理后台

最近因处理家庭之事,技术上没有提高,这段时间也陆续的恢复了正常的开发,由于要做一个管理后台,所以在选择语言和架构上搜了不少资料, php 和java 的选择上,后来选择用php作为管理后台开发的语言. 最开始选择了springboot 上 的一个开源代码.由于对springboot 开发不够熟悉,费心…

微信小程序php后台实现

微信的登陆流程 首先前端发送请求到服务器: wx.login({success: function (res) {var code res.code;//发送给服务器的codewx.getUserInfo({success: function (res) {var userNick res.userInfo.nickName;//用户昵称var avataUrl res.userInfo.avatarUrl;//用户头像地址v…

最棒的PHP后台管理系统

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

PHP后台开发框架

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

管理后台-后端-PHP篇

这里选用codeigniter做为web框架&#xff0c;因为它安装方便&#xff08;独立压缩包解压即可&#xff09;、自身集成了migration,query-builder&#xff08;对数据库的封装&#xff0c;不用关心数据库选型&#xff09;&#xff0c;虽然CI官方说明PHP版本只要求5.2&#xff0c;但…

PHP后台管理系统

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

企业级PHP后台开发框架

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

【web前端开发】后台PHP

文章目录 PHP基本知识PHP基本语法1.php变量、常量2.php打印输出3.php运算符 if、switch语句array数组数组声明数组键名定义的规则数组的赋值操作php常见数组的分类1.数值数组2.关联数组3.多维数组 循环结构与数组遍历数组遍历--forbreak && continueforeach语句1.遍历一…

PHP从前端到后台整站开发实战笔记-1

前言 从慕课网上搞了一套ThinkPHP整站开发从前端到后台的视频教程,好好系统的学习一下MVC模式下的正规开发流程,做一下学习过程中的开发笔记. 1.系统概述 这套教程视频中使用了ThinkPHP框架,但是有点老了,用的还是3.2.3版本的,不过思路很重要,等全做好了可以考虑再用最新的5…

PHP之后台开发需要做什么——即时通信IM

关于“即时通信IM”&#xff0c;腾讯云的官方文档&#xff0c;是这样介绍的&#xff1a;即时通信&#xff08;Instant Messaging&#xff0c;IM&#xff09;基于QQ 底层 IM 能力开发&#xff0c;仅需植入 SDK 即可轻松集成聊天、会话、群组、资料管理能力&#xff0c;帮助您实现…

通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库

作者专注于Java、架构、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料&#xff0c;微信搜索【程序员高手之路】&#xff0c;回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料。 目录 前言 一、备份 step1&#xff1a;使用system登…

expdp的用法

exp/imp与expdp/impdp的用法区别 1&#xff1a;把用户usera的对象导到用户userb,用法区别在于fromuserusera touseruserb ,remap_schemausera:usera 。例如 imp system/passwd fromuserusera touseruserb file/oracle/exp.dmp log/oracle/exp.log; impdp system/passwd directo…

expdp/impdp 详细参数解释

数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输 数据对象的机制。该实用程序可以使用以下命令进行调用: 示例: expdp scott/tiger DIRECTORYdmpdir DUMPFILEscott.dmp 您可以控制导出的运行方式。具体方法是: 在 expdp 命令后输入 各种参数。要指定各参数, 请使用关…

Oracle详解:exp/imp和expdp/impdp的区别

Oracle详解:exp/imp和expdp/impdp的区别 结论&#xff1a; 在10g之前&#xff0c;传统的导出和导入分别使用EXP工具和IMP工具&#xff0c;从10g开始&#xff0c;不仅保留了原有的EXP和IMP工具&#xff0c;还提供了数据泵导出导入工具EXPDP和IMPDP。 1、exp和expdp最明显的区…

使用expdp(非本地)远程导出数据

背景&#xff1a; 前段时间&#xff0c;需要从异地一个测试数据库中将测试数据(一张表)导入本地库&#xff0c;表数据量大约500万&#xff0c;字段160多个&#xff0c;开始用了exp/imp方式&#xff0c;速度奇慢&#xff0c;不能忍&#xff0c;于是转而使用expdp/impdp方式。 e…