Cara Memberi Kebenaran

Isi kandungan:

Cara Memberi Kebenaran
Cara Memberi Kebenaran

Video: Cara Memberi Kebenaran

Video: Cara Memberi Kebenaran
Video: Cara Mudah Menentukan Tabel Kebenaran Dalam Operasi Logika Matematika 2024, Mungkin
Anonim

Sering kali, adalah mustahak untuk membahagikan pengunjung menjadi yang diinginkan dan yang tidak diingini, dan memberi peluang untuk melihat beberapa halaman laman web hanya kepada mereka yang mempunyai nama pengguna dan kata laluan. Bagaimana untuk melakukan ini, misalnya, dalam bahasa skrip pelayan PHP?

Bagaimana saya memberi kebenaran?
Bagaimana saya memberi kebenaran?

Arahan

Langkah 1

Mari atur cara termudah untuk melindungi halaman anda daripada pelawat yang tidak dibenarkan. Pembawa maklumat mengenai sama ada pengunjung diberi kuasa akan menjadi sesi. Sesi adalah analog kuki dalam penyemak imbas, dengan satu-satunya perbezaan yang dibuat bukan di komputer kita, tetapi di pelayan. Dan ia digunakan untuk tujuan yang sama seperti kuki - untuk menyimpan maklumat yang berbeza mengenai kami semasa kami pergi dari halaman ke halaman satu laman web. Apabila kita menutup penyemak imbas, pelayan memusnahkan sesi ini, dan pada masa kita log masuk, ia akan membuat yang baru. Kami menggunakan mekanisme pelayan ini untuk merakam sama ada pengguna sudah masuk ke sesi atau tidak. Membaca maklumat ini, ketika pengunjung meminta halaman, skrip php akan membuka akses ke halaman yang dilindungi kata laluan, atau menawarkan untuk memasukkan nama pengguna dan kata laluan.

Langkah 1: Buat halaman untuk memasukkan log masuk dan kata laluan. Kod HTML borang kebenaran dalam bentuk termudah mungkin kelihatan seperti ini:

Log masuk:

Kata Laluan:

Di sini (di awal fail) kami akan menambahkan kod php yang akan memeriksa kebenaran nama pengguna dan kata laluan yang dimasukkan oleh pelawat. Pada awalnya kita akan menulis:

sesi_start ();

Perintah ini memulakan sesi baru jika belum dibuat untuk pelawat ini.

Kemudian mari kita periksa sama ada sesi tersebut mempunyai pemboleh ubah bernama 'userName' - ia akan menyimpan nama tersebut sekiranya pelawat telah masuk. Sekiranya terdapat pemboleh ubah seperti itu, arahkan pengunjung ke halaman utama (index.php) dan selesaikan pelaksanaan skrip php ini:

jika ($ _ SESI ['userName']) {

pengepala ("Lokasi: index.php");

jalan keluar;

}

Selebihnya kod akan dilaksanakan hanya jika pengguna belum memasukkan nama pengguna dan kata laluan yang betul. Mari tunjukkan log masuk dan kata laluan mana yang harus dianggap betul:

$ validName = 'Saya milik saya!';

$ validPass = 'kata laluan rahsia';

Kemudian kami memeriksa untuk melihat apakah nilai yang dihantar dari borang sepadan dengan nilai yang betul. Oleh kerana kami telah menentukan kaedah pemindahan data POST dalam bentuk, kaedah tersebut harus dibaca dari pemboleh ubah superglobal $ _POST:

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

$ _SESSION ['userName'] = $ validName;

pengepala ("Lokasi: index.php");

jalan keluar;

}

Di sini kod dalam pendakap kerinting {} akan dilaksanakan dengan nilai nama pengguna dan kata laluan yang betul. Di talian $ _SESSION ['userName'] = $ validName; dan kami menulis dalam sesi pemboleh ubah bernama 'userName' yang mengandungi log masuk pengguna yang kini dibenarkan. Ini akan menjadi tanda bahawa akses terbuka kepadanya di mana sahaja selagi sesinya sekarang sah.

Sekiranya data yang salah dimasukkan ke dalam borang, tambahkan mesej yang sesuai:

lain bergema"

Log masuk atau kata laluan tidak betul!

;

Semua kod yang perlu disimpan ke fail bernama login.php akan kelihatan seperti ini:

<? php

sesi_start ();

jika ($ _ SESI ['userName']) {

pengepala ("Lokasi: index.php");

jalan keluar;

}

$ validName = 'Saya milik saya!';

$ validPass = 'kata laluan rahsia';

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

$ _SESSION ['userName'] = $ validName;

pengepala ("Lokasi: index.php");

jalan keluar;

}

lain bergema"

Log masuk atau kata laluan tidak betul!

;

?>

Log masuk:

Kata Laluan:

Langkah 2

Langkah 2: Buat blok kebenaran - fail berasingan yang akan disambungkan ke setiap halaman yang memerlukan perlindungan kata laluan. Fail ini hanya akan mengandungi kod php, jadi pelanjutannya akan menjadi "php", dan kami akan memberikannya sesuai dengan tradisi untuk fail seperti itu - "auth", yaitu, "auth.php". Dan di sini juga, segera setelah tag pembukaan <? Php, harus ada arahan untuk memulakan sesi:

sesi_start ();

Kita boleh membaca semua pemboleh ubah yang disimpan dalam sesi dari array superglobal $ _SESSION. Kita perlu memeriksa nilai pemboleh ubah "userName" - jika pengunjung belum masuk, maka itu tidak akan berada dalam array, dan kita akan mengarahkannya ke halaman untuk memasukkan nama pengguna dan kata laluannya:

jika (! $ _ SESI ['dibenarkan']) {

pengepala ("Lokasi: login.php");

jalan keluar;

}

Semua kod yang perlu disimpan ke fail auth.php akan kelihatan seperti ini:

<? php

sesi_start ();

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

pengepala ("Lokasi: enter.php");

jalan keluar;

}

?>

Langkah 3

Langkah 3: setelah kami menyimpan fail ini di pelayan, fail tersebut akan tetap berada di semua halaman php yang perlu dilindungi dari pengguna yang tidak sah untuk menyambungkan blok kebenaran. Maksudnya, pada awal setiap fail php, anda perlu memasukkan kod ini:

<? php

memerlukan "auth.php";

?>

Dan untuk menukar kata laluan akses, anda perlu mengubah nilai pemboleh ubah ini dalam fail login.php:

$ validName = 'Saya milik saya!';

$ validPass = 'kata laluan rahsia';

$ validName - log masuk, $ validPass - kata laluan.

Disyorkan: