현재 위치: > 최신 기사 목록> get_client_version은 strpos ()와 협력하여 특정 클라이언트를 필터링합니다

get_client_version은 strpos ()와 협력하여 특정 클라이언트를 필터링합니다

gitbox 2025-05-11

웹 사이트 나 응용 프로그램을 개발할 때는 사용자의 클라이언트 버전에 따라 다른 처리를 수행해야합니다. 예를 들어, 클라이언트 버전에 따라 특정 기능이나 인터페이스가 표시 될 수 있습니다. PHP는 이러한 요구 사항을 처리하기위한 풍부한 내장 기능을 제공하며, 그 중 get_client_versionstrpos () 는 매우 유용한 도구입니다.

이 기사에서는이 두 기능을 사용하여 특정 클라이언트 버전을 필터링하는 방법을 살펴 봅니다.

1. 클라이언트 버전을 얻습니다

먼저 클라이언트 버전을 얻는 방법을 알아야합니다. PHP에서는 다른 방법을 통해 클라이언트 정보를 얻을 수 있습니다. 예를 들어, 브라우저 버전을 얻는 일반적인 방법은 HTTP 요청 헤더의 사용자 에이전트 필드를 통한 것입니다. 이미 사용자 에이전트 에서 클라이언트의 버전 번호를 추출 할 수있는 get_client_version 함수가 있다고 가정합니다.

 function get_client_version($user_agent) {
    // 여기서 정규 표현 가정 User-Agent 버전 정보가 포함되어 있습니다,예를 들어:Chrome/90.0.4430.93
    preg_match('/(?:Chrome|Firefox|Safari)\/(\d+\.\d+)/', $user_agent, $matches);
    
    return isset($matches[1]) ? $matches[1] : null;
}

위의 코드에서는 일반 표현식을 사용하여 사용자 에이전트 문자열에서 버전 번호를 추출합니다. 예를 들어, 브라우저가 Chrome 인 경우 get_client_version 함수는 90.0 과 같은 버전 번호를 반환합니다.

2. strpos () 함수를 사용하여 특정 버전을 필터링하십시오

때로는 특정 버전 위나 아래의 클라이언트 버전 만 처리하려고합니다. 이 기능을 달성하기 위해 PHP의 내장 strpos () 함수를 사용하여 버전 문자열에 특정 하위 문자가 포함되어 있는지 확인할 수 있습니다. 예를 들어, 버전 90이있는 브라우저 만 통과하려면 strpos ()를 사용하여 버전 번호에 90이 포함되어 있는지 확인할 수 있습니다.

 function is_version_supported($user_agent) {
    $version = get_client_version($user_agent);

    // 버전 번호를 성공적으로 추출 할 수 있는지 확인하십시오
    if (!$version) {
        return false;
    }

    // 사용 strpos() 기능 확인 버전 번호
    if (strpos($version, '90') !== false) {
        return true;
    }

    return false;
}

이 코드에서는 strpos ()가 버전 번호에 특정 하위 문자가 포함되어 있는지 여부를 결정하는 데 사용됩니다. 이 예에서는 버전 번호에 90이 포함되어 있는지 확인하고 True 또는 False를 반환합니다.

3. 사용 시나리오의 예

이제 이러한 기능을 PHP와 같은 실제 시나리오에 적용 할 수 있으므로 클라이언트 버전을 기반으로 특정 특정 리소스 또는 페이지에 액세스 할 수 있는지 확인할 수 있습니다. 다음은 클라이언트 버전을 기반으로 액세스를 제어하는 ​​방법을 보여주는 간단한 예제 코드입니다.

 $user_agent = $_SERVER['HTTP_USER_AGENT'];

if (is_version_supported($user_agent)) {
    echo "클라이언트 버전은 요구 사항을 충족합니다,액세스 리소스。";
} else {
    echo "클라이언트 버전은 요구 사항을 충족하지 않습니다,브라우저를 업그레이드하십시오。";
}

이 예에서는 $ _server [ 'http_user_agent']를 사용하여 사용자의 사용자 에이전트 문자열을 가져 와서 클라이언트 버전을 확인하기 위해 이전에 정의 된 is_version_supported () 함수를 사용합니다. 버전이 요구 사항을 충족하면 리소스에 대한 액세스가 허용됩니다. 그렇지 않으면 사용자에게 브라우저를 업그레이드하도록 상기시킵니다.

4. 요약

client 버전을 필터링하기 위해 get_client_version ( ) 함수를 사용하는 것은 매우 실용적인 속임수입니다. 이러한 방식으로 개발자는 다른 클라이언트 버전에 따라 다르게 응답 할 수 있습니다. 예를 들어, 이전 버전의 브라우저에 대한 호환성 팁을 제공하거나 특정 버전 이상의 브라우저에서 특정 기능을 활성화해야 할 수도 있습니다. 이 방법은 유연 할뿐만 아니라 실제 요구에 따라 확장 및 조정할 수도 있습니다.

관련 링크