Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Counter über ein Bild , muss man ein Bild senden?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
smilla
PostRank 5
PostRank 5
Beiträge: 268
Registriert: 28.07.2008, 19:14

Beitrag von smilla » 27.02.2010, 16:08

Hi,

damit ein Counter überwiegend echte Besucher zählt, läuft der aufruf über ein Bild (image.php?products_id=1 oder image.php?categories_id=1).

damit hier niemand manipulieren kann enthält der parameter noch einen hash wert.

Nun zeige ich derweil ganzen unten dann auch wirklich ein Bild an:

Code: Alles auswählen

// show some image
$filename = $_SERVER['DOCUMENT_ROOT'] . "/images/1px.gif";
$image = @imagecreatefromjpeg($filename);      
if ($image != "")
{
   header("Content-type: image/jpeg"); 
   imagejpeg($image, '', 100);  
   imagedestroy($image);
   exit;
}
Nun frage ich mich, ob man diesen Code unten ggf. durch was anderes ersetzen kann und welche Auswirkungen das hat:

1. Man lässt es so wie es ist und ich glaube es hat keine Nachteile
2. Man sendet stumpf einen Header 404 Not Found (hat ggf. Qualitäts Nachteile, wenn eine Seite Bilder anzeigt, die nicht vorhanden sind, aber Sumas werden immer intelligenter)
3. Könnte man ggf. einfach einen Header 200 Senden und fertig?


Also ich weiß nicht wirlich wie man das besser lösen kann oder ob ich es so lassen sollte.

Freue mich auf Feedback

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

t-rex
PostRank 7
PostRank 7
Beiträge: 585
Registriert: 15.03.2004, 14:00

Beitrag von t-rex » 27.02.2010, 16:50

Hi,

ein bisschen weniger Resourcen benötigt die folgende Lösung

Code: Alles auswählen

  header("HTTP/1.0 200 OK");
  header("Content-Type: image/gif");
  header("Content-Length: 43");
  // 1 x 1 gif
  echo chr(0x47).chr(0x49).chr(0x46).chr(0x38).chr(0x39).chr(0x61).chr(0x01).chr(0x00).
     chr(0x01).chr(0x00).chr(0x80).chr(0x00).chr(0x00).chr(0x04).chr(0x02).chr(0x04).
     chr(0x00).chr(0x00).chr(0x00).chr(0x21).chr(0xF9).chr(0x04).chr(0x01).chr(0x00).
     chr(0x00).chr(0x00).chr(0x00).chr(0x2C).chr(0x00).chr(0x00).chr(0x00).chr(0x00).
     chr(0x01).chr(0x00).chr(0x01).chr(0x00).chr(0x00).chr(0x02).chr(0x02).chr(0x44).
     chr(0x01).chr(0x00).chr(0x3B);
  exit;
Sonnige Grüsse
HaPe
Keiner weiss wass ich tue, aber alle wissen wie ich es besser machen kann
save the bookmark - logocreatr - backgrounds - templatr- PPC Themes

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 27.02.2010, 17:29

t-rex hat geschrieben:

Code: Alles auswählen

echo chr(0x47).chr(0x49).chr(0x46).chr(0x38).chr(0x39).chr(0x61).chr(0x01).chr(0x00).
     chr(0x01).chr(0x00).chr(0x80).chr(0x00).chr(0x00).chr(0x04).chr(0x02).chr(0x04).
     chr(0x00).chr(0x00).chr(0x00).chr(0x21).chr(0xF9).chr(0x04).chr(0x01).chr(0x00).
     chr(0x00).chr(0x00).chr(0x00).chr(0x2C).chr(0x00).chr(0x00).chr(0x00).chr(0x00).
     chr(0x01).chr(0x00).chr(0x01).chr(0x00).chr(0x00).chr(0x02).chr(0x02).chr(0x44).
     chr(0x01).chr(0x00).chr(0x3B);
Und die 43 hässlichen chr()-Aufrufe kriegen wir auch noch weg ;)

Code: Alles auswählen

echo "\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x04\x02\x04\x00\x00\x00\x21\xF9\x04\x01\x00\x00\x00\x00\x2C\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x44\x01\x00\x3B"; 
Eigentlich könnte man sich aber auch mit gar nichts behelfen, wortwörtlich:

Code: Alles auswählen

header("HTTP/1.0 204");
exit;
Ich weiß allerdings nicht, ob Browser daraufhin die Kaputtes-Bild-Grafik anzeigen.