Bagaimana Cara Mengotorisasi

Daftar Isi:

Bagaimana Cara Mengotorisasi
Bagaimana Cara Mengotorisasi

Video: Bagaimana Cara Mengotorisasi

Video: Bagaimana Cara Mengotorisasi
Video: Как просматривать и управлять разрешениями на доступ к приложениям на мобильном телефоне 2024, Mungkin
Anonim

Sering terjadi bahwa perlu untuk membagi pengunjung menjadi diinginkan dan tidak diinginkan, dan memberikan kesempatan untuk melihat beberapa halaman situs hanya untuk mereka yang memiliki nama pengguna dan kata sandi. Bagaimana melakukan ini, misalnya, dalam bahasa skrip sisi server PHP?

Bagaimana cara saya memberi otorisasi?
Bagaimana cara saya memberi otorisasi?

instruksi

Langkah 1

Mari atur cara termudah untuk melindungi halaman Anda dari pengunjung yang tidak berwenang. Pembawa informasi tentang apakah pengunjung diotorisasi akan menjadi sesi. Sesi adalah analog cookie di browser, dengan satu-satunya perbedaan bahwa cookie dibuat bukan di komputer kami, tetapi di server. Dan mereka digunakan untuk tujuan yang sama seperti cookie - untuk menyimpan informasi berbeda tentang kami saat kami berpindah dari halaman ke halaman di satu situs. Saat kita menutup browser, server menghancurkan sesi ini, dan saat kita masuk lagi, sesi ini akan membuat sesi baru. Kami menggunakan mekanisme server ini untuk merekam apakah pengguna sudah masuk ke sesi atau belum. Membaca informasi ini, ketika pengunjung meminta halaman, skrip php akan membuka akses ke halaman yang dilindungi kata sandi, atau menawarkan untuk memasukkan nama pengguna dan kata sandi.

Langkah 1: Buat halaman untuk memasukkan login dan kata sandi. Kode HTML dari formulir otorisasi dalam bentuk yang paling sederhana mungkin terlihat seperti ini:

Gabung:

Kata sandi:

Di sini (di awal file) kami akan menambahkan kode php yang akan memeriksa kebenaran nama pengguna dan kata sandi yang dimasukkan oleh pengunjung. Pada awalnya kita akan menulis:

session_start();

Perintah ini memulai sesi baru jika sesi belum dibuat untuk pengunjung ini.

Kemudian mari kita periksa apakah sesi memiliki variabel bernama 'userName' - itu akan menyimpan nama jika pengunjung sudah masuk. Jika ada variabel seperti itu, arahkan pengunjung ke halaman utama (index.php) dan selesaikan eksekusi skrip php ini:

if ($ _ SESI ['namapengguna']) {

header("Lokasi: index.php");

keluar;

}

Sisa kode akan dieksekusi hanya jika pengguna belum memasukkan nama pengguna dan kata sandi yang benar. Mari kita tunjukkan login dan kata sandi mana yang harus dianggap benar:

$ validName = 'Saya milik saya!';

$ validPass = 'kata sandi rahasia';

Kemudian kami memeriksa untuk melihat apakah nilai yang dikirimkan dari formulir cocok dengan yang benar. Karena kami telah menentukan metode transfer data POST dalam formulir, metode tersebut harus dibaca dari variabel superglobal $ _POST:

if ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['namapengguna'] = $ validName;

header("Lokasi: index.php");

keluar;

}

Di sini kode dalam kurung kurawal {} akan dieksekusi dengan nilai nama pengguna dan sandi yang benar. Pada baris $ _SESSION ['userName'] = $ validName; ma kita menulis di sesi sebuah variabel bernama 'userName' yang berisi login dari pengguna yang sekarang berwenang. Ini akan menjadi tanda bahwa akses terbuka untuknya di mana saja selama sesinya saat ini valid.

Dan jika data yang salah dimasukkan ke dalam formulir, tambahkan pesan yang sesuai:

lain gema"

Login atau kata sandi salah!

;

Semua kode yang perlu disimpan ke file bernama login.php akan terlihat seperti ini:

<? php

session_start();

if ($ _ SESI ['namapengguna']) {

header("Lokasi: index.php");

keluar;

}

$ validName = 'Saya milik saya!';

$ validPass = 'kata sandi rahasia';

if ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['namapengguna'] = $ validName;

header("Lokasi: index.php");

keluar;

}

lain gema"

Login atau kata sandi salah!

;

?>

Gabung:

Kata sandi:

Langkah 2

Langkah 2: Buat blok otorisasi - file terpisah yang akan dihubungkan ke setiap halaman yang memerlukan perlindungan kata sandi. File ini hanya akan berisi kode php, jadi ekstensinya adalah "php", dan kami akan memberinya nama sesuai tradisi untuk file tersebut - "auth", yaitu, "auth.php". Dan di sini juga, segera setelah tag pembuka <? Php, harus ada instruksi untuk memulai sesi:

session_start();

Kita dapat membaca semua variabel yang disimpan dalam sesi dari array superglobal $ _SESSION. Kami perlu memeriksa nilai variabel "namapengguna" - jika pengunjung belum masuk, maka itu tidak akan ada dalam array, dan kami akan mengarahkannya ke halaman untuk memasukkan nama pengguna dan kata sandinya:

if (! $ _ SESI ['resmi']) {

header("Lokasi: login.php");

keluar;

}

Semua kode yang perlu disimpan ke file auth.php akan terlihat seperti ini:

<? php

session_start();

if (! $ _ SESI ['admin']) {

header("Lokasi: enter.php");

keluar;

}

?>

Langkah 3

Langkah 3: setelah kami menyimpan file-file ini di server, itu akan tetap berada di semua halaman php yang perlu dilindungi dari pengguna yang tidak sah untuk menghubungkan blok otorisasi. Artinya, di awal setiap file php, Anda harus memasukkan kode ini:

<? php

membutuhkan "auth.php";

?>

Dan untuk mengubah kata sandi akses, Anda perlu mengubah nilai variabel ini di file login.php:

$ validName = 'Saya milik saya!';

$ validPass = 'kata sandi rahasia';

$ validName - login, $ validPass - kata sandi.

Direkomendasikan: