首页 > 数据库 > MySQL > 正文

【PHP&MySQL】实现修改密码 + 防止通过url强行进入系统

2020-03-22 18:27:03
字体:
来源:转载
供稿:网友
●使用PHP+html' target='_blank'>MySQL实现修改密码

本文讲述了使用PHP+MySQL实现修改密码的具体代码,以及操作过程。

页面:

index.php 登陆页面,输入默认密码登陆系统

check.php 核查页面,通过查询数据库检测密码是否正确 —— 正确,则进入系统 或 错误,提示“密码错误”,返回登录页面

system.php 系统页面,内含“修改密码”链接

change.php 输入新密码修改页面

changePwd.php 修改密码页面

关键代码:

index.php

 form action= check.php method= post  p 请输入密码: /p input type= password name= psd /  button type= submit name= submit value= 登录 / 登录 /button  /form 

check.php

 ?php$servername = localhost $username = 用户 $password = 密码 $dbname = 数据库名 
$sql = SELECT password FROM admin //此处涉及名称是admin的数据表,内部有name 和password两个字段,值分别是admin 和 1$result = $conn- query($sql);if ($result- num_rows 0) { while($row = $result- fetch_assoc()) { $adminkey = $row[ password //设$adminkey是管理员密码,将从数据表中读取的数据赋值进去$conn- close();
if( isset($_POST[ submit ]) $_POST[ submit ] = 登录 ){ if($_POST[ psd ] == $adminkey){ //如果输入的密码和数据库中的默认密码相同,则进入系统 header( Location:system.php exit; }else{ script language= javascript //如果密码错误,给出提示,返回登录页面 alert( password error window.location.href= index.php /script ?phpsystem.php a href= change.php >

change.php

 form action= changPwd.php method= post  请输入新密码: input type= password name= new_psd  button type= submit name= submit value= 修改 >

changePwd.php

 ?php if( isset($_POST[ submit ]) $_POST[ submit ] = 修改 ){ $nempas = $_POST[ new_psd  $servername = localhost  $username = 用户名  $password = 密码  $dbname = 数据库名 
?

●防止通过url强行进入系统

比如,网站名是www.xxx.com,浏览者注意到这是某系统的登录页面后,可能一试 http://www.xxx.com/system.php 就绕过输入密码进入了系统。。。。【小白级】

可以加一个检查页面 checkInfo.php

先在密码核查页面 check.php 更改:

if( isset($_POST[ submit ]) $_POST[ submit ] = 登录 ){ if($_POST[ psd ] == $adminkey){ session_start(); $_SESSION[ loginKey ] = 101; //101随缘弄的,别的也行 // session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的所以,可利用此,只有通过密码验证,才会生成$_SESSION[ loginKey ],从而在之后的页面如system.php 的开头加入检查页面 checkInfo.php ,检查有没有生成的$_SESSION[ loginKey ]就可以辨别有没有绕过密码强行进入header( Location:system.php  exit; }else{ script language= javascript  alert( password error  window.location.href= index.php  /script  ?php? 

再写checkInfo.php

 ?php session_start(); if(!isset($_SESSION[ loginKey ])){  script language= javascript  alert( please land first  window.location.href= index.php  /script  ?php? 

举例

在system.php开头加入:

 ?phpinclude checkInfo.php ?  !doctype html  html ...... .. .. .. /html 

注: session_start(); 启动会话时,之前代码不能有任何输出!(如echo ... alert( .... )

建议直接扔到开头

想了解更多,请移步至PHP 的PHP视频教程和mysql视频教程学习。

以上就是【PHP MySQL】实现修改密码 + 防止通过url强行进入系统的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表