아래 질문에 올라온 구문인데...

아래 질문에 올라온 구문인데...

QA

아래 질문에 올라온 구문인데...

본문

<?php
if(!$_GET['q']) return header('Location: https://sir.kr');

header('Location: https://www.google.co.kr/search?q='.$_GET['q'].'&btnI');
?>

 

이 코드는 어떤 의미인가요?

대충 감은 오는데, 정확한 의미가 궁금합니다.

왜 구글 검색 헤더로 보내는지 이해가 잘....

이 질문에 댓글 쓰기 :

답변 3

get 으로 q 가 없으면 sir.kr 로 보내고

그렇지 않으면 구글로 검색해라 라는 구문입니다.

왜 구글검색으로 보내는 지는 작성자만 알것 같습니다.

개인적으로 봤을 때 그렇게 바람직한 코드는 아닌걸로 보입니다.

$_GET['q'] 값이 있을 때와 없을 때로 구분할려면

if ~ else ~ 문을 사용했어야 했는데

예를 들어

$_GET['q'] 이것 자체가 없을 때 , 즉 키 q가 없을 때

다시 말하면 unset($_GET['q']) 했을 때도 마찮가지겠지만

 

어떤 경우든

header('Location: https://www.google.co.kr/search?q='.$_GET['q'].'&btnI'); 이것은 실행되게 됩니다.

$_GET['q']이 선언되어 있지 않은 상태니

이렇게 되면 의도한 대로 구현이 안될겁니다.

<?php
if(!$_GET['q']) return header('Location: https://sir.kr');

header('Location: https://www.google.co.kr/search?q='.$_GET['q'].'&btnI');
?>

이 구문은

get으로 넘어오는 q 가 없다면 https://sir.kr로 갑니다.

값이 있다면 if(!$_GET['q']) return header('Location: https://sir.kr'); 이구문은 건너뛰게되고

그다음줄의 header('Location: https://www.google.co.kr/search?q='.$_GET['q'].'&btnI'); 값을 뿌려주겠죠

 

sir.kr에서 확인보시면 알겠지만, 검색을 해보면 상단과 하단부분은 sir고

중간부분만 구글의 검색부분이 나오지요.

이러한 구문을 사용하는 이유는 내서버는 쉬게하고 구글봇이 긁어같던

내글에 대한 내용들을 불러오는 역할을 해줍니다.

내서버는 쉬고 db도 쉬게 하면서 구글녀석을 노동을 시켜먹는

아주 대표적인 착취형 검색형태입니다.

이러한 검색을 통해 내서버는 안정적이되고 막강한 구글서버를 통해 빠르고 

정확한 데이터를 끌어 올 수가 있는 것이죠.

답변을 작성하시기 전에 로그인 해주세요.
전체 160
QA 내용 검색
filter #php ×

회원로그인

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