mysql - [php] PHP 개발 앱 인터페이스 문제에 대해서는 경험이 풍부한 전문가에게 문의하여 답변을 부탁드립니다.
某草草
某草草 2017-05-16 12:59:53
0
10
698

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

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

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

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

으아악

모두들 감사합니다!

某草草
某草草

모든 응답(10)
巴扎黑

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

巴扎黑

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

漂亮男人

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

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

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

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

仅有的幸福

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

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

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

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

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

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

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

滿天的星座

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

大家讲道理

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

PHPzhong

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

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

Ty80

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

習慣沉默

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

简单做法,就是user_id

간단한 방법은 user_id입니다.🎜
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