Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menambah token pada pengepala respons dalam php
Cara menambah token pada pengepala respons dalam PHP: 1. Gunakan mod Pembawa untuk menambah JWT dalam medan Kebenaran dalam pengepala permintaan 2. Selepas pelayan menerima permintaan, gunakan spesifikasi JWT untuk jana token dan pulangkan Hanya berikan kepada pelanggan.
Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1, komputer DELL G3
Cara menambah token ke pengepala respons dalam php ?
Penjanaan dan penggunaan token php
1 Mengapa menggunakan token untuk log masuk
Pengasingan bahagian depan dan belakang atau. untuk menyokong aplikasi berbilang web, maka akan ada masalah besar dalam menggunakan kuki atau sesi asal
Pengesahan kuki dan sesi perlu di bawah nama domain utama yang sama untuk pengesahan (pada masa ini, sesi boleh disimpan dalam redis untuk menyelesaikan masalah).
2. Penyelesaian
oauth2 dan jwt
jwt: ialah standard keselamatan. Idea asas ialah pengguna memberikan nama pengguna dan kata laluan kepada pelayan pengesahan, dan pelayan mengesahkan kesahihan maklumat yang diserahkan oleh pengguna jika pengesahan berjaya, token (token) akan dihasilkan dan dikembalikan
OAuth2: Ia ialah rangka kerja kebenaran yang selamat . Ia menerangkan secara terperinci cara untuk mencapai pengesahan bersama antara peranan yang berbeza, pengguna, aplikasi bahagian hadapan perkhidmatan (seperti API) dan pelanggan (seperti tapak web atau APP mudah alih) dalam sistem.
(JWT, Token Web JSON ini digunakan untuk pengesahan di sini)
3 Kaedah penjanaan
Tajuk: Jenis penyulitan
Penerangan : Kandungan mesej<.>
Kunci: Kod rawak yang digunakan untuk menyulitkanTiga bahagian di atas disambungkan kemudian gunakan hs256 untuk menyulitkan dan menjana tokenKaedah penjanaan terperinci 1). Pengepala biasanya terdiri daripada dua bahagian: jenis token (iaitu JWT) dan algoritma penyulitan yang digunakan (seperti: SHA256 atau RSA){ "alg": "HS256", "typ": "JWT" }Kemudian, json ini dikodkan Base64Url dan menjadi bahagian pertama 2). Pengisytiharan adalah mengenai entiti.
{ "exp": "1525785339", "sub": "1234567890", "name": "John Doe", "admin": true }Muatan itu kemudiannya Base64Url dikodkan ke bahagian kedua (PS: Maklumat ini, walaupun dilindungi oleh gangguan, boleh dibaca oleh sesiapa sahaja. Jangan hantarnya melainkan disulitkan Maklumat penting adalah diletakkan di dalam) 3). Gunakan kunci penyulitan 4). Untuk menandatangani, anda perlu menggunakan bahagian yang dikodkan pertama, bahagian yang dikodkan kedua, dan kemudian kunci kekunci . Gunakan algoritma penyulitan di bahagian pertama untuk menandatangani
HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), key )Tandatangan ini digunakan untuk mengesahkan sama ada mesej telah diganggu. (PHP menggunakan kaedah crypt untuk penyulitan. Nota: SHA-256 digunakan untuk rintangan gangguan, dan AES-256 digunakan untuk penyulitan. Kedua-dua konsep adalah berbeza) 5 lokasi storan
Biasanya anda harus menggunakan mod Pembawa untuk menambah JWT (Kebenaran: Pembawa) dalam medan Kebenaran dalam pengepala permintaan (sudah tentu anda juga boleh meletakkannya di mana-mana sahaja, seperti menghantarnya sebagai parameter selepas URL, selagi pelanggan boleh mengenalinya, tetapi Memandangkan JWT ialah spesifikasi, lebih baik kita ikut spesifikasi) 6 Penggunaan Pengguna klien memasukkan nama pengguna dan kata laluan dan log masuk, meminta tokenpelayan Selepas menerima permintaan, gunakan spesifikasi JWT untuk menjana token dan mengembalikannya kepada klienSelepas pelanggan menerima token, ia menyahsulitnya, mengesahkan ketepatan masa token (masa tamat tempoh token), dan menyimpannyaPelanggan menggunakan token untuk meminta dataSelepas pelayan menerima token dan menyahsulitnya, ia mengesahkan identiti pengguna, mengesahkan ketepatan masa, dan kemudian mengesahkan pengguna7. Kelemahan 1. Tidak dapat membatalkan token yang dikeluarkan (memugar semula tempoh penggunaan token) 2. Bukan mudah untuk berurusan dengan data yang telah tamat tempoh (menyokong ketidaksahihan token) Jadi jika anda menggunakan token, maka jika token itu Jika ditangkap, ia boleh dipalsukan dan ditiru. Oleh itu, jika keselamatan agak tinggi, masih disyorkan untuk menggunakan oauth2Pembelajaran yang disyorkan: "
Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menambah token pada pengepala respons dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!