>  Q&A  >  본문

javascript - 토큰 확인 논리는 무엇입니까?

현재 기획을 생각하고 있는데 비슷한 성숙한 기획이 있을지 모르겠네요

1. 사용자 최초 검증
2. 지정된 토큰 디렉토리에 토큰 값을 생성합니다.
3. 저장을 위해 토큰을 사용자에게 반환합니다.
4. URL 200을 판단하여 서비스합니다. 404 종료 : 파일 존재 여부를 판단하여 논리적 처리를 합니다.

생각나는 보안 설정은 크롤러가 디렉터리를 크롤링하는 것을 금지하고 무차별 대입 크래킹을 방지하기 위해 디렉터리에 대한 사용자 연결 수를 모니터링하는 것입니다.
이 방법에 버그나 성능 문제가 있습니까?
이보다 더 나은 솔루션이 있나요?

大家讲道理大家讲道理2693일 전868

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

  • 淡淡烟草味

    淡淡烟草味2017-06-26 10:51:07

    이 솔루션에 대해서는 내 다른 답변을 참조하세요: /q/10...

    이 솔루션은 표준으로 간주되지는 않지만 일반적으로 사용되는 솔루션입니다.
    아직 다음과 같은 몇 가지 단점이 있습니다.

    1. 생성된 토큰이 너무 길면 GET 수행 시 GET 요청 길이 제한을 초과하는지 고려해야 하는데(URL 길이가 제한되어 있기 때문) 너무 짧은 토큰은 높은 고유성과 보안성을 보장할 수 없습니다

    2. 물론 토큰을 사용자 토큰으로 사용하는 것은 안전하지 않습니다. 토큰이 만료되기 전에 다른 사람이 토큰을 훔친 경우 다른 사람이 로그인 없이 사용자를 사칭하여 작업을 수행할 수 있습니다.

    3. 보다 안전한 방법을 원하시면 세션 서버를 사용하여 사용자를 확인하는 것입니다. 그러나 세션 크로스 도메인 문제는 실제로 일반적인 문제이며 크로스 도메인 토큰에는 문제가 없습니다. 인터페이스에 액세스할 수 있으면 토큰이 데이터 전달을 요청합니다. 그래서 내 개인적인 관점은 보안과 사용 편의성 사이에서 유일한 선택이 가능하다는 것입니다. 물론 JWT 등 다른 검증 방법도 사용할 수 있지만 이 방법은 (바퀴를 다시 만들 필요가 없는 한) 더 번거롭습니다.

    회신하다
    0
  • 그 맛은 끝이 없어요

    · 2020-09-25 09:56:41
  • 三叔

    三叔2017-06-26 10:51:07

    1. 클라이언트가 정보를 제출합니다
    2. 서버는 정보의 정확성을 확인합니다. 로그인이 불법이면 로그인이 실패합니다
    3. 서버는 알고리즘을 사용하여 토큰을 높은 동시성으로 저장합니다. 4. 서버는 클라이언트에게 토큰을 반환합니다
    5. 클라이언트는 토큰을 저장합니다
    6. 다음에 클라이언트가 요청할 때 서버는 토큰의 유효성을 확인합니다. 토큰이 유효하면 통과하고, 유효하지 않으면 검증에 실패합니다

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