2012-08-15 5 views
0

사이트의 특정 보안 부분에 액세스하기 전에 PayPal을 통해 지불해야하는 웹 사이트를 만들고 있습니다. 나는 그것을 설정하여 "가입"버튼을 PayPal로 곧바로 가져 가면 거기에 돈을 지불하면 가입 (root/signup/index.php) 페이지로 이동하여 귀하의 이름, 이메일 , 비밀 번호 등이 정보는 데이터베이스에 저장됩니다. 누군가의 정보가 데이터베이스에 저장되면 사이트의 안전한 부분에 로그인 할 수 있습니다.특정 링크에서만 웹 페이지에 액세스 할 수있게 만드는 방법

내 문제는 사용자가 www.mysite.com/signup/로 이동하여 이름/이메일/pw/등을 입력하여 페이팔 결제를 우회 할 수 있다는 것입니다.이 이름은 여전히 ​​데이터베이스에 입력되어 사용자에게 사이트를 지불하지 않고.

www.mysite.com/signup/ 페이지를 PayPal에서만 액세스 할 수있는 방법이 있습니까? 결제 완료 후 사용자를 가입 페이지로 안내하도록 PayPal 버튼을 설정했으며, 사용자가 해당 페이지에 액세스 할 수있는 유일한 방법이기를 바랍니다.

+0

과거에 지불 한 경우 안전한 부분에 액세스 할 수 있습니까? 아니면 한 번만 지불하면됩니다. 내일 다시오고 싶으면 다시 지불해야합니까? – andrewsi

+0

@andrewsi 로그인 할 때마다 안전한 부분에 액세스 할 수 있습니다. 돌아가서 원하는만큼 자주 방문하고 다시 지불 할 필요가 없습니다. – Vanessa

답변

3

일반적으로 사용자가 PayPal에서 반환되는 경우 PayPal이 게시 한 데이터를 평가할 수있는 사이트의 특정 페이지로 이동하게됩니다. 사용자가 성공적인 구매를했는지 확인하고, 그렇다면 세션 변수를 설정하고 사용자를 가입 페이지로 안내 할 수 있습니다. 유료 고객임을 나타내는 유효한 세션 변수가있는 경우에만 가입 양식을 제공하십시오.

사용자가 적절한 유효성을 확인하지 않고 페이지에 도착하면 다른 곳으로 리다이렉트하거나 오류 메시지를 표시합니다.

+0

기술적 인 세부 사항에 부족한 점이 있지만 OP의 상황과 질문과 관련하여 실제로 도움이되는 유일한 답변입니다. 가능한 경우 PayPal의 반환 변수에 대한 정보를 추가하는 것을 고려하십시오. –

+0

@sudowned 이는 사용중인 PayPal 통합 방법에 따라 달라질 수 있습니다. 그는 그 부분에 대해 물어 보지 않았기 때문에 그 기능이 이미 작동하고 있다고 생각했습니다. –

1

사용자가 지불 한 것으로 표시되는 $_SESSION 변수로 플래그를 전달한 다음 그렇지 않으면 차단하는 것이 가장 좋을 수 있습니다.

리퍼러를 계속 확인하려면 스크립트에 $_SERVER['HTTP_REFERER'] 변수를 확인하고 거기에서 가야합니다. 나는 이것이 얼마나 안전한지 완전히 확신하지 못한다.

0

페이팔이 귀하의 사이트에 접속하기 위해 IP 주소 집합만을 사용한다는 것을 알고 계시면, 웹 서버가 이들로부터의 액세스 만 허용하도록 쉽게 구성 할 수 있습니다. 어느 정도까지 IP가 스푸핑 될 수 있습니다. 정말 안전해야한다면 인증서를 사용해야합니다.

관련 문제