Rumah > Soal Jawab > teks badan
antara muka aplikasi pembangunan php, masalah log masuk pengguna
Situasinya seperti ini. Antara muka log masuk pengguna sebelum ini tidak wujud pada pelayan selepas log masuk berjaya session
Ia mungkin disimpan di sebelah aplikasi. Oleh itu, walaupun pengguna berjaya log masuk, apabila melaraskan antara muka tertentu, user_id
masih mesti diluluskan sebagai parameter dan bukannya diperoleh daripada session
pelayan.
Hari ini saya ingin mengubah suai antara muka log masuk dan pendaftaran Rakan sekerja saya berkata bahawa antara muka aplikasi tidak mempunyai konsep session
, tetapi saya sentiasa merasakan bahawa perlu ada cara lain untuk menyimpan sesi pengguna pada pelayan.
Jadi saya ingin bertanya kepada semua tuan:
1. php开发app接口有没有`session`的概念?
2. 如果没有,用户会话是怎么处理的?就是当前是否在登录状态
Terima kasih semua!
巴扎黑2017-05-16 13:01:53
Anda boleh melihat jwt
Sendiri: Muatan mengandungi semua maklumat yang diperlukan oleh pengguna
巴扎黑2017-05-16 13:01:53
Saya menetapkan token dan masa tamat tempoh, dan menggunakan token untuk mengesahkan
漂亮男人2017-05-16 13:01:53
Pertama, anda membuat antara muka log masuk Apl memanggil antara muka ini Selepas anda mengesahkan nama pengguna dan kata laluan yang diluluskan, kembalikan token kepadanya.
Token anda membuat jadual untuk disimpan, dan jadual menyimpan token_id_pengguna expire_data dan medan lain Ambil perhatian bahawa token dan id_pengguna adalah unik.
Setiap kali dia meminta antara muka lain pada masa hadapan, dia hanya perlu membawa token ini kepada anda dan anda boleh mengesahkan token itu.
Token yang diluluskan disulitkan/tamat tempoh/dijamin unik, pada asasnya ia.
仅有的幸福2017-05-16 13:01:53
1 Sertakan kata laluan
dalam pengepala permintaan, pergi ke pelayan untuk pengesahan, dan kemudian teruskan dengan logik perniagaan di bawah jika diluluskan.
Kelebihan: Menghalang api
sebelah pelayan daripada dipanggil sesuka hati.
Kelemahan: Nama pengguna dan kata laluan ditukar setiap kali, jumlah interaksi adalah besar, dan penghantaran teks yang jelas bagi kata laluan adalah tidak selamat. username
和 password
,到服务器端做验证,通过才继续下边业务逻辑。
优点:防止了服务器端 api
被随意调用。
缺点:每次都交互用户名和密码,交互量大,且密码明文传输不安全。
2.第一次请求,要求 username
和 password
,验证通过,发送 cookie
到客户端, app
保存 cookie
值。
每次请求带上 cookie
。
优点:和 pc
上浏览器认证的原理一样了。
以上两点,只有注册用户,才能有权访问业务逻辑。
而有些 app
有大量的不需要注册数据api
3.制定一个 token
生成规则,按某些服务器端和客户端都拥有的共同属性生成一个随机串,客户端生成这个串,服务器收到请求也校验这个串。
缺点:随机串生成规则要保密。
🎜Pada dua perkara di atas, hanya pengguna berdaftar boleh mempunyai akses kepada logik perniagaan.如果我的答案解决了你的问题,请点击
2. Permintaan pertama memerlukan采纳答案
nama pengguna
danpassword
Selepas pengesahan,cookie
dihantar kepada klien,app
> Simpan nilaicookie
.
Bawakuki
untuk setiap permintaan.
Kelebihan: Prinsip pengesahan penyemak imbas padapc
adalah sama.
apl
mempunyai sejumlah besar API yang tidak memerlukan data pendaftaran🎜
🎜3. Bangunkan peraturan penjanaan token
untuk menjana rentetan rawak berdasarkan beberapa atribut biasa yang dikongsi oleh kedua-dua pelayan dan klien . 🎜Jika jawapan saya menyelesaikan masalah anda, sila klikTerima Jawapan🎜🎜 balas0
ringa_lee2017-05-16 13:01:53
Anda boleh melakukannya seperti ini Pengguna yang berbeza memperoleh token yang berbeza melalui antara muka kebenaran, tetapkan masa tamat tempoh untuk token, biarkan pelanggan meletakkan token dalam pengepala untuk setiap permintaan, dan kemas kini token dengan kerap
滿天的星座2017-05-16 13:01:53
Gunakan token untuk menggantikan session_id tradisional yang disimpan dalam kuki klien, dan kemudian token digunakan sebagai nama kunci dalam pangkalan data seperti redis, dan nilai kunci ialah uid pengguna, dan session_id boleh disimulasikan melalui terbina dalam mekanisme tamat tempoh
大家讲道理2017-05-16 13:01:53
Syarikat kami mempunyai token dan masa tamat tempoh Setiap kali anda log masuk, token akan diperbaharui
PHPz2017-05-16 13:01:53
Ini yang saya tanya di laman web kami apabila saya ragu
Rakan sekerja anda berkata bahawa apl itu tidak mempunyai konsep sesi, saya rasa ia tidak tepat! Saya harap soalan saya sebelum ini dapat membantu anda!
PHP中文网2017-05-16 13:01:53
Log masuk ialah apabila pelayan menjana ID log masuk yang berjaya dan mengembalikannya kepada klien Permintaan pelanggan membawa ID log masuk, dan pelayan mengesahkan maklumat pengguna dengan log masuk
習慣沉默2017-05-16 13:01:53
Cara selamat ialah token_akses
. Untuk perkara ini, anda boleh melihat antara muka API WeChat;access_token
。这点可以看看微信的api接口;
简单做法,就是user_id
user_id
;🎜