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

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

内容导读

收集整理的这篇技术教程文章主要介绍了【PHP&MySQL】实现修改密码+防止通过url强行进入系统,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3922字,纯文字阅读大概需要6分钟

内容图文

●使用PHP+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 = "数据库名";// 创建连接$conn = new mysqli($servername, $username, $password, $dbname);if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);}$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(); /************************请在上方修改管理员密码,默认是'1' *************************/ 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> <?php
 }}?>system.php<a href="change.php" class="chang">修改密码</a>

change.php

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

changePwd.php

<?php if( isset($_POST["submit"]) && $_POST["submit"] = "修改"){
$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' ");
//使用UPDATE语句修改数据库中的password字段,并且新的值来自 change.php页面输入的新密码
 WHERE语句必须写,否则会更新所有的字段
mysqli_close($conn);
?>
<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

先在密码核查页面 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强行进入系统的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的【PHP&amp;MySQL】实现修改密码+防止通过url强行进入系统全部内容,希望文章能够帮你解决【PHP&amp;MySQL】实现修改密码+防止通过url强行进入系统所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com