möglichst viele Merkmale über Besucher einer Seite ermitteln
nikita
- programmiertechnik
0 Cheatah0 Stefan Muenz0 florian
hallo forumsbesucher,
welche merkmale eines besuchers könnnen bei dem aufruf einer seite festgestellt und nach möglichkeit sofort angezeigt werden (dynamisch generierte seite)?
so soll beispielsweise bei aufruf der seite automatisch die browserversion usw. erscheinen, nur weiss ich nicht, welche angaben auslesbar sind.
bereits in verschiedensten dingen (gästebücher, andere websites) gesehen habe ich: browser, browserversion, genaue bezeichnung, sprache, uhrzeit, datum, ip-nummer, provider, herkunftsland, ob verschiedene plugins oder js aktiviert sind uvm.
die angaben sollten serverseitig ermittelt werden, weshalb ein auslesen (beispielsweise der browserversion) über javascript nicht sinnvoll ist (kann deaktiviert sein), die ganze dinge sollten browserunabhängig oder zumindest fehlerfrei funktionieren.
zur verfügung stehen php3, eigenes cgi-bin und serverside includes sowie ms fp98 extensions
danke, nikita
ps: für entsprechende verweise auf vorangegangene erörterungen zum thema oder publikationen wäre ich dankbar, meine suche hat oft nur die js-varianten zu tage gefördert.
Hi,
bereits in verschiedensten dingen (gästebücher, andere websites) gesehen habe ich: browser, browserversion, genaue bezeichnung, sprache, uhrzeit, datum, ip-nummer, provider, herkunftsland, ob verschiedene plugins oder js aktiviert sind uvm.
die angaben sollten serverseitig ermittelt werden, weshalb ein auslesen (beispielsweise der browserversion) über javascript nicht sinnvoll ist (kann deaktiviert sein), die ganze dinge sollten browserunabhängig oder zumindest fehlerfrei funktionieren.
tja, das meiste davon läßt sich nur leider nicht serverseitig feststellen, beispielsweise JavaScript oder Plugins. Was man erkennen kann ist:
Alles andere mußt Du mit JavaScript herausfinden.
Cheatah
hi cheatah,
Browser , IP-Adresse, akzeptierte Sprachen, Uhrzeit (serverseitig)
Alles andere mußt Du mit JavaScript herausfinden.
danke für deine hinweise, ich werde somit nicht soviel machen können wie ich gehofft habe, aber immerhin ;)
ausserdem ist die ganze sache dann doch eher eine spielerei von mir als eine wirklich dringende angelegenheit, die ganz oben auf der td-liste steht.
danke, nikita
- akzeptierte Sprachen (HTTP_ACCEPT_LANGUAGE: bei mir z.B. "de,de-DE,de-AT,de-CH,en", also relativ aussagearm),
Glaubst du? Finde ich nicht. Das zeigt mir z.B. das du deinen Browser konfigurieren kannst, naja, auf jedenfall das er das ist. Desweiteren sagt er auch aus, dass du englisch verstehtst (aha, ich kann ihm also auch englischsprachigen Spam schicken)
Bei dir sind diese Sprachen auch gleichwertig, so das man annehmen könnte, dass du sogar relativ gut englisch sprichst. Deutsch ist natürlich unverkennbar die Mutter/Landessprache.
Bei mir ist es sogar noch aussagekräftiger:
Accept-Language: de,en;q=0.7,*;q=0.3
deutsch und englisch sind gleichwertige Sprachen, ich hielt es nicht für nötig, explizit regionale Dialekte zu berücksichtigen.
Den '*' wirst du aber wohl eher nur selten finden, der schützt mich vor HTTP/1.1 Status 406, nämlich inakzeptablen Headern. Den würde ich zurückgeschickt bekommen, wenn der Server mit Content-Negotiation arbeitet und nur Sprachen vorliegen hab, die ich 'nicht akzeptiere'. Der Kommt aber auch nur zum Zuge, wenn de und en nicht vorhanden sind (quality .7 gegen 0.3)
Zwei die du noch vergessen hast:
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-
excel, application/msword, application/x-comet, */*
zu finden als HTTP_ACCEPT und
Accept-Encoding: gzip, deflate
Die beide in Verbindung mit Content-Negptiation sehr praktisch wären. Leider haben die Browserhersteller den weitgehend kaputt gemacht, sonst könnte man z.B. herausfinden ob image/png unterstützt wird oder nicht, aber auch so könnte man noch damit arbeiten, tut bloss kaum jemand.
Host: ist auch noch da, aber via HTTP_HOST kann man über den Benutz nichts herausfinden, höchstens dass er keinen uralten Browser hat.
Am meissten ist aber immernoch mit
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)
herauszufinden, aber den nanntest du schon.
Das bis auf HTTP_REQUEST_METHOD und HTTP_HOST alle Lügen können, muss ich aber nicht erwähnen, oder :)
MfG
Leider haben die Browserhersteller den weitgehend kaputt gemacht, sonst könnte man z.B. herausfinden ob image/png unterstützt wird oder nicht, aber auch so könnte man noch damit arbeiten, tut bloss kaum jemand.
Ich bastele ab und zu mal ein bißchen an einem Artikel über Content negotiation, der vielleicht mal in SELFAKTUELL erscheinen könnte:
Die Beschreibung dessen, was der Browser an Wünschen gesendet hat, ist auch über Variablen der
CGI-Schnittstelle ansprechbar:
Diese Variablen sind in der CGI-Norm *nicht* explizit spezifiziert. Statt dessen liest CGI alles, was im HTTP-Header kommt, ersetzt '-' durch '_' in Variablennamen, fügt jeweils die Zeichenkette HTTP_ davor und setzt es ins
Environment. (Wie die Variablen heißen werden, das kann man dem genormten Aufbau des HTTP-Headers
entnehmen.)
Hallo Nikita
welche merkmale eines besuchers könnnen bei dem aufruf einer seite festgestellt und nach möglichkeit sofort angezeigt werden (dynamisch generierte seite)?
In JavaScript kannst du die Objekte navigator (<../../tech.htm>) und screen (<../../teck.htm>) benutzen, um Daten ueber Browser und Rechnerumgebung des Anwenders rauszubekommen.
In CGI-Scripts lassen sich ueber die CGI-Umgebungsvariablen (<../../tgbd.htm>) noch einige Daten ueber den aufrufenden Browser ermitteln.
viele Gruesse
Stefan Muenz
hallo forumsbesucher,
welche merkmale eines besuchers könnnen bei dem aufruf einer seite festgestellt und nach möglichkeit sofort angezeigt werden (dynamisch generierte seite)?
so soll beispielsweise bei aufruf der seite automatisch die browserversion usw. erscheinen, nur weiss ich nicht, welche angaben auslesbar sind.
bereits in verschiedensten dingen (gästebücher, andere websites) gesehen habe ich: browser, browserversion, genaue bezeichnung, sprache, uhrzeit, datum, ip-nummer, provider, herkunftsland, ob verschiedene plugins oder js aktiviert sind uvm.die angaben sollten serverseitig ermittelt werden, weshalb ein auslesen (beispielsweise der browserversion) über javascript nicht sinnvoll ist (kann deaktiviert sein), die ganze dinge sollten browserunabhängig oder zumindest fehlerfrei funktionieren.
zur verfügung stehen php3, eigenes cgi-bin und serverside includes sowie ms fp98 extensions
»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
hi,
ganz einfach:
1.FP-ext. löschen :-)
2. SSI: <!--#printenv--> irgendwo in der seite
CGI:
»»»»»»»»»»>
#!/usr/local/bin/perl
print "Content-type: text/plain\n\n";
while (($key, $val) = each %ENV) {
print "$key = $val<BR>\n";
}
»»»»»»»»»»> oder
#!/bin/sh
set -f
echo Content-type: text/plain
echo
echo CGI/1.0 test script report:
echo
echo argc is $#. argv is "$*".
echo SERVER_SOFTWARE = $SERVER_SOFTWARE
echo HTTP_ACCEPT = "$HTTP_ACCEPT"
echo REMOTE_USER = $REMOTE_USER
echo CONTENT_LENGTH = $CONTENT_LENGTH
echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE
echo
»»»»»»»»»»»»
oder oder oder .......
um das dann in die seite richtig einzubauen :
SSI: <!--#echo var="GATEWAY_INTERFACE"-->
CGI: perl: print "$ENV{'REMOTE_USER'}\n";
ciao
F