Ich will ein .jpg auf einer fremden Seite platzieren und feststellen wie oft das .jpg aufgerufen/angezeigt wird.
Heikel.
Vllt. geht was mit einem js eventhandler wie onload den ich im img-Tag einbauen lassen kann?
Wenn du ohnehin JS laufen lassen kannst, dann ist das Zählen kein Problem, da du Daten an einen Server deiner Wahl schicken kannst (AJAX / XHTTPRequest).
Die Versierten werden aber NoScript verwenden, und das zurecht...
Wenn das Bild auf deinem Server liegt, kannst du den Webserver selbst mitloggen lassen (z.B. apache2 logfiles). Das ist vergleichsweise effizient zu loggen, aber mühsam auszulesen.
Alternativ kannst du mit mod_rewrite die Bild-Url zu einer .php-Datei umleiten (Oder einfach direkt den .php-Link als Bild angeben), die das Logging übernimmt und das Bild ausgibt.
Das Problem bei diesen Methoden: Du kannst nur Aufrufe, aber nicht so leicht unique users zählen.
Du kannst zwar User-Agent und diverse Meta-Informationen durch den HTTP-Request bekommen, aber:
1) Datenschutz: Die EU wird dir zu Recht aufs Dach steigen. Der Nutzer kann nicht sehen, dass du ihn mitloggst (u.a. dadurch, dass er vielleicht der Seite, die auf den Bild verlinkt, nicht aber dir ein eventuelles Einverständnis gibt). Daher: Verboten oder zumindest Grauzone.
2) Die Versierten werden auch hier entsprechende Vorkehrungen treffen.
https://de.wikipedia.org/wiki/Web_Analytics#Gesetzliche_Zul.C3.A4ssigkeit_in_Deutschland
Das Bundesdatenschutzgesetz lässt die Erhebung und die Speicherung von personenbezogenen Daten nur dann zu, wenn dies von einer gesetzlichen Vorschrift explizit erlaubt wird oder eine eindeutige und vorherige
Einwilligung des Nutzers vorliegt.
Da Browser einen ziemlich guten "Fingerabdruck" hinterlassen, wäre ich entsprechend zumindest vorsichtig.
(In A und CH ist es ähnlich).
Umstritten ist, ob die IP-Adresse eines Internetnutzers in Verbindung mit dem Nutzungszeitpunkt ein personenbezogenes Datum darstellt. Das Amtsgericht München lehnte den Personenbezug einer dynamischen IP-Adresse, die durch den Betreiber eines Internetdienstes gespeichert worden war, in einem ergänzenden Hinweis (obiter dictum) ab (Urt. v. 30. September 2008 – 133 C 5677/08, MMR 2008, 860
[5]). Es folgte damit einigen juristischen Kommentatoren (Gola/Schomerus, § 3 Rn. 10), die IP-Adressen nur für „relativ“ personenbezogen halten, so dass die Speicherung von IP-Adressen bei Content-Anbietern zulässig und erst ihre Übermittlung unzulässig sei.
[6]
Das Amtsgericht Berlin-Mitte hat demgegenüber einen Personenbezug angenommen und es dem Betreiber eines Internetportals verboten, die IP-Adressen seiner Nutzer über die Dauer des Nutzungsvorgangs hinaus aufzubewahren (Urt. v. 27. März 2007 – 5 C 314/06, DuD 2007, 856-858, bestätigt durch Landgericht Berlin, Urt. v. 6. September 2007 – 23 S 3/07, MMR 2007, 799-800
[7]).
Für dich hiesse der 2. Paragraph: IP Adressen dürfen nicht gespeichert werden.
Das reine
Zählen der Aufrufe ist nicht verboten, aber dann brauchst du auch kein JS.
Wichtiger Hinweis:
Wer als deutscher Anbieter eines Internetdienstes externe Dienste wie Webanalysedienste in sein Angebot einbindet, haftet für die Einhaltung des deutschen Datenschutzrechts (sog. Auftragsdatenverarbeitung).
(=> Da du einen Webanalysedienst machen willst: Wo immer du das positionierst, der Inhaber haftet)
Wenn du Man-in-the-Middle spielen willst:
Entweder du fügst ein zusätzliches, eigenes Zählpixel neben dem verlinkten Bild ein, welches dann auf deinem Server liegt und entsprechend gezählt werden kann, oder du machst das volle Programm mit JS, also AJAX & Co.
Diese Art scheint aber moralisch noch morbider, da du die Zählung nicht als Nebenprodukt, sondern als Hauptzweck durchführst...
Dazu kommt, dass du DNT (Do Not Track) zu berücksichtigen hast.
Wie gesagt gilt all das rechtliche Geblubber nur, wenn du mehr als nur Aufrufe zählen (=1 einziger Counter) willst.
Generell dazu:
https://de.wikipedia.org/wiki/Zählpixel
Kurzfassung:
Rechtliche Grauzone, mit Einwilligung des Nutzers kein Problem, aber du haftest für die Sicherheit der gespeicherten personenbezogenen Daten.
Technisch leicht umzusetzen.
Gruss
cwriter