2010-03-05 4 views
0

Joomla 웹 사이트에 리디렉션 페이지를 통해 리다이렉트되었지만 액세스 할 수 없도록하려는 웹 페이지가 있습니다. .특정 웹 페이지에 액세스 할 수 없게하는 방법 (리디렉션을 통해 액세스하는 사람들 제외)

기본적으로 PayPal과 통합 된 내 페이지의 양식에서 물건을 구입하고 Paypal 지불이 완료되면이 특정 페이지로 리디렉션됩니다. 나는 누군가가이 URL을 복사하고 나중에 페이지로 돌아올 수 있기를 원하지 않는다. 이것을 할 수있는 방법이 있습니까?

답변

2

그런 다음 데이터베이스에 "토큰"을 저장해야합니다. 반환하는 클라이언트가 처음으로 "감사합니다"페이지에 액세스하면 무효화됩니다. 토큰을 Paypal로 리디렉션 할 때 클라이언트의 URL (URL)에 토큰을 제공해야하며 유효한 결제 후 돌아 오는 경우 토큰은 URL에 있어야합니다. 내 프로젝트 중 하나에서 PayPal을 사용하려고 할 때 기억하는 한, Paypal에 이와 같은 것을 전달하고 돌려받을 수 있습니다.

1

리디렉션을 확인하는 것은 좋지 않습니다. 그런 것들은 쉽게 스푸핑 될 수 있습니다. 그 대신 어떤 종류의 세션 레코드를 만들고 쿼리 문자열에있는 해당 레코드의 ID를 제한된 페이지로 전달하기 위해 리디렉션이 필요한 페이지가 있어야합니다. 제한된 페이지는 세션 ID가 데이터베이스에 없거나 너무 오래 되었으면 거부 할 수 있습니다.

0

Joomla와 함께 작업 한 이후로 꽤 오래되었습니다. Server 변수를보고 Refer URL을 확인할 수 있습니다. 귀하의 웹 페이지 또는 페이팔 중 하나가 아니라면, 당신은 당신이 선택한 페이지로 사용자를 리디렉션 할 수 있습니다.

리디렉션에 특정 토큰을 포함합니다. 어쩌면 제한된 수명을 가지며 특정 사용자에게 할당 된 Guid 일 수 있습니다.

0

링크가 사용 된 후 곧 만료된다면 보호하려는 콘텐츠에 대한 일회성 URL을 만들어야한다고 생각합니다.

example.com/purchased_content?token=59803475203658902345089

: 구매의 작용은, 고유 키 또는 토큰을 생성 서버에 토큰의 값을 저장 한 다음 링크에 그 토큰을 참조 되세요 링크를 클릭하면 저장된 값을 확인하십시오. 원하는 기준에 따라 만료시킬 수 있습니다.

다른 곳으로 URL을 복사하지 않으려면 구매 동작에 토큰 값이 설정된 쿠키를 설정할 수 있습니다. 그런 다음 링크를 클릭하면 쿠키를 확인하십시오. 지식이 많은 사용자도 쿠키를 복사 할 수 있으므로 이는 절대 안전한 것은 아닙니다.

관련 문제