채택완료

상담신청 완료페이지 다이렉트 접근 안되게 하는 방법 있나요?

2019-12-15 (일) 01:37:53 2,821

상담신청 완료페이지 만든 후 데이터분석도구에서 신청완료페이지 접근수와 신청수가 상이해서 상담신청 했을때를 제외한 상담신청 페이지의 url을 통한 접근을 막고싶은데 방법이 있나요???

아니면 신청완료 페이지를 서비스단에서 접근못하게 할수 있는 방법이 있나요?

구글링하다 찾았는데 이 방법으로 가능한가요?

if ( !eregi($_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER']) ){

    $this->redirect("index.php");

    exit;

}

$_SERVER['HTTP_HOST'] : 현재 도메인 주소

$_SERVER['HTTP_REFERER'] : 이전 url 주소

|

답변 1개 / 댓글 2개

채택된 답변
+20 포인트

소스에 적용해서 한번 테스트 해보세요.

세부적인 URL을 조정해야 할 수도 있습니다.

일단 개념은 맞습니다.

REFERER 가 내부의 지정한 주소인가를 판단하면 됩니다.

답변에 대한 댓글 2개

추가적으로 parse_url( $REFERER ) 해서 host와 path 가 맞는지 확인하시면 될거에요.
-- parse_url 예제 --
$ php -r 'print_r(parse_url("http://username:password@hostname/path?arg=value#anchor"));'
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)

$ php -r 'print_r(parse_url("http://invalid_host..name/"));'
Array
(
[scheme] => http
[host] => invalid_host..name
[path] => /
)
답변 감사합니다. 알려주신 대로 해서 접근 안되는건 확인 했어요.

답변을 작성하려면 로그인이 필요합니다.