[PHP&MySQL] パスワードを変更 + URL からのシステムへの強制侵入を防止
##PHP MySQL を使用してパスワードを変更する #この記事では、PHP MySQL を使用してパスワードを変更する具体的なコードと操作プロセスについて説明します。
ページ: index.php ログイン ページで、システムにログインするためのデフォルトのパスワードを入力します。
チェックしてください。 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>
<?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>
##<form action="changPwd.php" method="post" >
请输入新密码:<input type="password" name="new_psd">
<button type="submit" name="submit" value="修改" class="btn "/>修改</button>
</form>
<?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 を介したシステムへの強制侵入を防止します
たとえば、Web サイト名は次のとおりです。 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>
先頭に直接投げることをお勧めします詳しく知りたい場合は、 PHP 中国語 Web サイト
PHP ビデオ チュートリアルおよび
mysql ビデオ チュートリアルにアクセスして学習してください。
以上が[PHP&MySQL] パスワードを変更 + URL からのシステムへの強制侵入を防止の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLデータベースでは、ユーザーとデータベースの関係は、アクセス許可と表によって定義されます。ユーザーには、データベースにアクセスするためのユーザー名とパスワードがあります。許可は助成金コマンドを通じて付与され、テーブルはCreate Tableコマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。

データ統合の簡素化:AmazonrdsmysqlとRedshiftのゼロETL統合効率的なデータ統合は、データ駆動型組織の中心にあります。従来のETL(抽出、変換、負荷)プロセスは、特にデータベース(AmazonrdsmysQlなど)をデータウェアハウス(Redshiftなど)と統合する場合、複雑で時間がかかります。ただし、AWSは、この状況を完全に変えたゼロETL統合ソリューションを提供し、RDSMYSQLからRedshiftへのデータ移行のための簡略化されたほぼリアルタイムソリューションを提供します。この記事では、RDSMysQl Zero ETLのRedshiftとの統合に飛び込み、それがどのように機能するか、それがデータエンジニアと開発者にもたらす利点を説明します。

MySQLのユーザー名とパスワードを入力するには:1。ユーザー名とパスワードを決定します。 2。データベースに接続します。 3.ユーザー名とパスワードを使用して、クエリとコマンドを実行します。

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

1.正しいインデックスを使用して、データの量を削減してデータ検索をスピードアップしました。テーブルの列を複数回検索する場合は、その列のインデックスを作成します。あなたまたはあなたのアプリが基準に従って複数の列からのデータが必要な場合、複合インデックス2を作成します2。選択した列のみを避けます。必要な列のすべてを選択すると、より多くのサーバーメモリを使用する場合にのみサーバーが遅くなり、たとえばテーブルにはcreated_atやupdated_atやupdated_atなどの列が含まれます。

MySQLデータベースパフォーマンス最適化ガイドリソース集約型アプリケーションでは、MySQLデータベースが重要な役割を果たし、大規模なトランザクションの管理を担当しています。ただし、アプリケーションのスケールが拡大すると、データベースパフォーマンスのボトルネックが制約になることがよくあります。この記事では、一連の効果的なMySQLパフォーマンス最適化戦略を検討して、アプリケーションが高負荷の下で効率的で応答性の高いままであることを保証します。実際のケースを組み合わせて、インデックス作成、クエリ最適化、データベース設計、キャッシュなどの詳細な主要なテクノロジーを説明します。 1.データベースアーキテクチャの設計と最適化されたデータベースアーキテクチャは、MySQLパフォーマンスの最適化の基礎です。いくつかのコア原則は次のとおりです。適切なデータ型を選択し、ニーズを満たす最小のデータ型を選択すると、ストレージスペースを節約するだけでなく、データ処理速度を向上させることもできます。

データベース酸属性の詳細な説明酸属性は、データベーストランザクションの信頼性と一貫性を確保するための一連のルールです。データベースシステムがトランザクションを処理する方法を定義し、システムのクラッシュ、停電、または複数のユーザーの同時アクセスの場合でも、データの整合性と精度を確保します。酸属性の概要原子性:トランザクションは不可分な単位と見なされます。どの部分も失敗し、トランザクション全体がロールバックされ、データベースは変更を保持しません。たとえば、銀行の譲渡が1つのアカウントから控除されているが別のアカウントに増加しない場合、操作全体が取り消されます。 TRANSACTION; updateaccountssetbalance = balance-100wh

NAVICAT自体はデータベースパスワードを保存せず、暗号化されたパスワードのみを取得できます。解決策:1。パスワードマネージャーを確認します。 2。NAVICATの「パスワードを記憶する」機能を確認します。 3.データベースパスワードをリセットします。 4.データベース管理者に連絡してください。
