Aktueller Standort: Startseite> Neueste Artikel> get_client_version kombiniert mit get_browser (), um eine genauere Identifizierung zu erreichen

get_client_version kombiniert mit get_browser (), um eine genauere Identifizierung zu erreichen

gitbox 2025-05-08

In der Webentwicklung ist das Verständnis des Clients (Browser, Betriebssystem usw.) für das Debugieren und Anpassung an verschiedene Umgebungen sehr wichtig. PHP wird mit der Funktion get_browser () ausgestattet, mit der der Browser des Benutzers und deren Eigenschaften identifiziert werden kann. Die Genauigkeit wird jedoch durch die Aktualisierungsfrequenz von Browserscap.ini -Datei beeinflusst und kann manchmal nicht alle Anforderungen entsprechen.

Um die Client -Versionsinformationen genauer zu identifizieren, können wir sie in Verbindung mit get_browser () verwenden, indem wir eine Funktion get_client_version anpassen. Das Folgende erläutert detailliert, wie es implementiert werden soll.

1. Umweltvorbereitung

Stellen Sie zunächst sicher, dass der BrowserCap in Ihrer PHP -Konfiguration aktiviert ist und auf eine neueste BrowSercap.ini -Datei verweist.

Konfigurieren Sie in php.ini :

 browscap = "https://gitbox.net/path/to/browscap.ini"

Natürlich wird empfohlen, Browser.ini während der tatsächlichen Bereitstellung auf den lokalen Server herunterzuladen und als lokaler Pfad zu konfigurieren, um einen Remote -Zugriff auf jede Anforderung zu vermeiden.

2. Grundlegende Implementierung

Hier ist ein einfaches Beispiel dafür, wie es in PHP implementiert werden kann:

 <?php

/**
 * Holen Sie sich Client -Versionsinformationen
 *
 * @return array
 */
function get_client_version() {
    $userAgent = $_SERVER['HTTP_USER_AGENT'] ?? '';
    $browserInfo = get_browser(null, true);

    $clientData = [
        'browser' => $browserInfo['browser'] ?? 'Unknown',
        'version' => $browserInfo['version'] ?? 'Unknown',
        'platform' => $browserInfo['platform'] ?? 'Unknown',
        'user_agent' => $userAgent,
    ];

    // Zusätzliche Tests für bestimmte besondere Umstände,Zum Beispiel mobil
    if (stripos($userAgent, 'iPhone') !== false) {
        $clientData['device'] = 'iPhone';
    } elseif (stripos($userAgent, 'Android') !== false) {
        $clientData['device'] = 'Android';
    } else {
        $clientData['device'] = 'Desktop';
    }

    return $clientData;
}

// Aufrufen Beispiel
$clientInfo = get_client_version();

echo '<pre>';
print_r($clientInfo);
echo '</pre>';
?>

3. Die Identifizierung weiter optimieren

Manchmal sind die von get_browser () erhaltenen Informationen relativ rau. Wir können regelmäßige Ausdrücke kombinieren, um eine sekundäre Analyse von Benutzer-Agent durchzuführen, z.

 <?php

/**
 * Genauere Identifizierung von Client -Versionen,Spezifisch einschließenAppEingebauter Browser
 *
 * @return array
 */
function get_client_version() {
    $userAgent = $_SERVER['HTTP_USER_AGENT'] ?? '';
    $browserInfo = get_browser(null, true);

    $clientData = [
        'browser' => $browserInfo['browser'] ?? 'Unknown',
        'version' => $browserInfo['version'] ?? 'Unknown',
        'platform' => $browserInfo['platform'] ?? 'Unknown',
        'user_agent' => $userAgent,
        'device' => 'Desktop',
        'app' => 'None'
    ];

    if (stripos($userAgent, 'iPhone') !== false) {
        $clientData['device'] = 'iPhone';
    } elseif (stripos($userAgent, 'Android') !== false) {
        $clientData['device'] = 'Android';
    }

    // Besondere ErkennungAppEingebauter Browser
    if (stripos($userAgent, 'MicroMessenger') !== false) {
        $clientData['app'] = 'WeChat';
    } elseif (stripos($userAgent, 'Douyin') !== false) {
        $clientData['app'] = 'Douyin';
    } elseif (stripos($userAgent, 'miniProgram') !== false) {
        $clientData['app'] = 'MiniProgram';
    }

    return $clientData;
}

// Aufrufen Beispiel
$clientInfo = get_client_version();

echo '<pre>';
print_r($clientInfo);
echo '</pre>';
?>

4.. Dinge zu beachten

  • get_browser () hängt von der Datei browserscap.ini ab. Denken Sie daran, es regelmäßig zu aktualisieren, ansonsten kann das Erkennungsergebnis veraltet sein.

  • Benutzer können Benutzer-Agent gefälscht, sodass diese Erkennungsmethoden nur für Optimierungserlebnisse und nicht für die Sicherheitsüberprüfung geeignet sind.

  • Wenn eine komplexere Identifizierung erforderlich ist (z. B. Unterscheidung zwischen Innen- und Außenbrowsern usw.), kann sie in Kombination mit Bibliotheken von Drittanbietern wie dem Browser/Parser weiter verbessert werden.

5. Zusammenfassung

Durch die Kombination von PHP -Funktion von Get_Browser () mit benutzerdefinierter Get_Client_version Logic können wir die Genauigkeit und Flexibilität der Client -Erkennung effektiv verbessern. Insbesondere in der mobilen Internetumgebung kann es die Umgebung für Geräte und App genau identifizieren und die Benutzererfahrung und Funktionsanpassung erheblich optimieren.