register_form.php 파일에서 referer_check() 질문 채택완료
register_form.php 코드를 보던 중 referer_check 함수가 선언되는 부분에서 궁금증이 생겼습니다.
</p>
<p>// 리퍼러 체크</p>
<p>referer_check();</p>
<p>
함수가 호출되서 무슨 함수인지 찾아보니
common.lib.php 파일에 함수가 있었지만 제대로 체크를 못해서 주석처리 되어있었습니다.
</p>
<p>// 리퍼러 체크</p>
<p>function referer_check($url='')</p>
<p>{</p>
<p> /*</p>
<p> // 제대로 체크를 하지 못하여 주석 처리함</p>
<p> global $g5;</p>
<p> </p>
<p> if (!$url)</p>
<p> $url = G5_URL;</p>
<p> </p>
<p> if (!preg_match("/^http['s']?:\/\/".$_SERVER['HTTP_HOST']."/", $_SERVER['HTTP_REFERER']))</p>
<p> alert("제대로 된 접근이 아닌것 같습니다.", $url);</p>
<p> */</p>
<p>}</p>
<p>
1. 리퍼러 체크 함수가 주석처리 되어있는데 원래 어떤 기능을 하는 함수인가요?
2. https://sir.kr/g4_tiptech/14154 → 여기서 말하는대로 변경을 해주어야하나요?
답변 3개
1. 리퍼러 체크 함수가 주석처리 되어있는데 원래 어떤 기능을 하는 함수인가요?
=> 로봇으로 회원가입 처리페이지에 바로 접속하는것을 막기 위한 코드인거 같습니다.
=> 로봇으로 가입된다면 호출하는 주소가 전 주소가 되므로 현재 사이트 주소와 다를것입니다.
=> 그래서 회원가입 처리전 페이지가 해당 주소에서 접근해야만 가능하도록 처리한거 같습니다.
2. https://sir.kr/g4_tiptech/14154" rel="nofollow noreferrer noopener" target="_blank">https://sir.kr/g4_tiptech/14154 → 여기서 말하는대로 변경을 해주어야하나요?
=> 주석처리한건 해당 의미로 만든 함수이지만 다른 예외적인 상황에서도
=> 회원가입이 되지 않아서 주석 처리한거 같습니다.
=> 해당 부분을 적용해도 그런 예외상황은 발생할거 같습니다.
답변에 대한 댓글 2개
댓글을 작성하려면 로그인이 필요합니다.
해당 부분을 적용했을 때 예외 상황이 발생된다면 코드를 변경하는 것이 아니라 그냥 주석 처리된 상태로 놔두어야 하나요?
=> 그누에서 패치하기 전까지는 그대로 사용하시는게 낫죠
답변에 대한 댓글 1개
저는 apache 서버로 공부만 하고 있어서 괜찮지만...
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인