찾다

 >  Q&A  >  본문

mysql - [php] PHP 개발 앱 인터페이스 문제에 대해서는 경험이 풍부한 전문가에게 문의하여 답변을 부탁드립니다.

PHP 개발 앱 인터페이스, 사용자 로그인 문제

로그인 성공 후 이전 사용자 로그인 인터페이스가 서버에 저장되지 않는 상황입니다session. 따라서 사용자가 로그인에 성공하더라도 특정 인터페이스를 조정할 때 user_id은 서버의 session에서 가져오는 대신 매개변수로 전달되어야 합니다.

오늘은 로그인 및 등록 인터페이스를 수정하고 싶습니다. 제 동료가 앱 인터페이스에는 session 개념이 없다고 했지만, 저는 항상 서버에 사용자 세션을 저장하는 다른 방법이 있어야 한다고 생각합니다.

그래서 모든 마스터들에게 묻고 싶습니다.

으아악

모두들 감사합니다!

某草草某草草2821일 전706

모든 응답(10)나는 대답할 것이다

  • 巴扎黑

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

    jwt를 살펴보세요
    자체 포함: 페이로드에는 사용자에게 필요한 모든 정보가 포함되어 있습니다

    회신하다
    0
  • 巴扎黑

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

    토큰과 만료시간을 설정하고, 토큰을 사용하여 인증합니다

    회신하다
    0
  • 漂亮男人

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

    먼저 앱이 이 인터페이스를 호출하는 경우 전달된 사용자 이름과 비밀번호를 확인한 후 토큰을 반환합니다.

    Token은 저장할 테이블을 생성하며, 테이블은 user_id 토큰 만료_data 및 기타 필드를 저장합니다. 토큰과 user_id는 고유합니다.

    앞으로는 그가 다른 인터페이스를 요청할 때마다 이 토큰만 가져오면 되며 토큰을 확인할 수 있습니다.

    전달된 토큰은 기본적으로 고유한 것으로 암호화/만료/보장됩니다.

    회신하다
    0
  • 仅有的幸福

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

    1. 요청 헤더에 사용자 usernamepassword를 가져와서 확인을 위해 서버로 이동한 다음 요청을 통과한 후 비즈니스 로직을 계속 진행합니다.
    장점: 서버 측 api가 마음대로 호출되는 것을 방지합니다.
    단점: 사용자 이름과 비밀번호가 매번 교환되고 상호 작용량이 많고 비밀번호 일반 텍스트 전송이 안전하지 않습니다. usernamepassword ,到服务器端做验证,通过才继续下边业务逻辑。
    优点:防止了服务器端 api 被随意调用。
    缺点:每次都交互用户名和密码,交互量大,且密码明文传输不安全。

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

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

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

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

    2. 첫 번째 요청에는 사용자 이름비밀번호가 필요합니다. 확인 후 쿠키가 클라이언트인 으로 전송됩니다. > 쿠키 값을 저장하세요.
    각 요청에 쿠키를 가져옵니다.
    장점: pc에서의 브라우저 인증 원칙은 동일합니다.
    🎜위 두 가지 사항에서 등록된 사용자만 비즈니스 로직에 접근할 수 있습니다.
    그리고 일부 에는 등록 데이터가 필요하지 않은 API가 많이 있습니다🎜 🎜3. 서버와 클라이언트가 공유하는 몇 가지 공통 속성을 기반으로 임의의 문자열을 생성하는 token 생성 규칙을 개발하고, 서버는 요청을 받으면 이 문자열을 확인합니다. .
    단점: 무작위 문자열 생성 규칙은 기밀로 유지되어야 합니다. 🎜
    🎜내 답변으로 문제가 해결되면 답변 수락🎜🎜을 클릭하세요.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-16 13:01:53

    이렇게 할 수 있습니다. 다양한 사용자가 인증 인터페이스를 통해 서로 다른 토큰을 얻고, 토큰의 만료 시간을 설정하고, 클라이언트가 각 요청의 헤더에 토큰을 넣도록 하고, 토큰을 정기적으로 업데이트합니다

    회신하다
    0
  • 滿天的星座

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

    토큰을 사용하여 클라이언트 쿠키에 저장된 기존의 session_id를 대체한 다음 토큰은 redis와 같은 데이터베이스에서 키 이름으로 사용되며 키 값은 사용자 uid이며 session_id는 내장된 기능을 통해 시뮬레이션할 수 있습니다. 만료 메커니즘

    회신하다
    0
  • 大家讲道理

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

    저희 회사에는 토큰과 만료 시간이 있습니다. 로그인할 때마다 토큰이 갱신됩니다

    회신하다
    0
  • PHPz

    PHPz2017-05-16 13:01:53

    궁금할 때 저희 사이트에 물어본 내용입니다

    1. 동료가 앱에 세션 개념이 없다고 해서 정확하지 않은 것 같아요! 이전 질문이 도움이 되었기를 바랍니다.

    회신하다
    0
  • PHP中文网

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

    로그인은 서버가 로그인에 성공한 ID를 생성하여 클라이언트에 반환하는 것입니다. 클라이언트 요청은 로그인 ID를 가져오고, 서버는 로그인을 통해 사용자 정보를 확인합니다.

    회신하다
    0
  • 習慣沉默

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

    안전한 방법은 access_token입니다. 이 시점에서 WeChat의 API 인터페이스를 살펴볼 수 있습니다.access_token。这点可以看看微信的api接口;

    简单做法,就是user_id

    간단한 방법은 user_id입니다.🎜

    회신하다
    0
  • 취소회신하다