Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mencapai log masuk automatik dalam tujuh hari dalam php

Bagaimana untuk mencapai log masuk automatik dalam tujuh hari dalam php

藏色散人
藏色散人asal
2021-12-16 10:31:422850semak imbas

Cara melaksanakan log masuk automatik tujuh hari dalam PHP: 1. Buat fail show.php baharu untuk melaksanakan halaman log masuk 2. Buat fail function.php untuk melaksanakan kuki yang disulitkan; pertimbangan nama dan kata laluan; 4. Buka sesi dan Anda boleh log masuk secara automatik dalam masa seminggu.

Bagaimana untuk mencapai log masuk automatik dalam tujuh hari dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.4, komputer Dell G3.

Bagaimana untuk mencapai log masuk automatik dalam tujuh hari dalam php?

PHP mendayakan log masuk automatik dalam masa seminggu:

1 .Buat empat fail baharu
Bagaimana untuk mencapai log masuk automatik dalam tujuh hari dalam php

show.php

<?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//encrypted cookie
Di sini saya menggunakan kaedah penyulitan XOR, kerana Selepas dua XOR, ia akan bertukar kembali kepada nilai asal

<?php
function encryption ($value, $type=0) {
$key = md5(&#39;denglu&#39;);//里边的字符可以自己设置
if (!$type) {
return str_replace(&#39;=&#39;, &#39;&#39;, base64_encode($value ^ $key));
}

$value = base64_decode($value);
return $value ^ $key;
}

log masuk.php

<?php
require_once(&#39;function.php&#39;);
session_start();//开启session
header("Content-Type: text/html; charset=UTF-8");

/*
 * 添加一些用户名和密码的判断
 * 。。。。。。。。。
 */

if(isset($_POST[&#39;auto&#39;])){//如果勾选了自动登陆一周
    if(!isset($_COOKIE[&#39;auto&#39;])){
        setcookie(&#39;auto&#39;,encryption($_POST[&#39;name&#39;]),7*24*3600+time());//设置cookie过期时间为一周后
    }
    $_SESSION[&#39;name&#39;] = $_POST[&#39;name&#39;];
    header(&#39;location:success.php&#39;);
}else{//没有勾选自动登陆一周
    $_SESSION[&#39;name&#39;] = $_POST[&#39;name&#39;];
    header(&#39;location:success.php&#39;);
}

success.php

<?php
session_start();//开启session
require_once(&#39;function.php&#39;);
header("Content-Type: text/html; charset=UTF-8");
if(isset($_SESSION[&#39;name&#39;])){
echo &#39;成功登陆session:用户名为&#39;.$_SESSION[&#39;name&#39;];
}
elseif(isset($_COOKIE[&#39;auto&#39;])){
echo &#39;成功登陆cookie:用户名为&#39;.encryption($_COOKIE[&#39;auto&#39;],1);
}else{//什么都没有的跳转到登录表单
header(&#39;location:show.php&#39;);
}

?>

Jalankannya
Bagaimana untuk mencapai log masuk automatik dalam tujuh hari dalam php

Semak kuki

Bagaimana untuk mencapai log masuk automatik dalam tujuh hari dalam php

Tutup dan buka semula penyemak imbas, kali ini kuki dibaca
Bagaimana untuk mencapai log masuk automatik dalam tujuh hari dalam php

Ini hanyalah idea, pengesahan log masuk khusus masih belum dipertimbangkan oleh pembaca sendiri.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk mencapai log masuk automatik dalam tujuh hari dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn