문제

등록하지 않고 사용자에게 기능을 제공하는 사이트를 작성하고 있습니다. 아이디어는 토큰과의 링크가 포함 된 지정된 주소로 이메일을 보내는 것입니다. 이렇게하면 사용자가 기능을 변경하려고 할 때 마다이 링크를 할 수 있습니다.

그러한 개념을 진정으로 확보 할 수있는 방법이 없다는 것을 알고 있지만, 토큰의 가시성을 최소화 할 수있는 옵션을 찾고 있습니다. 현재 상태에서 사용자가 링크를 클릭하면 컴퓨터에 액세스 할 수있는 사람이라면 누구나 사용할 수있는 브라우저 기록에 추가됩니다.

대부분의 경우 나는 사후 요청과 함께 토큰을 통과 할 수 있도록 간단한 양식으로 이것을 끝내려고하지만 전자 메일에서는 양식이 실제로 지원되지 않습니다.

문제는 그러한 이메일에서 토큰을 숨길 수있는 대체 방법을 알고 있습니까?

도움이 되었습니까?

해결책

나는 당신이 이것을 생각했다고 확신하지만, 비밀번호와 해당 비밀번호를 입력 해야하는 URL에 대한 링크를 보낼 수 있습니다. 이메일에 이메일 URL에 다른 비밀번호가 포함 된 경우, 핀 번호와 같이 사용자가 제공 한 비밀번호를 상당히 짧게 만드는 것이 평소보다 보안에 더 작은 타협이 될 것입니다.

다른 팁

사용자가 로그인 할 때마다 새 토큰을 재판매 할 수 있습니다. 이메일 주소에 PLOP를 넣고 새 토큰을 보내면서 이전 토큰을 '만료'하도록 설정하십시오. 또는 서버가 이전 링크/토큰이 사용되었음을 감지하면 새로운 링크를 자동으로 관련 이메일 주소로 보내고 사용자에게 새 링크를 확인하도록 요청할 수 있습니다.

그것은 기존의 만료 된 토큰 및 관련 이메일 주소를 추적해야하지만 여전히 등록이 필요하지 않습니다. 로그인 할 때마다 사용자가 우편물을 확인하는 것만으로도 이메일 인증에 돼지를 후원하는 것입니다.

또한 사용자에게 반 직관적입니다.

이것은 토큰을 a로 바꿀 것입니다 암호화 nonce, 주로 언급 한 재생 공격을 방지하는 데 주로 사용됩니다.

또 다른 대답은 아마도 더 유용합니다.

크롬과 같은 일부 브라우저는 브라우저 기록에서 301 "영구적으로 이동"을 기록하지 않습니다. Firefox는하지만 변경할 제안이 있습니다.https://wiki.mozilla.org/browser_history:redirects

예를 들어, Chrome에서 직접 탐색하는 경우

Amazon.com

301 리디렉션을 따릅니다

www.amazon.com

그런 다음 브라우저 기록을 확인하면 만 표시됩니다.

www.amazon.com

따라서 서버가 로그인 링크에서 301 리디렉션을 반환하면 서버가 토큰을 녹화하고 리디렉션 링크에서 제거 할 수 있으며 사용자의 브라우저는 리디렉션 링크 만 기록합니다.

(Stack Overflow에서 처음으로 응답 한 것은 내 글쓰기가 불분명한지 또는 다른 에티켓이 누락되었는지 알려주세요)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top