질문/조언질답게시판
Extra Form
PHP PHP 7.3
CMS Rhymix

IE를 막는 소스코드는 널리 퍼져있어서 구하기 쉬운데 

오래된 버전의 크롬, 사파리, 오페라 등의 브라우저를 걸러내는 PHP 스크립트는 찾을수가 없네요 ㅠㅠ

 

일정버전 이하에서는 화면 표시가 이상하게 되어서 아예 차단하려고 하는데 

혹시 특정 버전 이하의 크롬, 사파리를 if 문으로 걸러내는 PHP 소스코드가 있을까요..?

ex) Chrome 60 버전 이하 차단

 

자바스크립트 코드는 있길래 자바스크립트 코드를 사용하려고 했는데 (https://stackoverflow.com/a/49689479)

RXE의 cond를 사용하려면 PHP 변수가 필요한것 같아서 못쓰고 있습니다...ㅠㅠ

 

[3줄요약]

1. cond에 자바스크립트 변수를 사용할 수 있나요?

2. 안된다면 PHP용 오래된 브라우저 탐지하는 코드가 있을까요?

3. 감사합니다 ㅠㅠ

  • profile
    오래된 브라우저를 막는것은 UX에 좋지않습니다. 스크립트상 호환 문제라면 polyfill을 사용하시거나, polyfill이 없는경우 modernizr와같은 라이브러리를 통해 자바스크립트로 막는 형태로 처리하는걸 최우선으로 진행하세요.
  • profile
    function checkOldUA()
    {
        $browser = get_browser();
        if(
            ($browser->browser == 'Chrome' && $browser->version < 70) ||
            ($browser->browser == 'Firefox' && $browser->version < 53) ||
            ($browser->browser == 'Safari' && $browser->version < 5) ||
            ($browser->browser == 'IE' && $browser->version < 11) ||
            ($browser->browser == 'Opera' && $browser->version < 52)
        )
        {
            return true;
        }
    
        return false;
    }

     

    사용하실때는 checkOldUA() 가 true 면 낡은건데....

     

    그렇긴 한데....
    윗 분 말씀대로, 권장드리고 싶지는 않네요.


    1. 차단할 필요가 있을까? 그냥 경고창만 출력해 주는 정도면 충분하지 않을까? 너무 과한 대응이 아닐까?
    2. 신형 브라우저를 강제할 수 있는 상황인가? 구형 브라우저를 써야만 하는 유저가 있을수도 있는데.
    3. 화면이 깨지는 것이 사이트 운영에 큰 악영향을 끼치나? 차단하기 전에 근본적인 원인을 해결할 방법은 없을까?

     

    이 세가지 포인트(?) 를 한번 생각해보실 필요가 있을듯 합니다.