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" }
{ "exp": "1525785339", "sub": "1234567890", "name": "John Doe", "admin": true }
HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), key )
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!