티스토리 뷰

반응형

사용환경은 cloudflare + 윈도우10 + autoset(apache + mysql) . 공유기 사용.
외부ip와  내부ip가 일단 주소가 안맞는데 너무 복잡하게 생각하고 이것저것 검색하고 시간을 많이 소비했는데
간단히 curl ssl 설정으로 수정되었습니다. 

 

curl 에러가 발생하게 되면서 벌어지는 현상에는
1. 웹 수집하는 부분에서 문제가 생기죠(피드수집 같은거)
2. 구글 리캡챠에서도 문제가 생깁니다.

리캡챠는 비회원 글쓰기, 회원가입, 비회원 댓글 등에서 사용되어지는데요. 
curl응답이 아무것도 없기 때문에 curl 자체에서는 오류로 보여지지 않습니다. php 에러 출력으로도 나오지 않죠


php 에러출력은
error_reporting(E_ALL);

ini_set("display_errors", 1);

으로 아무리 해도 알수없습니다.

여기저기 찾아보고 해결한 결과는 


해당 curl이 들어있는 곳에 가서 코드를 잘 보면은 

curl_setopt ($curlsession, CURLOPT_SSL_VERIFYPEER, 1); 를
curl_setopt ($curlsession, CURLOPT_SSL_VERIFYPEER, 0); 로 바꿔주면 됩니다.

리캡챠는 plugin/recaptchav2/recaptcha.class.php 에 있을겁니다. 
 invisible도 class는 v2 폴더의 클래스를 가져오니 하나만 수정하심 됩니다.

 

function get_content($url, $data=array()) {

    $curlsession = curl_init();
    curl_setopt ($curlsession, CURLOPT_URL, $url);
    curl_setopt ($curlsession, CURLOPT_POST, 1);
    curl_setopt ($curlsession, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
    curl_setopt ($curlsession, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
    curl_setopt ($curlsession, CURLINFO_HEADER_OUT, false);
    curl_setopt ($curlsession, CURLOPT_HEADER, false);
    curl_setopt ($curlsession, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($curlsession, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt ($curlsession, CURLOPT_TIMEOUT, 3);

    $response = curl_exec($curlsession);
    $cinfo = curl_getinfo($curlsession);
    if ($cinfo['http_code'] != 200){
        
        return '';
    }
    return $response;        
}

 

저도 안된다고 첨에는 register_form_update.php  에서 캡챠 검사하는 부분을 주석처리했는데 이리저리 알아보고 해결방법을 찾은거래서 글을 써둡니다.

 

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함