_SERVER["HTTP_HOST"] 에 관한 질문입니다.

_SERVER["HTTP_HOST"] 에 관한 질문입니다.

QA

_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 가 아닙니다!" 라는 결과값이 출력되요.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,505 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT