php で 7 日間の自動ログインを実現する方法: 1. 新しい show.php ファイルを作成してログイン ページを実装します; 2. function.php ファイルを作成して暗号化された Cookie を実装します; 3. ユーザー名を設定しますとパスワード判定; 4.セッションを開くと1週間以内に自動ログインできるようになります。
#この記事の動作環境: Windows 7 システム、PHP バージョン 7.4、Dell G3 コンピューター。
php 7 日以内に自動ログインを実現するにはどうすればよいですか?
PHP では 1 週間以内に自動ログインが可能になります:
#1 4 つの新しいファイルを作成します<?php ?> <html > <head> <meta charset="utf-8"> <title>测试</title> </head> <body> <form action="login.php" method="post"> 用户名<input type="text" name="name"/> 密码<input type="text" name="psd"/> 自动登录<input type="radio" name="auto"> <input type="submit" value="提交"/> </form> </body> </html>function.php//暗号化された Cookie
ここでは、XOR を 2 回実行した後なので、XOR 暗号化方式を使用しました。元の値に戻ります
<?php function encryption ($value, $type=0) { $key = md5('denglu');//里边的字符可以自己设置 if (!$type) { return str_replace('=', '', base64_encode($value ^ $key)); } $value = base64_decode($value); return $value ^ $key; }login.php
<?php require_once('function.php'); session_start();//开启session header("Content-Type: text/html; charset=UTF-8"); /* * 添加一些用户名和密码的判断 * 。。。。。。。。。 */ if(isset($_POST['auto'])){//如果勾选了自动登陆一周 if(!isset($_COOKIE['auto'])){ setcookie('auto',encryption($_POST['name']),7*24*3600+time());//设置cookie过期时间为一周后 } $_SESSION['name'] = $_POST['name']; header('location:success.php'); }else{//没有勾选自动登陆一周 $_SESSION['name'] = $_POST['name']; header('location:success.php'); }success.php
<?php session_start();//开启session require_once('function.php'); header("Content-Type: text/html; charset=UTF-8"); if(isset($_SESSION['name'])){ echo '成功登陆session:用户名为'.$_SESSION['name']; } elseif(isset($_COOKIE['auto'])){ echo '成功登陆cookie:用户名为'.encryption($_COOKIE['auto'],1); }else{//什么都没有的跳转到登录表单 header('location:show.php'); } ?>実行してください
Cookie を確認してください
ブラウザを閉じて再度開きます。この時点で Cookie が読み取られます。
これは単なる目的です。アイデアを提供してください。具体的なログイン検証については、読者自身がまだ検討していません。
推奨学習: 「
PHP ビデオ チュートリアル以上がPHPで7日間で自動ログインを実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。