Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk melaksanakan log masuk pengesahan aplikasi dalam php? (contoh kod)
Sebagai bahasa skrip sebelah pelayan, PHP boleh berinteraksi dengan bahagian hadapan dan menyediakan fungsi pengesahan log masuk untuk aplikasi mudah alih. Artikel ini akan memperkenalkan cara melaksanakan log masuk pengesahan apl dalam PHP.
1. Pengetahuan prasyarat
Familiar dengan asas bahasa PHP
Familiar dengan HTTP permintaan dan respons
Familiar dengan proses log masuk APP mudah alih
Proses pelaksanaan
APP memulakan permintaan log masuk dan perlu menghantar nombor akaun, kata laluan dan maklumat lain yang dimasukkan oleh pengguna ke pelayan.
Selepas pelayan menerima permintaan, ia mengeluarkan nombor akaun, kata laluan dan data lain yang dimasukkan oleh pengguna, dan menggunakan pangkalan data (seperti MySQL) untuk memproses pengesahan Perbandingan.
Dengan menyambung ke pangkalan data, ekstrak nama pengguna dan data kata laluan daripada pangkalan data, bandingkan data yang dimasukkan oleh pengguna dengan data dalam pangkalan data , jika disahkan Jika lulus, sesi atau token dan maklumat lain akan dijana dan dihantar ke APP mudah alih sebagai hasil tindak balas.
APP menerima sesi atau maklumat token yang dikembalikan oleh pelayan dan menyimpannya dalam storan tempatan peranti untuk permintaan masa hadapan.
Apabila APP menghantar permintaan kepada pelayan, ia meletakkan maklumat sesi atau token ke dalam pengepala permintaan Apabila pelayan menerima permintaan, ia mengesahkan sesi atau token , jika pengesahan lulus, hasil permintaan dikembalikan, jika tidak mesej ralat pengesahan dikembalikan.
Untuk memastikan keselamatan, pelayan perlu mengehadkan tempoh sah maklumat log masuk Jika pengguna tidak melakukan operasi dalam tempoh masa, dia perlu log masuk semula dan Menjana semula sesi atau maklumat token.
3. Pelaksanaan kod
Berikut ialah proses pelaksanaan kod pengesahan log masuk yang mudah.
Gunakan PDO (Objek Data PHP) bahasa PHP untuk sambungan dan operasi pangkalan data Anda perlu memberikan alamat hos pangkalan data, nama pengguna dan kata laluan dan maklumat lain. Kod khusus Seperti berikut:
<?php $servername = "localhost"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>
Dapatkan data akaun dan kata laluan yang dimasukkan oleh pengguna melalui kaedah POST, gunakan yang disediakan penyata untuk menyusun semula pernyataan pertanyaan, dan bertanya sama ada ia wujud dalam pangkalan data Sepadan dengan nama pengguna dan kata laluan, jika ia wujud, maklumat kejayaan akan dikembalikan, jika tidak, maklumat kegagalan akan dikembalikan. Kod khusus adalah seperti berikut:
<?php // 验证用户输入数据 if ($_SERVER["REQUEST_METHOD"] == "POST") { // 获取POST请求中的数据 $username = $_POST["username"]; $password = $_POST["password"]; // 以预编译语句方式查询数据库中用户信息 $stmt = $conn->prepare("SELECT * FROM users WHERE username=:username AND password=:password"); $stmt->bindParam(':username', $username); $stmt->bindParam(':password', $password); $stmt->execute(); $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); $rows = $stmt->fetchAll(); if (count($rows) > 0) { // 用户验证成功 echo "Login successfully"; // 将session或token等信息返回给移动端APP // 略 } else { // 用户验证失败 echo "Login failed"; } } ?>
Apabila melaksanakan pengesahan permintaan di bahagian pelayan, sesi atau maklumat token perlu dikeluarkan daripada pengepala permintaan untuk mengesahkan kesahihannya. Kod khusus adalah seperti berikut:
<?php // 请求验证处理 if ($_SERVER["REQUEST_METHOD"] == "GET") { // 从请求头中获取session或token信息 $token = $_SERVER['HTTP_TOKEN']; // 判断session或token是否存在或已失效 if (isset($_SESSION['token']) && $_SESSION['token'] == $token) { // 请求验证成功 echo "Request authorized"; // 略 } else { // 请求验证失败 echo "Request unauthorized"; } } ?>
4. Ringkasan
Melalui pelaksanaan di atas, kami boleh mengesahkan log masuk APP mudah alih dengan berkesan dan memastikan keselamatan pengguna maklumat. Dalam pembangunan sebenar, lebih banyak situasi perlu dipertimbangkan, seperti kuki dan caching sisi klien, sokongan berbilang platform, dsb. Pada masa yang sama, kami juga perlu mempertimbangkan isu keselamatan, seperti XSS, CSRF dan kaedah serangan lain, dan kami perlu mengukuhkan perlindungan keselamatan kod tersebut.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan log masuk pengesahan aplikasi dalam php? (contoh kod). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!