Rumah pembangunan bahagian belakang tutorial php Cara mengendalikan pengesahan dan kebenaran pengguna dalam pembangunan PHP

Cara mengendalikan pengesahan dan kebenaran pengguna dalam pembangunan PHP

Oct 09, 2023 pm 03:31 PM
pembangunan php membenarkan Pengesahan pengguna

Cara mengendalikan pengesahan dan kebenaran pengguna dalam pembangunan PHP

Cara mengendalikan pengesahan dan kebenaran pengguna dalam pembangunan PHP

Dengan perkembangan pesat Internet, pengesahan dan kebenaran pengguna untuk tapak web dan aplikasi menjadi semakin penting. Untuk pembangun PHP, memastikan pengesahan pengguna dan pengurusan kebenaran adalah penting. Artikel ini akan memperkenalkan konsep asas pengesahan dan kebenaran pengguna dalam pembangunan PHP, dan menyediakan contoh kod khusus untuk membantu pembaca memahami dan mengamalkan dengan lebih baik.

  1. Pengesahan pengguna

Pengesahan pengguna merujuk kepada mengesahkan sama ada maklumat identiti yang dimasukkan oleh pengguna adalah betul untuk menentukan sama ada pengguna mempunyai kebenaran untuk mengakses sumber tertentu. Berikut adalah beberapa kaedah pengesahan pengguna biasa:

1.1 Pengesahan Asas

Pengesahan asas ialah kaedah pengesahan HTTP yang mudah Apabila pengguna meminta akses kepada sumber yang dilindungi, pelayan akan meminta pengguna memberikan nama pengguna dan kata laluan. Berikut ialah contoh kod untuk pengesahan asas:

<?php
$username = 'admin';
$password = '123456';

if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
    if ($_SERVER['PHP_AUTH_USER'] == $username && $_SERVER['PHP_AUTH_PW'] == $password) {
        echo '认证成功';
    } else {
        header('WWW-Authenticate: Basic realm="My Realm"');
        header('HTTP/1.0 401 Unauthorized');
        echo '用户名或密码错误';
        exit;
    }
} else {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo '请输入用户名和密码';
    exit;
}
?>
Salin selepas log masuk

1.2 Pengesahan borang

Pengesahan borang dilakukan dengan memasukkan nama pengguna dan kata laluan dalam borang HTML. Berikut ialah kod contoh pengesahan bentuk mudah:

<?php
session_start();

$username = 'admin';
$password = '123456';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $input_username = $_POST['username'];
    $input_password = $_POST['password'];

    if ($input_username == $username && $input_password == $password) {
        $_SESSION['username'] = $username;
        echo '登录成功';
    } else {
        echo '用户名或密码错误';
    }
}

if (isset($_SESSION['username'])) {
    echo '当前用户:' . $_SESSION['username'];
}
?>
Salin selepas log masuk

1.3 Pengesahan pihak ketiga

Pengesahan pihak ketiga merujuk kepada penggunaan perkhidmatan pihak ketiga (seperti Google, Facebook) untuk pengesahan pengguna. Berikut ialah contoh kod untuk log masuk dengan Google:

<?php
require_once 'vendor/autoload.php';

$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';
$callbackUrl = 'YOUR_CALLBACK_URL';

$provider = new LeagueOAuth2ClientProviderGoogle([
    'clientId' => $clientId,
    'clientSecret' => $clientSecret,
    'redirectUri' => $callbackUrl,
]);

if (!isset($_GET['code'])) {
    $authUrl = $provider->getAuthorizationUrl();
    $_SESSION['oauth2state'] = $provider->getState();
    header('Location: ' . $authUrl);
    exit;
} elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) {
    unset($_SESSION['oauth2state']);
    exit('认证失败');
} else {
    $token = $provider->getAccessToken('authorization_code', [
        'code' => $_GET['code'],
    ]);
    $user = $provider->getResourceOwner($token);
    $username = $user->getEmail();

    echo '认证成功,用户名:' . $username;
}
?>
Salin selepas log masuk
  1. Keizinan Pengguna

Keizinan pengguna merujuk kepada menentukan sama ada pengguna mempunyai kebenaran untuk melakukan tindakan tertentu atau mengakses sumber tertentu. Berikut ialah beberapa kaedah kebenaran pengguna biasa:

2.1 Keizinan Peranan/Kebenaran

Keizinan Peranan/Kebenaran ialah kaedah menugaskan pengguna kepada peranan yang berbeza dan mengurus kebenaran pengguna berdasarkan peranan. Berikut ialah kod contoh keizinan peranan/kebenaran mudah:

<?php
$permissions = [
    'admin' => ['create', 'edit', 'delete'],
    'user' => ['view'],
];

function hasPermission($role, $permission)
{
    global $permissions;

    if (isset($permissions[$role]) && in_array($permission, $permissions[$role])) {
        return true;
    }

    return false;
}

