Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 09.07.2007, 15:19 Titel: [PHP] Browser "erkennen" |
|
|
Hi,
meine Frage bezieht sich jetzt nicht auf die Umgebungsvariable, in der der User-Agent gespeichert ist, sondern vielmehr die Browser-"typischen" Codes.
z.B. ist ein
Code: |
switch($HTTP_USER_AGENT) {
case "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3":
$Browser = "Mozilla Firefox 2.0.0.3";
break 1;
case "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.4":
$Browser = "Mozilla Firefox 2.0.0.4";
break 1;
}
|
Ja nicht gerade Effektiv.
Ich möchte eigentlich nur wissen, ob und wie ihr das auf eurer Homepage gelöst habt.
z.B. dass wenn der UserAgent Opera 9.21 ist, eine Ausgabe "Opera 9" kommt, selbe aber auch bei 9.00, 9.01 usw.
Also eine Art "Erkennungs"-algorithmus. [/code] _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 09.07.2007, 16:09 Titel: |
|
|
Erstmal vorweg:
Ich brauch sowas nicht, meine Seite sieht in jedem Browser gut aus
Vlt. kannst du sowas per SubStr() machen, dass du prüfst ob die Stelle existiert, ob sie ein numerischer Wert ist und dann halt übernimmst.
Mit MySQL ließe sich das einfacher machen, zwar sieht der 1. Nutzer noch den User-Agent, danach kannst du jedoch selbst reagiern und eine "Spezielle" Bezeichnung erlauben. So hab ich es jedenfalls gemacht, und so ähnlich (nur halt ohne MySQL) erkennt wohl Jojo auch Bot's, wenn ich das richtig verstanden habe. |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 09.07.2007, 16:14 Titel: |
|
|
Neee ist nich wegen aussehen
will sowas ähnliches machen wie
hier
jaja immer muss saga-games als beispiel hinhalten
€dit|
du meinst also, dass ich eine msql tabelle erstelle ala
bzw.
Code: |
CREATE TABLE `useragents` (
`UID` TINYINT AUTO_INCREMENT ,
`UserAgent` TEXT NOT NULL ,
`Name` TEXT NOT NULL ,
PRIMARY KEY ( `UID` )
); |
_________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 09.07.2007, 17:12 Titel: |
|
|
UID brauchst du nicht mal, schl. kann man davon ausgehen dass `useragent` stehts nur 1x vorkommt, also kann auch `useragent` Primärschlüssel sein.
Ich liebe MySQL  |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 09.07.2007, 17:16 Titel: |
|
|
Man kann auch mit dem Useragent sortieren, bzw brauch man gar nicht da standartmäßig ohnehin alles so kommt wie es geordnet ist.
Zur Not nimm nen Zähler vom Typ Integer, den kannst dann mit
Code: | UPDATE `browser` SET `anzahl` = `anzahl` + 1 WHERE `browser` = 'Mein Browser 1.0'; |
zählen lassen |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 09.07.2007, 17:51 Titel: |
|
|
schau dir mal auf tut.php-q.net den part "reguläre ausdrücke" an, damit kann man sowas wunderbar einfach parsen  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 09.07.2007, 23:04 Titel: |
|
|
ich hab nich gesagt es is einfach zu verstehen, es is nur einfach zu benutzen wenn mans denn verstanden hat  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 09.07.2007, 23:09 Titel: |
|
|
ich habe ja nichts von "absichtlich ignoriert" gesagt, sondern "überclickt". Gelesen wars nach 10mins, verstanden nach15 .
verwende jetzt für ff, o, ie usw. preg_match.... _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 09.07.2007, 23:38 Titel: |
|
|
Kuckma hier...
in der oberen zeile steht der browser-erkennungs-string, darunter die definition... wenn jetzt der obere string im usera-agent auftaucht (strpos!), wird der browser um eins erhöht. die sortierung in der datei ist auch wichtig. MSIE muss z.B. vor Opera erscheinen, weil der Opera sich dummerweise als IE ausgibt. so wird zuerst MSIE gefunden, aber das wird dann später durch opera ersetzt... so was inder art suchst du doch... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 10.07.2007, 11:59 Titel: |
|
|
Das "Erscheinen" von Opera kann man beeinflussen. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 10.07.2007, 12:30 Titel: |
|
|
weiß ich, aber das macht ja auch nicht gerade jeder...  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 10.07.2007, 18:04 Titel: |
|
|
den user-agent für den internet explorer kann man auch verändern, steht afaik irgendwo in der registry, tuneup utilities hat n eingabefeld dafür zB _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
|