http링크를 https링크로 바꾸기

웹사이트를 http에서 https로 바꿀 때 부딪치게 되는 어려움 중 하나가 혼합 콘텐츠 (mixed content) 오류입니다. https로 전환된 웹사이트에 http링크가 남아 있으면 보안 취약점으로 간주되어 크롬 등 보안정책이 엄격한 브라우저에서는 http링크를 가진 리소스를 읽어올 수 없게 되어 http링크의 그림 파일등이 보이지 않는 등의 문제가 나타납니다.

만약 문제가 되는 http링크의 https버전이 제대로 동작하기만 한다면 자동으로 https링크로 전환되므로 아무 문제가 없지만, 리소스를 제공하는 사이트에서 https를 지원하지 않거나 SSL 인증서에 문제가 있거나 하는 등의 경우, 그 사이트가 문제를 해결할 때까지 기다리는 것 외에는 쉬운 해결책이 없는 경우가 많이 발생합니다.

저희 서비스는 이러한 난처한 상황이 발생했을 때, 해당 사이트에서 문제를 해결하기 전까지 임시로 http링크를 https링크로 변환하여 사용할 수 있는 쉬운 방법을 제공합니다. 아래에 문제가 되는 http링크를 입력하면 동일한 리소스의 https링크로 변환해 드립니다.

변환된 https링크의 URL:

PHP:

// $html 에 있는 HTML 코드 안의 http링크를 찾아내어 모두 https링크로 변환합니다.
$html = preg_replace_callback(
    '|"(http://[^"]*)"|',
    function ($matches) {
        $httpUrl = $matches[1];
        $newUrl = 'https://tohttps.hanmesoft.com/forward.php?url=' . urlencode($httpUrl);
        return "\"$newUrl\"";
    },
    $html
);

코스모스팜 소셜댓글