_SERVER["HTTP_HOST"] 에 관한 질문입니다.
본문
안녕하세요.
저는 카페24 웹호스팅을 사용하고 있는데요..
제가 정식도메인 domain.co.kr 과 2차도메인 domain.cafe24.com 을 사용한다고 가정했을 때,
test.php 라는 파일에서 아래와 같은 프로그램을 실행시키면
if ($_SERVER["HTTP_HOST"] != "domain.cafe24.com" || $_SERVER["HTTP_HOST"] != "domain.co.kr" || $_SERVER["HTTP_HOST"] != "www.domain.co.kr") {
echo "HTTP_HOST는 ". $_SERVER["HTTP_HOST"] ." 가 아닙니다!";
exit;
}
결과 값에서..
HTTP_HOST는 domain.cafe24.com 가 아닙니다!
..
HTTP_HOST는 domain.co.kr 가 아닙니다!
..
HTTP_HOST는 www.domain.co.kr 가 아닙니다!
이런 값이 출력되지 않는 것이 정상이잖아요.
그런데, 제 계정에서는 자꾸 if() 조건문이 실행이 됩니다.
phpinfo() 을 날려봤을 때, $_SERVER["HTTP_HOST"] 값은 틀림이 없는 것 같은데요.
왜 이런 것일까요?
고수님들의 조언 좀 부탁드려요.
감사합니다.
!-->!-->답변 3
OR ( || )가 아니라 AND ( && )를 사용해 보세요.
if문 위쪽에다
echo $_SERVER[
"HTTP_HOST"
]; 해보면 알 수 있겠네요
<?php
header("Content-Type: text/html; charset=utf-8");
if ($_SERVER["HTTP_HOST"] != "domain.co.kr"){
echo "HTTP_HOST는 ".$_SERVER["HTTP_HOST"]." 가 아닙니다!";
exit;
}
echo "인증이 되었습니다!";
?>
모든 ||
연산자를 지우고, test.php를 위와 같이 수정을 한 다음,
http://domain.co.kr/test.php 를 호출시켜도 (www.domain.co.kr 로 호출하지는 않았어요^^)
if() 문이 실행되고, "인증이 되었습니다!" 라는 문구가 보이지 않습니다.
계속 "HTTP_HOST는 domain.co.kr 가 아닙니다!" 라는 결과값이 출력되요.
!-->
답변을 작성하시기 전에 로그인 해주세요.