Lorenz: Abfrage auf verwendeten browser

Moin,

wie kann ich über PHP o.ä. abfragen, welcher Browser verwendet wird?

  1. Moin Lorenz,

    Moin,

    wie kann ich über PHP o.ä. abfragen, welcher Browser verwendet wird?

    Teilweise. Es gibt da den User-Agent als HTTP-Header.

    Wird wohl auch von der get_browser() herangezogen.

    Mit JavaScript im Browser hast noch ein paar mehr Möglichkeiten.

    Gruß,

    --
    a.k.a. André
    1. @@Ryuno-Ki

      Es gibt da […] Mit JavaScript im Browser hast noch ein paar mehr Möglichkeiten.

      Hier fehlte der Hinweis, dass man so gut wie nie den Browser abfragen möchte.

      Man möchte die Fähigkeiten des verwendeten Browsers abfragen. Das geht in CSS mit @supports(), in JavaScript mit CSS.supports().

      🖖 Live long and prosper

      --
      “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
      — Bruce Springsteen, Manchester 2025-05-14
      1. Moin Gunnar,

        @@Ryuno-Ki

        Es gibt da […] Mit JavaScript im Browser hast noch ein paar mehr Möglichkeiten.

        Hier fehlte der Hinweis, dass man so gut wie nie den Browser abfragen möchte.

        Och, du. Wenn es darum geht, diesen Atlas (oder von mir aus auch Comet) loszuwerden, der sich als Chrome ausgibt, dann will ich schon wissen, welcher Browser da vorstellig wird.

        Gruß,

        --
        a.k.a. André
    2. +-*/

      Ich wäre mit -1 zurückhaltender. Die Antwort ist im eigentlichen Sinn nicht falsch, sondern nur „nicht ideal“ . Meine Empfehlung wäre bei zielführenden Antworten großzügiger zu „plussen“.

      Antwort:

      (1)

      Was der Client über sich behauptet hat erfährst man in PHP aus der Variable

      $_SERVER['HTTP_USER_AGENT']

      (2)

      Was der Client wiederum über sich behaupten soll bestimmt der Nutzer, so kennt z.B. das Programm wget eine solche Option

      wget --user-agent="Ganz harmloser Browser" https://deinAngreifbarerServer

      auch das ähnliche Programm curl kennt diese:

      curl --user-agent "Ganz harmloser Browser" https://deinAngreifbarerServer

      Ebenso kann man den User-Agent in php-cURL setzen.

      Auch im Firefox ist der User-Agent frei fälschbar. So geht es mit aktuellen Versionen (hab es eben noch mal gestestet):

      Es ist also kaum sinnvoll, den Inhalt von $_SERVER['HTTP_USER_AGENT'] auszuwerten, auch wenn das Deine Frage beantwortet. Denn Hacker, Angreifer, Mobber werden ihre Werkzeuge (oft wget oder curl) tarnen.

      Die richtige Rückfrage hat Rolf gestellt: Was willst Du erreichen?

      (3)

      Ja. Es ist richtig, einige Bots weisen sich korrekt aus, sind so erkennbar. Wenn es Dein Ziel ist, diese „mit anderen Antworten zu bedienen als normale Browser“ kann das funktionieren - oder eben nicht.

      1. @@Raketenwilli

        Ich wäre mit -1 zurückhaltender. Die Antwort ist im eigentlichen Sinn nicht falsch, sondern nur „nicht ideal“ .

        Man kann haargenau auf die Frage antworten und damit meilenweit daneben liegen, was der/die Fragende eigentlich wissen will. Nur hilft das nicht – im besten Fall. In vielen Fällen ist das schädlich, weil es auf die falsche Fährte führt, ohne dass der/die Fragende sich dessen bewusst wird. Solche Antworten verdienen ein sichtbares Zeichen, dass sie – wenn überhaupt – nur mit äußerster Vorsicht zu genießen sind; also ein Minus.

        Meine Empfehlung wäre bei zielführenden Antworten großzügiger zu „plussen“.

        Insbesondere bei Antworten, die um die Ecke denken und dem eigentlichen Problem auf den Grund gehen.

        Und wenn das eigentliche Problem nicht erkennbar ist: nachfragen. Ich wollte vorhin gerade dazu ansetzen, da hatte es @Rolf B schon getan.

        🖖 Live long and prosper

        --
        “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
        — Bruce Springsteen, Manchester 2025-05-14
        1. Moin Gunnar,

          @@Raketenwilli

          Ich wäre mit -1 zurückhaltender. Die Antwort ist im eigentlichen Sinn nicht falsch, sondern nur „nicht ideal“ .

          Man kann haargenau auf die Frage antworten und damit meilenweit daneben liegen, was der/die Fragende eigentlich wissen will. Nur hilft das nicht – im besten Fall. In vielen Fällen ist das schädlich, weil es auf die falsche Fährte führt, ohne dass der/die Fragende sich dessen bewusst wird. Solche Antworten verdienen ein sichtbares Zeichen, dass sie – wenn überhaupt – nur mit äußerster Vorsicht zu genießen sind; also ein Minus.

          Das ist wieder so typisch deutsch 🤓

          Mir ist es da lieber, eine Frage zu beantworten. Wenn es nicht zielführend ist, wird schon eine Nachfrage kommen.

          Es geht natürlich auch alles bis in's Kleinklein zerreden und dann wundern, warum so wenig Menschen hier aufkreuzen.

          Meine Empfehlung wäre bei zielführenden Antworten großzügiger zu „plussen“.

          Insbesondere bei Antworten, die um die Ecke denken und dem eigentlichen Problem auf den Grund gehen.

          Jein. Wenn es gewünscht ist, gerne. Ansonsten wirkt es auch gerne schnell einmal übergriffig.

          Ich werd so ein Minus schon überleben – gerade so 😉

          Gruß,

          --
          a.k.a. André
          1. @@Ryuno-Ki

            Man kann haargenau auf die Frage antworten und damit meilenweit daneben liegen, was der/die Fragende eigentlich wissen will. Nur hilft das nicht – im besten Fall. In vielen Fällen ist das schädlich, weil es auf die falsche Fährte führt, ohne dass der/die Fragende sich dessen bewusst wird. Solche Antworten verdienen ein sichtbares Zeichen, dass sie – wenn überhaupt – nur mit äußerster Vorsicht zu genießen sind; also ein Minus.

            Mir ist es da lieber, eine Frage zu beantworten. Wenn es nicht zielführend ist, wird schon eine Nachfrage kommen.

            Nein, davon ist nicht auszugehen.

            Wer hier mit einer Frage aufkreuzt, die sich um den vermeintlichen Lösungsansatz anstatt um das eigentlich zu lösende Problem dreht, der wird nach einer mit Scheuklappen gegebenen Antwort nicht plötzlich den Lösungsansatz infragestellen und dann nochmal nachfragen, ob’s denn überhaupt der richtige Ansatz ist. Das Hinterfragen des Ansatzes muss von uns kommen.


            Es geht natürlich auch alles bis in's Kleinklein zerreden und dann wundern, warum so wenig Menschen hier aufkreuzen.

            Dafür gibt es unzählige andere Gründe: Wer etwas ins Web stellt, verwendet irgendwelche Anbieter. Oder falls doch auf der eigenen Website, dann Wordpress mit fertigem Template. Oder wer doch noch was selbst bastelt, findet im Web genug Antworten, seien es Artikel oder Erklärvideos auf YouTube. Oder wer dann noch Fragen hat, fragt ChatGPT in dem (Irr-)Glauben, von KI gescheite Antworten zu bekommen. (s.a. 45% fehlerhaft)


            Insbesondere bei Antworten, die um die Ecke denken und dem eigentlichen Problem auf den Grund gehen.

            Jein. Wenn es gewünscht ist, gerne. Ansonsten wirkt es auch gerne schnell einmal übergriffig.

            Wer das denkt, ist hier wohl nicht an der richtigen Adresse.

            „Uns gibt es nur mit Meinung und ungebetener Beratung.“Chräcker Heller, 2006

            Das war damals so und ich werde alles dafür tun, dass das auch so bleibt.


            Ich werd so ein Minus schon überleben – gerade so 😉

            Mich kostet es auch jedesmal einen Punkt, wenn ich ein Minus vergebe. Das muss ich auch überleben – gerade so 😉

            🖖 Live long and prosper

            --
            “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
            — Bruce Springsteen, Manchester 2025-05-14
  2. Hallo Lorenz,

    verlässlich: gar nicht. Der User-Agent Header kann vom Client beliebig gefälscht sein.

    Clientseitig ist das ähnlich. Es gibt für JavaScript die Möglichkeit, navigator.userAgent abzufragen, aber da steht auch nichts anderes drin.

    Deswegen ist es üblich, clientseitig mit Feature-Erkennung zu arbeiten. Dafür gibt es in CSS und in JavaScript Möglichkeiten.

    Was ist das Problem, das du serverseitig per Browsererkennung lösen willst?

    Rolf

    --
    sumpsi - posui - obstruxi
  3. Servus!

    Moin,

    wie kann ich über PHP o.ä. abfragen, welcher Browser verwendet wird?

    Es gibt zu fast jeder Frage einen entsprechenden Artikel im SELF-Wiki.

    Hier ist es: User-Agent-Kennung

    Insbesondere:

    • ursprüngliche Ziele
    • Stand heute

    zeigen doch gut, warum das heute nicht mehr sinnvoll ist.

    Besonders erwähnenswert finde ich unten unter Weblinks:

    Die Geschichte der User-Agent-Strings

    User-Agent-Strings identifizieren Browser … sollten Sie zumindest. Wie und warum sie das nicht tun:
    Original aus dem Englischen: History of the browser user-agent string von Aaron Andersen, September 2008


    So etwas kann man in einem kurzen Post gar nicht schreiben, was da alles erwähnt wird.
    Meine ich.

    Herzliche Grüße
    Matthias Scharwies