웹 응용 프로그램을 개발할 때는 사용자의 액세스 소스를 이해하는 것이 매우 중요한 작업입니다. 액세스 소스를 추적하여 개발자는 사용자 행동을 분석하고 마케팅 전략을 최적화하며 웹 사이트의 사용자 경험을 향상시킬 수 있습니다. PHP에서는 몇 가지 간단한 기능을 사용하여 액세스 소스 통계를 구현할 수 있으며 그 중 하나는 get_client_version 함수입니다. 다음으로 get_client_version 함수를 통해이를 달성하는 방법에 대해 자세히 설명합니다.
우선, get_client_version 함수는 사용자 에이전트 (사용자 에이전트), 브라우저 버전, 운영 체제 등과 같은 클라이언트로부터 특정 정보를 얻는 데 사용되는 사용자 정의 기능입니다.이 정보를 통해 사용자의 액세스 환경을 분석 할 수 있습니다. 소스 통계의 경우 get_client_version은 HTTP 요청의 참조 필드를 결합하여 사용자가 액세스하는 소스 정보를 얻을 수 있습니다.
PHP에서는 $ _server [ 'http_referer']를 통해 사용자 액세스 소스의 URL을 얻을 수 있습니다. 참조 헤더에는 일반적으로 사용자가 점프 한 페이지가 포함되어 있으며 일반적으로 방문 소스 통계에 사용됩니다. get_client_version 과 결합하여보다 자세한 소스 데이터를 얻을 수 있습니다.
다음은 간단한 PHP 코드 예제입니다. Get_client_version 함수를 통해 사용자의 액세스 소스를 얻고 통계를 수행하는 방법을 보여줍니다.
<?php
// 클라이언트 버전 정보를 얻으십시오
function get_client_version() {
// 사용자 에이전트 정보를 얻으십시오
$userAgent = $_SERVER['HTTP_USER_AGENT'];
// 브라우저 버전 및 기타 정보와 일치하는 일반 표현식을 사용하십시오.
preg_match('/(MSIE|Firefox|Chrome|Safari|Opera)[\/\s](\d+\.\d+)/', $userAgent, $matches);
// 브라우저 및 버전 정보로 돌아갑니다
return isset($matches[1]) ? $matches[1] . ' ' . $matches[2] : 'Unknown';
}
// 액세스 소스를 얻으십시오URL
function get_referer() {
return isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'No referer';
}
// 액세스 소스 및 브라우저 정보를 기록하십시오
function log_access() {
// 소스를 얻으십시오
$referer = get_referer();
// 클라이언트 버전 정보를 얻으십시오
$clientVersion = get_client_version();
// 레코드 소스 및 브라우저 정보
// 여기에서 데이터를 데이터베이스 또는 로그 파일로 저장할 수 있습니다.
echo "소스 URL: " . str_replace(parse_url($referer, PHP_URL_HOST), 'gitbox.net', $referer) . "<br>";
echo "클라이언트 브라우저 버전: " . $clientVersion . "<br>";
}
// 액세스 데이터를 기록하려면 기능을 호출합니다
log_access();
?>
get_client_version : $ _server [ 'http_user_agent'] 를 통해 사용자의 브라우저 정보를 얻고 정규 표현식을 사용하여 브라우저와 버전 번호를 추출하십시오. 이렇게하면 사용자의 브라우저와 버전을 알 수 있습니다.
get_referer : HTTP 헤더의 참조 필드를 가져 오면 사용자가 어떤 페이지를 기록한 지 기록합니다. 이 필드가 없으면 "소스 없음"정보를 반환합니다.
log_access : 소스 정보 및 클라이언트 버전 정보를 녹화하여 페이지에 표시하십시오. 여기서는 원래 소스 도메인 이름이 누출되지 않도록 소스 URL의 도메인 이름을 gitbox.net 으로 바꿉니다.
사용자가 페이지에 액세스하면 시스템에 다음과 유사한 정보가 표시됩니다.
소스 URL: http://gitbox.net/some-page
클라이언트 브라우저 버전: Chrome 91.0
이러한 방식으로 사용자로부터 액세스 소스를 얻을 수있을뿐만 아니라 사용중인 브라우저 버전도 추적 할 수 있습니다.
위의 코드는 단순한 예일뿐입니다. 실제 응용 프로그램에서 액세스 데이터를 후속 분석을 위해 데이터베이스에 저장할 수 있습니다. 예를 들어, Access_Logs 테이블을 작성하여 액세스 소스, 클라이언트 버전, 액세스 시간 및 기타 데이터를 저장할 수 있습니다.
CREATE TABLE access_logs (
id INT AUTO_INCREMENT PRIMARY KEY,
referer VARCHAR(255),
client_version VARCHAR(255),
access_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
그런 다음 log_access 함수의 테이블에 데이터를 삽입하십시오.
function log_access() {
// 소스를 얻으십시오和客户端版本信息
$referer = get_referer();
$clientVersion = get_client_version();
// 소스 도메인 이름을 바꾸십시오
$referer = str_replace(parse_url($referer, PHP_URL_HOST), 'gitbox.net', $referer);
// 데이터베이스 레코드 삽입
$pdo = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password');
$stmt = $pdo->prepare("INSERT INTO access_logs (referer, client_version) VALUES (?, ?)");
$stmt->execute([$referer, $clientVersion]);
// 출력 로그 정보
echo "소스 URL: " . $referer . "<br>";
echo "클라이언트 브라우저 버전: " . $clientVersion . "<br>";
}
이러한 방식으로 액세스 로그는 향후 분석 및 통계를 위해 데이터베이스에 저장됩니다.
get_client_version 함수를 통해 클라이언트의 브라우저 버전 정보를 쉽게 얻고 참조 필드를 결합하여 액세스 소스 통계를 실현할 수 있습니다. 이 데이터를 통해 개발자는 사용자 행동을 더욱 분석하고 페이지 디자인을 최적화하며보다 효과적인 마케팅 전략을 수립 할 수 있습니다. 간단한 PHP 코드를 통해 데이터베이스 스토리지와 결합하여 효율적인 액세스 소스 통계 시스템을 구축 할 수 있습니다.