테스트 사이트 - 개발 중인 베타 버전입니다

아래 질문에 올라온 구문인데... 채택완료

sinbi 6년 전 조회 2,151

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

header('Location: https://www.google.co.kr/search?q=%27." rel="nofollow noreferrer noopener" target="_blank">https://www.google.co.kr/search?q='.$_GET['q'].'&btnI');
?>

 

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

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

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

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

답변 3개

채택된 답변
+20 포인트
유찬아빠

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

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sinbi
6년 전
역시, 보내는 이유는 질문자만 알겠죠? ^^;

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

<?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도 쉬게 하면서 구글녀석을 노동을 시켜먹는

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

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sinbi
6년 전
아하, 그런 목적이군요.
자세한 설명 해주셔서 감사합니다.
덕분에 수명이 1년 더 늘어난 기분이네요. ㅎㅎ

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

6년 전

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

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

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

예를 들어

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

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

 

어떤 경우든

header('Location: https://www.google.co.kr/search?q=%27." rel="nofollow noreferrer noopener" target="_blank">https://www.google.co.kr/search?q='.$_GET['q'].'&btnI'); 이것은 실행되게 됩니다.

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sinbi
6년 전
자세한 코드 설명 감사합니다.

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

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

로그인