Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan log masuk pengesahan aplikasi dalam php? (contoh kod)

Bagaimana untuk melaksanakan log masuk pengesahan aplikasi dalam php? (contoh kod)

PHPz
PHPzasal
2023-03-23 11:12:051577semak imbas

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

  1. Pengguna Meminta log masuk

APP memulakan permintaan log masuk dan perlu menghantar nombor akaun, kata laluan dan maklumat lain yang dimasukkan oleh pengguna ke pelayan.

  1. Pelayan menerima permintaan dan memproses data

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.

  1. Pengesahan pangkalan data

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.

  1. Pengesahan APP

APP menerima sesi atau maklumat token yang dikembalikan oleh pelayan dan menyimpannya dalam storan tempatan peranti untuk permintaan masa hadapan.

  1. Minta pengesahan

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.

  1. Tamat masa log masuk

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.

  1. Sambungan pangkalan data

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();
}
?>
  1. Pengesahan pengguna

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";
  }
}
?>
  1. Minta pengesahan

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[&#39;HTTP_TOKEN&#39;];

  // 判断session或token是否存在或已失效
  if (isset($_SESSION[&#39;token&#39;]) && $_SESSION[&#39;token&#39;] == $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!

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