쿠키 도메인을 이용한 폐쇄몰을 만들어 봤습니다. 정보
쿠키 도메인을 이용한 폐쇄몰을 만들어 봤습니다.본문
회사폐쇄몰을 만들면서 적용시킨 "쿠키값을 이용한 폐쇄몰"을 만들어 봤습니다.
회사 인트라넷은 외부에서 접속이 불가능하기 때문에 쇼핑몰을 운영하는 것 자체가 폐쇄몰일 수 있겠지만 인트라넷이 없이 외부 접속이 가능한 쇼핑몰에서 적용시켜봤습니다.
접속한 도메인을 쿠키아이디값으로 바꾸고 입력된 쿠키값을 대입해 쿠키값이 틀리면 밖으로 튕기게, 값이 맞으면 페이지가 보여지게 만륻어봤습니다.
<?
include_once("./_common.php");
// 특정 도메인 기록
$ban_referer = array();
$ban_referer[] = 'sir.co.kr';
$ban_referer[] = '접속 허용할 도메인2';
for ($i=0, $m=sizeof($ban_referer); $i<$m; $i++) {
if (strstr($_SERVER[HTTP_REFERER], $ban_referer[$i])) { $id = open; }else{ $id = close; } // 쿠키값 ID로 변경
if ($is_admin) { $id = open; } // 관리자는 통과
}
// 특정아이피 쿠키아이디로 기록
set_cookie('close_id', $id, 86400);
if($id=="open") {
header ("Location:이동할 페이지"); // 접속 허용시 이동할 페이지
} else {
header ("Location:튕겨낼 페이지"); // 접속 비허용시 튕겨낼 페이지
}
?>
대략 페이지 하나 만드신 후 위 소스를 넣어주세요. ex) sir.php
if(get_cookie("close_id")!=="open"){ header ("Location:튕겨낼 페이지"); } // 도메인 쿠키아이디 기록
접속 허용할 페이지에 위 소스를 넣어주세요.
접속 주소를 직접 쳐서 들어와도 쿠키값이 없으면 안드로메다로 튕겨버립니다.
http://도메인/sir.php 로 링크를 걸어 접속하게 하면 됩니다.
즉, 지정한 사이트(도메인)에서만 접속했을 때에만 특정 페이지가 열리고 타 도메인이나 강제 접속했을 경우 바로 튕겨내버립니다.
쇼핑몰 특정 분류에 적용시키면 그 분류는 지정한 사이트에서만 열리고 지정한 사이트가 아니라면 볼 수 없게됩니다.
어떻게 이용하느냐에 따라 폐쇄몰을 만들 수 있겠죠~
흠... 므흣한 사이트 운영해 볼까??? -_-;;;;;
수정) 소스 수정해야 겠네요...
if ($is_admin) { $id = open; }else{ $id = close; } // 관리자는 통과
을
if ($is_admin) { $id = open; } // 관리자는 통과
이렇게....
관리자 아니면 못들어가네요... ㅜㅜ
회사 인트라넷은 외부에서 접속이 불가능하기 때문에 쇼핑몰을 운영하는 것 자체가 폐쇄몰일 수 있겠지만 인트라넷이 없이 외부 접속이 가능한 쇼핑몰에서 적용시켜봤습니다.
접속한 도메인을 쿠키아이디값으로 바꾸고 입력된 쿠키값을 대입해 쿠키값이 틀리면 밖으로 튕기게, 값이 맞으면 페이지가 보여지게 만륻어봤습니다.
<?
include_once("./_common.php");
// 특정 도메인 기록
$ban_referer = array();
$ban_referer[] = 'sir.co.kr';
$ban_referer[] = '접속 허용할 도메인2';
for ($i=0, $m=sizeof($ban_referer); $i<$m; $i++) {
if (strstr($_SERVER[HTTP_REFERER], $ban_referer[$i])) { $id = open; }else{ $id = close; } // 쿠키값 ID로 변경
if ($is_admin) { $id = open; } // 관리자는 통과
}
// 특정아이피 쿠키아이디로 기록
set_cookie('close_id', $id, 86400);
if($id=="open") {
header ("Location:이동할 페이지"); // 접속 허용시 이동할 페이지
} else {
header ("Location:튕겨낼 페이지"); // 접속 비허용시 튕겨낼 페이지
}
?>
대략 페이지 하나 만드신 후 위 소스를 넣어주세요. ex) sir.php
if(get_cookie("close_id")!=="open"){ header ("Location:튕겨낼 페이지"); } // 도메인 쿠키아이디 기록
접속 허용할 페이지에 위 소스를 넣어주세요.
접속 주소를 직접 쳐서 들어와도 쿠키값이 없으면 안드로메다로 튕겨버립니다.
http://도메인/sir.php 로 링크를 걸어 접속하게 하면 됩니다.
즉, 지정한 사이트(도메인)에서만 접속했을 때에만 특정 페이지가 열리고 타 도메인이나 강제 접속했을 경우 바로 튕겨내버립니다.
쇼핑몰 특정 분류에 적용시키면 그 분류는 지정한 사이트에서만 열리고 지정한 사이트가 아니라면 볼 수 없게됩니다.
어떻게 이용하느냐에 따라 폐쇄몰을 만들 수 있겠죠~
흠... 므흣한 사이트 운영해 볼까??? -_-;;;;;
수정) 소스 수정해야 겠네요...
if ($is_admin) { $id = open; }else{ $id = close; } // 관리자는 통과
을
if ($is_admin) { $id = open; } // 관리자는 통과
이렇게....
관리자 아니면 못들어가네요... ㅜㅜ
추천
4
4
댓글 6개
쿠키값 적용해서 소켓접속하면 접속이 되겠군요
소스 감사합니다.
적용해 볼게요~~~
적용해 볼게요~~~
쿠키를 저장은 하지만 사용하지 않고 if($id=="open") 조건으로만 처리하고 있는 걸로 보여요.
referer 조작으로 접속해 버릴 수 있을 것 같은 생각이..
referer 조작으로 접속해 버릴 수 있을 것 같은 생각이..
쿠키를 사용하지 않는 것이 아니라 $id에 대입되는 기록이 'close_id'에 저장이 됩니다.
허용되는 도메인이면 open으로 그렇지 않으면 close로 저장이 됩니다.
$id 는 $ban_referer[] 값을 읽어들이므로 http://domain.com/sir.php?id=open 으로 접속한다 해도 $ban_referer[] 값이 다르다면 접속을 허용하지 않게됩니다.
허용되는 도메인이면 open으로 그렇지 않으면 close로 저장이 됩니다.
$id 는 $ban_referer[] 값을 읽어들이므로 http://domain.com/sir.php?id=open 으로 접속한다 해도 $ban_referer[] 값이 다르다면 접속을 허용하지 않게됩니다.
이거 왜 신고됫죠??
헉!! 오랜만에 와서 팁 하나 올렸는데 신고라니...
이제 오지 말란건가... -_-;;;
소스에 문제가 하나 있어 수정했습니다.
if ($is_admin) { $id = open; } // 관리자는 통과
이렇게 수정하세요
이제 오지 말란건가... -_-;;;
소스에 문제가 하나 있어 수정했습니다.
if ($is_admin) { $id = open; } // 관리자는 통과
이렇게 수정하세요