$role = 'user';
$permission = 'view';

if (hasPermission($role, $permission)) {
    echo '用户具有该权限';
} else {
    echo '用户没有该权限';
}
?>
Salin selepas log masuk

2.2 Keizinan RBAC

Kawalan Capaian Berasaskan Peranan (RBAC) ialah kaedah menugaskan pengguna kepada peranan dan kumpulan kebenaran yang berbeza. Berikut ialah kod sampel kebenaran RBAC yang mudah:

<?php
$roles = [
    'admin' => ['administer users', 'manage content'],
    'editor' => ['manage content'],
    'author' => ['write articles'],
    'user' => ['view articles'],
];

function hasAccess($userRoles, $permission)
{
    global $roles;

    foreach ($userRoles as $role) {
        if (isset($roles[$role]) && in_array($permission, $roles[$role])) {
            return true;
        }
    }

    return false;
}

$userRoles = ['user'];
$permission = 'view articles';

if (hasAccess($userRoles, $permission)) {
    echo '用户具有该权限';
} else {
    echo '用户没有该权限';
}
?>
Salin selepas log masuk

Kod sampel di atas menunjukkan beberapa kaedah pengesahan dan kebenaran pengguna biasa, dengan harapan dapat membantu pembaca menangani isu pengesahan dan kebenaran pengguna dengan lebih baik dalam pembangunan PHP. Dalam projek sebenar, pengesahan dan kebenaran pengguna boleh dilaksanakan berdasarkan keperluan dan keperluan keselamatan dengan menggabungkan logik dan rangka kerja perniagaan tertentu.

Atas ialah kandungan terperinci Cara mengendalikan pengesahan dan kebenaran pengguna dalam pembangunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menaik taraf win10 enterprise versi 2016 versi perkhidmatan jangka panjang kepada versi profesional Bagaimana untuk menaik taraf win10 enterprise versi 2016 versi perkhidmatan jangka panjang kepada versi profesional Jan 03, 2024 pm 11:26 PM

Apabila kami tidak lagi mahu menggunakan Edisi Perkhidmatan Jangka Panjang Win10 Enterprise 2016, kami boleh memilih untuk beralih kepada Edisi Profesional Kaedahnya juga sangat mudah. ​​Kami hanya perlu menukar beberapa kandungan dan memasang imej sistem. Cara menukar versi perkhidmatan jangka panjang win10 enterprise 2016 kepada versi profesional 1. Tekan win+R, dan kemudian masukkan "regedit" 2. Tampal laluan berikut terus dalam bar alamat di atas: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT \CurrentVersion3 , kemudian cari EditionID dan gantikan kandungan dengan "profesional" untuk mengesahkan

Bagaimana untuk menggunakan Memcache dalam pembangunan PHP? Bagaimana untuk menggunakan Memcache dalam pembangunan PHP? Nov 07, 2023 pm 12:49 PM

Dalam pembangunan web, kita selalunya perlu menggunakan teknologi caching untuk meningkatkan prestasi tapak web dan kelajuan tindak balas. Memcache ialah teknologi caching popular yang boleh menyimpan sebarang jenis data dan menyokong konkurensi tinggi dan ketersediaan tinggi. Artikel ini akan memperkenalkan cara menggunakan Memcache dalam pembangunan PHP dan memberikan contoh kod khusus. 1. Pasang Memcache Untuk menggunakan Memcache, pertama sekali kita perlu memasang sambungan Memcache pada pelayan. Dalam sistem pengendalian CentOS, anda boleh menggunakan arahan berikut

Bagaimana untuk mendapatkan kebenaran untuk kepingan dan barangan Douyin? Adakah penghirisan Douyin mudah dibuat? Bagaimana untuk mendapatkan kebenaran untuk kepingan dan barangan Douyin? Adakah penghirisan Douyin mudah dibuat? Mar 07, 2024 pm 10:52 PM

Douyin, sebagai platform media sosial yang popular pada masa ini, bukan sahaja menyediakan orang ramai dengan banyak kandungan hiburan, tetapi juga telah menjadi saluran penting bagi banyak jenama dan peniaga untuk mempromosikan produk dan mencapai jualan. Antaranya, produk menghiris dan menjual Douyin telah menjadi kaedah pemasaran yang baru dan cekap. Jadi, bagaimana anda mendapatkan kebenaran untuk produk hirisan Douyin 1. Bagaimanakah anda mendapatkan kebenaran untuk produk hirisan Douyin menguraikan video panjang menjadi klip video pendek dan membenamkan maklumat promosi produk ke dalamnya untuk menarik penonton? untuk membeli. . Apabila menghiris dan menjual barang di Douyin, langkah pertama ialah mendapatkan kebenaran video asal. Apabila mencari pemberi lesen yang sesuai, anda boleh mempertimbangkan untuk menggunakan pelbagai saluran seperti platform Douyin, media sosial dan forum industri. Cari pencipta atau pemegang hak cipta dengan kandungan video popular dan berhubung secara aktif dengan mereka,

