recherche

Maison  >  Questions et réponses  >  le corps du texte

mysql - [php] Concernant le problème de l'interface de l'application de développement php, veuillez demander à un expert expérimenté d'y répondre

Interface de l'application de développement php, problème de connexion utilisateur

La situation est la suivante. Après une connexion réussie, l'interface de connexion utilisateur précédente n'est pas enregistrée sur le serveur session Elle peut être enregistrée côté application. Ainsi, même si l'utilisateur se connecte avec succès, lors du réglage de certaines interfaces, user_id doit quand même être passé en paramètre au lieu d'être obtenu depuis le session du serveur.

Aujourd'hui, je souhaite modifier l'interface de connexion et d'enregistrement. Mon collègue a dit que l'interface de l'application n'avait pas le concept de session, mais j'ai toujours l'impression qu'il devrait y avoir d'autres moyens de stocker les sessions utilisateur sur le serveur.

Je veux donc demander à tous les maîtres :

1. php开发app接口有没有`session`的概念?
2. 如果没有,用户会话是怎么处理的?就是当前是否在登录状态

Merci à tous !

某草草某草草2835 Il y a quelques jours717

répondre à tous(10)je répondrai

  • 巴扎黑

    巴扎黑2017-05-16 13:01:53

    Vous pouvez jeter un œil à jwt
    Autonome : la charge utile contient toutes les informations nécessaires à l'utilisateur

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:01:53

    Je définis le jeton et l'heure d'expiration, et j'utilise le jeton pour vérifier

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:01:53

    Tout d'abord, vous créez une interface de connexion. L'application appelle cette interface. Après avoir vérifié le nom d'utilisateur et le mot de passe transmis, renvoyez-lui un jeton.

    Jeton, vous créez une table à enregistrer, et la table stocke le jeton user_id expire_data et d'autres champs. Notez que le jeton et l'id_utilisateur sont uniques.

    Chaque fois qu'il demandera d'autres interfaces à l'avenir, il lui suffira de vous apporter ce jeton et vous pourrez vérifier le jeton.

    Le jeton transmis est crypté/expiré/garanti d'être unique, ce qui est essentiellement cela.

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:01:53

    1. Apportez l'utilisateur nom d'utilisateur et mot de passe dans l'en-tête de la requête, accédez au serveur pour vérification, puis poursuivez la logique métier après avoir transmis la requête.
    Avantages : empêche l'api côté serveur d'être appelée à volonté. Inconvénients : le nom d'utilisateur et le mot de passe sont échangés à chaque fois, le nombre d'interactions est important et la transmission en texte clair du mot de passe n'est pas sécurisée. usernamepassword ,到服务器端做验证,通过才继续下边业务逻辑。
    优点:防止了服务器端 api 被随意调用。
    缺点:每次都交互用户名和密码,交互量大,且密码明文传输不安全。

    2.第一次请求,要求 usernamepassword ,验证通过,发送 cookie 到客户端, app 保存 cookie 值。
    每次请求带上 cookie
    优点:和 pc 上浏览器认证的原理一样了。

    以上两点,只有注册用户,才能有权访问业务逻辑。
    而有些 app有大量的不需要注册数据api

    3.制定一个 token 生成规则,按某些服务器端和客户端都拥有的共同属性生成一个随机串,客户端生成这个串,服务器收到请求也校验这个串。
    缺点:随机串生成规则要保密。

    如果我的答案解决了你的问题,请点击采纳答案

    2. La première requête nécessite un nom d'utilisateur et un mot de passe. Après vérification, un cookie est envoyé au client, application. > Enregistrez la valeur du cookie.
    Apportez un cookie à chaque demande.
    Avantages : Le principe d'authentification du navigateur sur pc est le même.
    🎜Sur les deux points ci-dessus, seuls les utilisateurs enregistrés peuvent avoir accès à la logique métier.
    Et certaines applications disposent d'un grand nombre d'API qui ne nécessitent pas de données d'enregistrement🎜 🎜3. Développez une règle de génération de token pour générer une chaîne aléatoire basée sur certains attributs communs partagés par le serveur et le client. Le client génère cette chaîne, et le serveur vérifie cette chaîne à la réception de la demande. .
    Inconvénients : Les règles de génération de chaînes aléatoires doivent rester confidentielles. 🎜
    🎜Si ma réponse résout votre problème, veuillez cliquer sur Accepter la réponse🎜🎜

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-16 13:01:53

    Vous pouvez procéder ainsi. Différents utilisateurs obtiennent différents jetons via l'interface d'autorisation, définissent le délai d'expiration du jeton, laissent le client mettre le jeton dans l'en-tête de chaque demande et mettent à jour le jeton régulièrement

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:01:53

    Utilisez le jeton pour remplacer le session_id traditionnel stocké dans le cookie client, puis le jeton est utilisé comme nom de clé dans des bases de données telles que redis, et la valeur de la clé est l'uid de l'utilisateur, et le session_id peut être simulé via le haut- mécanisme d'expiration

    répondre
    0
  • 大家讲道理

    大家讲道理2017-05-16 13:01:53

    Notre entreprise a un jeton et un délai d'expiration. Chaque fois que vous vous connectez, le jeton sera actualisé

    .

    répondre
    0
  • PHPz

    PHPz2017-05-16 13:01:53

    C'est ce que j'ai demandé sur notre site en cas de doute

    1. Votre collègue a dit que l'application n'avait pas la notion de séance, je ne pense pas que ce soit exact ! J'espère que mes questions précédentes vous seront utiles !

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-16 13:01:53

    La connexion se produit lorsque le serveur génère un identifiant de connexion réussi et le renvoie au client. La demande du client apporte l'identifiant de connexion et le serveur vérifie les informations de l'utilisateur en se connectant

    .

    répondre
    0
  • 習慣沉默

    習慣沉默2017-05-16 13:01:53

    Le moyen sûr est access_token. Pour ce point, vous pouvez jeter un œil à l’interface API de WeChat ;access_token。这点可以看看微信的api接口;

    简单做法,就是user_id

    Le moyen le plus simple est user_id ;🎜

    répondre
    0
  • Annulerrépondre