使用PHP、MySQL实现修改密码 + 防止通过url强行进入系统
●使用PHP+MySQL实现修改密码
页面:
- index.php 登陆页面,输入默认密码登陆系统
- check.php 核查页面,通过查询数据库检测密码是否正确 ——> 正确,则进入系统 或 错误,提示“密码错误”,返回登录页面
- system.php 系统页面,内含“修改密码”链接
- change.php 输入新密码修改页面
- changePwd.php 修改密码页面
关键代码:
index.php
<p >请输入密码:</p><input type="password" name="psd" />
$username = "用户";
$password = "密码";
$dbname = "数据库名";
$conn = new mysqli($servername, $username, $password, $dbname);
die("连接失败: " . $conn->connect_error);
}
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$adminkey = $row["password"]; //设$adminkey是管理员密码,将从数据表中读取的数据赋值进去
}
}
if($_POST['psd'] == $adminkey){ //如果输入的密码和数据库中的默认密码相同,则进入系统
header("Location:system.php");
exit;
}else{
?>
<script language="javascript"> //如果密码错误,给出提示,返回登录页面
alert("password error");
window.location.href="index.php";
</script>
<?php
}
}
请输入新密码:<input type="password" name="new_psd">
<button type="submit" name="submit" value="修改" class="btn "/>修改</button>
</form>
$nempas = $_POST["new_psd"];
$servername = "localhost";
$username = "用户名";
$password = "密码";
$dbname = "数据库名";
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
mysqli_query($conn,"UPDATE admin SET password='{$nempas}' WHERE name='admin' ");
?>
<script language="javascript">
alert("change success");
window.location.href="system.php";
</script>
<?php
}else{
echo 'alert("change error");
}
?>
●防止通过url强行进入系统
比如,网站名是www.xxx.com,浏览者注意到这是某系统的登录页面后,可能一试 http://www.xxx.com/system.php 就绕过输入密码进入了系统。。。。【小白级】
可以加一个检查页面 checkInfo.php
$_SESSION["loginKey"] = 101; //101随缘弄的,别的也行
// session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的
exit;
}else{
?>
<script language="javascript">
alert("password error");
window.location.href="index.php";
</script>
<?php
}
}
session_start();
if(!isset($_SESSION["loginKey"])){
?>
<script language="javascript">
alert("please land first");
window.location.href="index.php";
</script>
<?php
}
include 'checkInfo.php';
?>
<!doctype html>
<html>
使用PHP、MySQL实现修改密码 + 防止通过url强行进入系统的更多相关文章
- win7下安装mysql后修改密码
mysql的安装教程网上很多,此处不过多介绍,个人觉得下面这篇教程是比较好的,一步到位.MySQL 5.7.9 ZIP 免安装版本配置过程_百度经验 http://jingyan.baidu.com ...
- mysql数据库修改密码
更改MySQL用户密码 方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password(' ...
- MySQL如何修改密码
以下几种方法可供选择 第一种方式: 最简单的方法就是借助第三方工具Navicat for MySQL来修改,方法如下: 1.登录mysql到指定库,如:登录到test库. 2.然后点击上方“用户”按钮 ...
- 本地navicate for mysql怎么修改密码?
1.以前在本地设置sql库密码,就是在本地新建数据库的时候就输入,怎么也链接不上,原来是新建数据库的时候不能输入密码,需要在内部修改. 2. 打开mysql user表 3. 打开mysql user ...
- 转:MySQL如何修改密码
转:https://www.cnblogs.com/yang82/p/7794712.html. 第一种方式: 最简单的方法就是借助第三方工具Navicat for MySQL来修改,方法如下: 1. ...
- 【shell 每日一练6】初始化安装Mysql并修改密码
一.简单实现mysql一键安装 参考:[第二章]MySQL数据库基于Centos7.3-部署 此脚本前提条件是防火墙,selinux都已经设置完毕: [root@web130 ~]# cat Inst ...
- mysql中修改密码的方式
参考地址:https://www.cnblogs.com/yang82/p/7794712.html mysql中修改用户密码的方式: 最简单的方法就是借助第三方工具Navicat for MySQL ...
- linux下安装mysql并修改密码
删除已有mysql并重新安装mysql 查看是否已安装过mysql rpm -qa |grep -i mysql 2.移除安装的包 (在之前如果有启动mysql最好关掉服务) 使用rpm –ev 包名 ...
- MySQL之--修改密码
1.在Mac上安装MySQL会随机生成一个临时密码,如下: --24T02::.004376Z [Note] A temporary password is generated for root@lo ...
随机推荐
- pcntl_exec()
<?php /******************************* *查看phpinfo编译参数--enable-pcntl *作者 Spider *nc -vvlp 443 **** ...
- QT:基本知识(一);
注: 该博文为扩展型: 1) QString转换为LPCTSTR QString szStr; LPCTSTR str = (LPWSTR)(szStr.utf16()); 2) 中文 ...
- 2017-12-15python全栈9期第二天第四节之格式化输出%s和用户交互个人简历模板
#!/user/bin/python# -*- coding:utf-8 -*-name = input('姓名:')age = input('年龄:')job = input('工作:')hobbi ...
- Jenkins自动化部署war项目
基于上一篇Jenkins安装环境,下面对自动打包部署做个备忘 1.安装:Publish over SSH 插件 2.安装完成后,进入下图配置 ↓↓↓ 3.翻到底下↓↓↓ 找到刚刚安装的Publish ...
- Information Retrieval 倒排索引 学习笔记
一,问题描述 在Shakespeare文集(有很多文档Document)中,寻找哪个文档包含了单词“Brutus”和"Caesar",且不包含"Calpurnia&quo ...
- springboot(十七):过滤器(Filter)和拦截器(Interceptor)
概述 在做web开发的时候,过滤器(Filter)和拦截器(Interceptor)很常见,通俗的讲,过滤器可以简单理解为“取你所想取”,忽视掉那些你不想要的东西:拦截器可以简单理解为“拒你所想拒”, ...
- XML外部实体注入漏洞(XXE)
转自腾讯安全应急响应中心 一.XML基础知识 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括XML声 ...
- Coding语言强弱类型且动静态类型简单解析。附图解
话不多说,上图: (以下均以Java来说明) 对于语言的强弱类型: 1.强类型语言:通俗的点来讲,就是对于数据类型,如果开发者定义了一个int数据类型的变量,那么虚拟机就会特别坚定该变量为int,坚决 ...
- redis的常用命令及实例讲解
使用命令行操作redis 数据类型 字符串String 列表list 使用双向循序链表实现(LinkedList) 散列 Hash 一般应用于将redis作为分布式缓存,存储数据库中的数据对象 集合s ...
- luogu P4099 [HEOI2013]SAO
传送门 吐槽题目标题 这个依赖关系是个树,可以考虑树型dp,设f_i表示子树i的答案 因为这是个序列问题,是要考虑某个数的位置的,所以设\(f_{i,j}\)表示子树i构成的序列,i在第j个位置的方案 ...