Apa yang perlu dilakukan jika kebenaran wps telah tamat tempoh dan teks tidak boleh dimasukkan? Apa yang perlu dilakukan jika kebenaran wps telah tamat tempoh dan teks tidak boleh dimasukkan? Mar 20, 2024 am 09:00 AM

Terdapat banyak perisian tulen untuk melindungi hak harta intelek mereka sendiri Sebelum menggunakan perisian, pengguna mesti mendapatkan beberapa kebenaran dan mendapatkan kebenaran daripada pembangun sebelum mereka boleh menggunakannya. Sesetengah perisian mempunyai tempoh percubaan Selepas tempoh ini, anda perlu mendapatkan kebenaran semula sebelum anda boleh menggunakannya seperti biasa. Jika wps menggesa bahawa kebenaran telah tamat tempoh, kami tidak boleh melakukan sebarang operasi. Bagaimana untuk menyelesaikan masalah ini, mari kita lihat penjelasan di bawah. 1. Saya membuka program teks WPS dan klik pada kotak merah dalam gambar di atas, seperti yang ditunjukkan dalam gambar di bawah. 2. Klik Configuration and Repair Tools. 3. Pilih "Lanjutan" seperti yang ditunjukkan dalam rajah di bawah. 4. Klik pusat pengurusan produk untuk memadam kandungan gesaan "Tamat tempoh", seperti yang ditunjukkan dalam rajah di bawah. 5. Selepas mengklik "Tambah", masukkan nombor siri, seperti yang ditunjukkan dalam rajah di bawah. 6. Kemudian dahulu

Bagaimana untuk melaksanakan kawalan versi dan kerjasama kod dalam pembangunan PHP? Bagaimana untuk melaksanakan kawalan versi dan kerjasama kod dalam pembangunan PHP? Nov 02, 2023 pm 01:35 PM

Bagaimana untuk melaksanakan kawalan versi dan kerjasama kod dalam pembangunan PHP? Dengan perkembangan pesat Internet dan industri perisian, kawalan versi dan kerjasama kod dalam pembangunan perisian telah menjadi semakin penting. Sama ada anda seorang pembangun bebas atau pasukan yang sedang membangun, anda memerlukan sistem kawalan versi yang berkesan untuk mengurus perubahan kod dan bekerjasama. Dalam pembangunan PHP, terdapat beberapa sistem kawalan versi yang biasa digunakan untuk dipilih, seperti Git dan SVN. Artikel ini akan memperkenalkan cara menggunakan alat ini untuk kawalan versi dan kerjasama kod dalam pembangunan PHP. Langkah pertama ialah memilih yang sesuai dengan anda

Huraikan prinsip -prinsip yang kukuh dan bagaimana ia memohon kepada pembangunan PHP. Huraikan prinsip -prinsip yang kukuh dan bagaimana ia memohon kepada pembangunan PHP. Apr 03, 2025 am 12:04 AM

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Bagaimana untuk meningkatkan kedudukan enjin carian dengan pembangunan cache PHP Bagaimana untuk meningkatkan kedudukan enjin carian dengan pembangunan cache PHP Nov 07, 2023 pm 12:56 PM

Bagaimana untuk meningkatkan kedudukan enjin carian melalui pembangunan cache PHP Pengenalan: Dalam era digital hari ini, kedudukan enjin carian tapak web adalah penting untuk trafik dan pendedahan laman web. Untuk meningkatkan kedudukan laman web, strategi penting ialah mengurangkan masa memuatkan laman web melalui caching. Dalam artikel ini, kami akan meneroka cara untuk meningkatkan kedudukan enjin carian dengan membangunkan caching dengan PHP dan menyediakan contoh kod konkrit. 1. Konsep caching Caching ialah teknologi yang menyimpan data dalam storan sementara supaya ia boleh diambil semula dan digunakan semula dengan cepat. untuk bersih

Bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? Bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? Nov 01, 2023 pm 04:41 PM

Bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? Dengan perkembangan pesat masyarakat moden, kadar hidup manusia semakin pantas dan semakin ramai orang memilih untuk makan di luar. Kemunculan sistem pesanan telah banyak meningkatkan kecekapan dan kemudahan pesanan pelanggan. Sebagai alat pemasaran untuk menarik pelanggan, fungsi kupon juga digunakan secara meluas dalam pelbagai sistem pesanan. Jadi bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? 1. Reka bentuk pangkalan data Pertama, kita perlu mereka bentuk pangkalan data untuk menyimpan data berkaitan kupon. Adalah disyorkan untuk membuat dua jadual: satu

See all articles