2010-01-28 8 views
2

이메일을 통해 사용자는 링크를 클릭하여 인터뷰 일정을 확인할 수 있습니다. 이 URL을 어떻게 동적으로 생성합니까?asp.net 고유 링크 생성기

나는 쿼리 문자열을 사용할 생각이고 매번 로그인하지 않아도됩니다. 따라서 이상적으로이 쿼리 문자열에 자격 증명과 날짜 및 시간을 포함시키고 싶습니다. 물론, 나는 이것을 간단한 방법으로 암호화하고 싶습니다.

예 : invitation.aspx? qs = 24lkl254524j2re2wtl5y6.

제안 사항?

+0

왜 데이터를 암호화하여 쿼리 문자열로 사용하지 않는 것이 좋을까요? – Wil

답변

1

GUID를 사용하고 데이터베이스의 사용자와 관련이있을 수 있지만 응용 프로그램에서 GUID를 제외하는 방법에 대한 비즈니스 논리를 만들어야합니다. 예를 들어 UserA에 GUID가 있다고 가정 할 수 있습니다. GUID가 다음 15 분 내에 사용되면 UserA는 자동으로 로그인되지만 15 분 후에는 사용자가 사용자 이름과 암호를 사용하도록합니다.

마찬가지로 u = UserA & 시간 = 1347 & = 01282001과 같은 쿼리 문자열을 만든 다음 일종의 해시를 통해 실행할 수 있습니다. 다시 들어 오면 해쉬를 해제하십시오 (MD5를 사용할 수 없으므로). 타임 스탬프를 확인하고 타임 스탬프가 생성 된 이후의 시간을 확인하십시오. 허용되는 기간 내에있는 경우 사용자 이름과 비밀번호를 사용하도록 강요하지 않으면 사용자가 입력하도록하십시오. 이렇게하면 데이터베이스에서 사용자와 아무 것도 관련시킬 필요가 없으므로 GUID에 비해 더 간단한 솔루션이 될 수 있습니다.

+0

+1 안녕하세요. –

2

NewGuid 방법을 사용하면 항상 Guid을 사용할 수 있습니다.

개인적으로 링크에서 사용하기 전에 중괄호와 대시를 제거합니다.

0

일부 프로그래머가이 페이지를 방문한 경우. 이 글에서

: http://www.ietf.org/rfc/rfc4122.txt

이 UUID를 추측하기 어려운 가정하지 마십시오 예를 들어, 보안 기능 (식별자가
액세스 권한을 부여하는 식별자)은 사용하지 않아야합니다. 예측 가능한 난수 소스는
으로 악화됩니다.