내 PHP 코드 지정자 사이트는 3 가지 유형의 전자 메일을 사용자에게 보내며 HTML 형식이며 '브라우저에서이 이메일보기'링크 옵션을 원합니다.html 전자 메일에 대한 안전한 '보기 전자 메일보기'링크 만들기
어떻게 합리적으로 안전한 링크를 만들 수 있습니까? 이메일의 2가 민감한 특성 :
는은 등록 새로운 기능 : 이메일은 내용과 패스를 잊어 버렸
활성화 링크를 보여줍니다 이메일 링크가 통과 재설정을 보여줍니다
다음과 같이하면 충분합니까? :
$code = sha1(mt_rand(10000,99999).time().$user_email);
$link = 'email/view/' . $code . '/' . $user_id . '/';
=> http://mysite.com/email/view/c0acc09c6d00b706e1e511e52f286b1859067047/213/
따라서 인증은 임의의 해시와 user_id를 기반으로 수행됩니다. 그것은 또한 사용자 아이디를 해시 할 가치가 있습니까?
나는 당신이 2 가지 다른 것들에 대해 이야기하고 있다고 생각합니다. 1) 브라우저에서 이메일을 표시하는 방법 (내가 본 적이없는 옵션) 및 2) 사용자를 인증 할 이메일에 URL을 제공하는 방법. 나는 후자가 당신이 정말로 성취하려고 노력하는 사람이라고 생각합니다. 맞습니까? – Anthony
인수없이'mt_rand()'를 사용하십시오. 그러면 99999 대신 수십억 개의 가능한 숫자를 얻을 수 있습니다.'time() '대신'microtime()'을 사용하면 더 많은 예측할 수없는 해시를 얻을 수 있습니다. 가능한 해시 수를 늘리는 것이 전부입니다. – kijin
감사합니다. 해시를 sha1 (mt_rand(). microtime(). $ user_email)으로 업데이트했습니다. – Quadrant6