SELFPHP: Version 5.3.7 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler




SELFPHP Produktempfehlung
Microsoft Windows Server 2008
Seite Windows Server 2008
Seite
Microsoft SQL Server 2008
Seite SQL Server 2008
Seite
Microsoft Expression Web 2
Seite Microsoft Expression
Seite
 

Suche




Deine Leidenschaft ist die Unterwasserfoto-grafie?


Dann ist Qozido genau das Richtige für Dich!

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler ist da!

www.qozido.de

 

CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 



Zurück   SELFPHP Forum > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 25.07.2008, 23:06:53
JuliusCaesar JuliusCaesar ist offline
Junior Member
 
Registriert seit: Jul 2007
Beiträge: 225
Renommee-Modifikator: 0
JuliusCaesar befindet sich auf einem aufstrebenden Ast
erkennen ob user einen Werbeblocker aktiviert hat, oder nicht

Hey
ich weiß jetzt nicht genau obs der richtige bereich ist
aber wie kann ich erkennen, ob der user einen werbeblocker aktiviert hat oder nicht

es geht nicht nur um werbelayer sondern auch um google adsense anzeigen

ist sowas möglich,wenn ja wie?

über antworten würd ich mich sehr freuen ;)

mfg Julius
Mit Zitat antworten
SELFPHP Newsletter mit Verlosung, Extra-Tipp als fertiges PHP Skript, Code-Snippets und vieles mehr...

Verpasst nicht den Newsletter von SELFPHP mit speziellen Extra-Tipps (im letzten Newsletter: Download-Geschwindigkeit mit PHP drosseln), Code-Snippets, wichtige Informationen rund um das Thema PHP und vieles mehr. Weiterhin gibt es im jedem Newsletter immer eine Verlosung mit tollen Preisen, die von unseren Sponsoren gestiftet werden. Im aktuellen Newsletter stellt Microsoft für den Newsletter folgende Preise zur Verfügung.

Unter allen Teilnehmern werden 10 Microsoft Press Fachbüchern verlost:
5x Spieleprogrammierung mit dem XNA Framework
5x Cloud Computing mit der Windows Azure Plattform





  #2  
Alt 26.07.2008, 09:29:58
David Schirge David Schirge ist offline
Junior Member
 
Registriert seit: Feb 2006
Alter: 22
Beiträge: 95
Renommee-Modifikator: 0
David Schirge befindet sich auf einem aufstrebenden Ast
AW: erkennen ob user einen Werbeblocker aktiviert hat, oder nicht

Also ich kenne keine Möglichkeit. Aber Du könntest es so machen, dass Du eine Meldung schreibst á la "Du hast einen Werbeblocker aktiviert!" und per CSS "position:absolute; top:xxx;left:xxx" ect. die Werbung über die Meldung plazierst. Die Meldung wird so nur dann angezeigt, wenn die Werbung blockiert ist.
Mit Zitat antworten
Alt Heute, 10:43:37
 
 
 


 
  #3  
Alt 26.07.2008, 19:00:04
JuliusCaesar JuliusCaesar ist offline
Junior Member
 
Registriert seit: Jul 2007
Beiträge: 225
Renommee-Modifikator: 0
JuliusCaesar befindet sich auf einem aufstrebenden Ast
AW: erkennen ob user einen Werbeblocker aktiviert hat, oder nicht

doch das geht irgednwie
schau mal hier
http://www.otr-files.de/
dort findeste das hier
Code:
<script type="text/javascript">
	
			try {
				if (!werbeblocker) {
					zeigemeldung = true;
				} else {
					zeigemeldung = false;
				}
			} catch(e) {
				zeigemeldung = true;
			}

leider weiß ich nicht wie die funktion werbeblocker definiert ist.....

hilft das irgendwie weiter?
Mit Zitat antworten
  #4  
Alt 27.07.2008, 12:33:50
CPA CPA ist offline
Junior Member
 
Registriert seit: Feb 2007
Alter: 32
Beiträge: 69
Renommee-Modifikator: 0
CPA befindet sich auf einem aufstrebenden Ast
AW: erkennen ob user einen Werbeblocker aktiviert hat, oder nicht

Die Variable "werbeblocker" ist dort grundsätzlich auf "true" gesetzt, denn auch ohne Werbeblocker wird auf dieser Seite der Hinweistext angezeigt!
Mit Zitat antworten
  #5  
Alt 27.07.2008, 15:27:09
JuliusCaesar JuliusCaesar ist offline
Junior Member
 
Registriert seit: Jul 2007
Beiträge: 225
Renommee-Modifikator: 0
JuliusCaesar befindet sich auf einem aufstrebenden Ast
AW: erkennen ob user einen Werbeblocker aktiviert hat, oder nicht

also bei mir nicht....
sobald ich adblock plus deaktiviere kommt die meldung
"Da OTR-files.de zu 50% durch Werbung
finanziert wird, bitten wir Dich Deinen
Werbeblocker auszuschalten!" nicht mehr
Mit Zitat antworten
  #6  
Alt 27.07.2008, 15:32:52
Benutzerbild von Area51
Area51 Area51 ist offline
Junior Member
 
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 19
Beiträge: 164
Renommee-Modifikator: 0
Area51 befindet sich auf einem aufstrebenden Ast
Area51 eine Nachricht über ICQ schicken Area51 eine Nachricht über AIM schicken Area51 eine Nachricht über MSN schicken
AW: erkennen ob user einen Werbeblocker aktiviert hat, oder nicht

Ich geh mal davon aus, dass in der von Adblock blockierten Werbung ein JavaScript läuft, welche werbeblocker auf false schaltet. Wenn die Werbung nicht angezeigt wird, kann die Variable werbeblocker logischerweise nicht umgeschaltet werden.
Dadurch erhält man die Meldung, man solle ihn deaktivieren.

So ist zumindest meine Theorie.
Mit Zitat antworten
Alt Heute, 10:43:37
 
 
 


 
  #7  
Alt 27.07.2008, 21:02:43
Elfram Elfram ist offline
Junior Member
 
Registriert seit: May 2007
Beiträge: 17
Renommee-Modifikator: 0
Elfram befindet sich auf einem aufstrebenden Ast
AW: erkennen ob user einen Werbeblocker aktiviert hat, oder nicht

Ich weiß nicht, genau, worauf diese Werbeblocker anspringen, aber man könnte theoretisch ein Bild machen, das bei aktiviertem Werbeblocker auch nicht angezeigt wird. Dieses Bild bindet man dann einfach mit folgendem Code ein (also im HTML dann <img src="./blablubb.php">) und formatiert es mit CSS so, dass man es nicht bemerkt.
PHP-Code:
<?php
$_SESSION
['werbeblocker']=FALSE;
//HTTP-Header setzen
header('Content-type: image/png');
//Bild einlesen und ausgeben
$im imagecreatefrompng("./banner1.png");
imagepng($im);
?>
Das mit der Session müsste klappen (auch wenn es nicht mehr das eigentlich Skript ist), solange die Skripts auf dem gleichen Server sind.
Bei allen folgenden Seiten kann man dann überprüfen, ob $_SESSION['werbeblocker']===FALSE ist und entsprechende Ausgaben produzieren.

Prinzipiell müsste das funktionieren, man bräuchte nur ein Bild, auf das Werbeblocker anspringen :D

Gruß, Elfram
Mit Zitat antworten
  #8  
Alt 28.07.2008, 17:01:16
JuliusCaesar JuliusCaesar ist offline
Junior Member
 
Registriert seit: Jul 2007
Beiträge: 225
Renommee-Modifikator: 0
JuliusCaesar befindet sich auf einem aufstrebenden Ast
AW: erkennen ob user einen Werbeblocker aktiviert hat, oder nicht

Zitat:
Zitat von Area51 Beitrag anzeigen
Ich geh mal davon aus, dass in der von Adblock blockierten Werbung ein JavaScript läuft, welche werbeblocker auf false schaltet. Wenn die Werbung nicht angezeigt wird, kann die Variable werbeblocker logischerweise nicht umgeschaltet werden.
Dadurch erhält man die Meldung, man solle ihn deaktivieren.

So ist zumindest meine Theorie.
das ist denke ich sehr wahrscheinlich
weil ich kein javascript gefunden hab, welches die funktion werbeblocker definiert
die muss also irgendwo anders definiert werden

Zitat:
Ich weiß nicht, genau, worauf diese Werbeblocker anspringen, aber man könnte theoretisch ein Bild machen, das bei aktiviertem Werbeblocker auch nicht angezeigt wird.
also ich hab mir mal die Filterliste von adblock plus angesehen und festgestellt, dass wenn die werbung im Order "bannerad" liegt, geblockt wird

Zitat:
Dieses Bild bindet man dann einfach mit folgendem Code ein (also im HTML dann <img src="./blablubb.php">) und formatiert es mit CSS so, dass man es nicht bemerkt.
und wie kann ich feststellen, ob das Bild angezeigt wird oder nicht?
mfg Julius
Mit Zitat antworten
  #9  
Alt 28.07.2008, 17:40:39
Elfram Elfram ist offline
Junior Member
 
Registriert seit: May 2007
Beiträge: 17
Renommee-Modifikator: 0
Elfram befindet sich auf einem aufstrebenden Ast
AW: erkennen ob user einen Werbeblocker aktiviert hat, oder nicht

Zitat:
Zitat von JuliusCaesar Beitrag anzeigen
und wie kann ich feststellen, ob das Bild angezeigt wird oder nicht?
Ich gehe davon aus, dass Adblocker die Werbung gar nicht erst laden. Falls sie die Werbung jedoch laden, aber nicht anzeigen, hat man einerseits Pech, weil man mit meiner Methode nicht weiter kommt, andererseits Glück, wenn man für die Werbung per View und nicht per Klick bezahlt wird :D

EDITH sagte um kurz vor 19 Uhr: So, ich habe gerade erfolgreiche Tests abgeschlossen :-) Das Skript (wie oben, nur dass ich noch einen session_start(); an den Anfang gesetzt habe) heißt showads.php und liegt im Ordner "adverts". Damit erkennt Adblock Plus es ziemlich gut :D D.h., dass das Bild bei aktiviertem Werbeblocker nicht angezeigt wird und beim zweiten Aufruf der Seite wird eine Nachricht angezeigt, dass ein Werbeblocker benutzt wird. Für weitere Verwendung schreib ich hier einfach mal den Code der beiden Dateien rein :-)
PHP-Code:
<?php //./werbetest.php
session_start();
if(
$_SESSION['werbeblocker']===TRUE)
    
$werbeblocker TRUE;
$_SESSION['werbeblocker'] = TRUE;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Werbetest</title>
</head>
<body>
<p><?php if($werbeblocker===TRUE) echo "Hier sollte eigentlich das stehen, was meine Website finanziert... Jetzt muss ich wohl pleite gehen :-("?><img src="./adverts/showads.php" alt="W&auml;rbunt"></p>
</body>
</html>
PHP-Code:
<?php //./adverts/showads.php
session_start();
$_SESSION['werbeblocker']=FALSE;
//HTTP-Header setzen
header('Content-type: image/png');
//Bild einlesen und ausgeben
$im imagecreatefrompng("./werbunt.png");
imagepng($im);
?>
Gruß Elfram

PS: Das Bild (bei mir "werbunt.png") kann IRGENDWAS sein... Theoretisch auch nur ein einzelner Pixel. Evtl. geht es auch, dass überhaupt nichts ausgegeben wird, aber dann wäre es streng genommen kein valides HTML mehr; ich weiß nicht, ob das irgendwie Probleme bereiten kann...

Geändert von Elfram (28.07.2008 um 19:11:39 Uhr)
Mit Zitat antworten
  #10  
Alt 28.07.2008, 20:27:57
CPA CPA ist offline
Junior Member
 
Registriert seit: Feb 2007
Alter: 32
Beiträge: 69
Renommee-Modifikator: 0
CPA befindet sich auf einem aufstrebenden Ast
AW: erkennen ob user einen Werbeblocker aktiviert hat, oder nicht

Ok, habe mir die Seite nochmal etwas genauer angeschaut und bisserl rumexperimentiert...

Mein Ergebnis ist folgendes:

Wenn eine Variable nicht initialisiert wird (z.b. so: var werbeblocker = true;) ergibt bei einer IF-Abfrage (z.b. if(werbeblocker) ) grundsätzlich false aus.

So, hier nun die Lösung wie sie auf "otr-files.de" eingesetzt wird:

Mitten im Quelltext findet sich folgender Scriptaufruf:
HTML-Code:
<script src="http://otr-files.de/banner/ads/adserver/click/ad.js" type="text/javascript"></script>
Der Inhalt der Datei "ad.js ist nur eine Zeile: var werbeblocker = true;

Kurz danach kommt dieser Scriptblock:

HTML-Code:
<script type="text/javascript">
  try {
    if (!werbeblocker) {
      zeigemeldung = true;
    } else {
      zeigemeldung = false;
    }
  } catch(e) {
    zeigemeldung = true;
  }
  if (zeigemeldung) {
    document.write("<h1><hinweis>Da OTR-files.de <b>zu 50% </b> durch Werbung <br />finanziert wird, bitten wir Dich Deinen <br />Werbeblocker auszuschalten!</hinweis></h1>");
  }
</script>
So, die Verarbeitung ist wie folgt (damit wiederufe ich gleichzeit meinen ersten Beitrag, wo ich meinte das bei mir auch ohne Werbeblocker die Meldung angezeigt wird.):

Werbeblocker wie z.b. die von mir eingesetzte Firefox-Erweiterung "AdBlockPlus" scannen die Webseite nach Scriptblöcken, Bildern usw. usw.. Bei diesem Scannvorgang wird geprüft ob in den URLs, den Pfadangaben oder den Dateinamen Schlüsselwörter wie z.B. "ad", "adserver", "click" usw. vorkommen. Ist dies der Fall, so wird das entsprechende Script nicht ausgeführt, bzw. das Bild oder was auch immer nicht angezeigt.

Wird also das Script wegen dem Adfilter nicht ausgeführt, so wird logischerweise die Variable "werbeblocker" auch nicht mit "true" initialisiert und bleibt somit "false".

So, hier kommt nun der zweite Scriptblock zum Einsatz, dieser prüft ja ob die Variable "werbeblocker" "true" oder "false" ist. Im Falle des nicht ausgeführten ersten Scripts ist somit der Wert "false", d.h. "zeigemeldung" wird auf "true" gesetzt und der entsprechende Hinweistext wird angezeigt.

FAZIT:
Also wenn du nun prüfen willst ob ein Werbeblocker aktiv ist, lege einfach in deinem Webverzeichnis eine Unterordnerstruktur an wie z.b. "/banner/ads/adserver/click/" in dem letzten Unterordner machste eine JS-Datei namens "ad.js" rein die folgende Zeile enthält: "var werbeblocker = true;" (ohne Anführungsstriche).

Dann baust in deiner HTML-Datei die obigen zwei Scriptblöcke ein (aufpassen dass die URL und Pfadangaben bei dem ersten Script mit deinen Angaben übereinstimmen und beim zweiten Scriptblock dein eigener Hinweistext definiert ist) und schon hast du deine Prüfung :)

Die Moral von der Geschichte:
Wer ein bisschen spielt kommt auch auf die Lösung :)

Geändert von CPA (28.07.2008 um 20:32:00 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Felder (user id) um Wert verändern sql-newbie MySQL 2 08.04.2008 17:10:14
htaccess user doppelt / passwörtern unterschiedlich ist das möglich ? steffi Apache HTTP-Server 7 06.04.2005 20:13:45
Das soll nach 1 h ausgeführt werden! Spike15 PHP Grundlagen 12 04.04.2005 16:29:57
Probleme bei nem user online Script KiKoN PHP Grundlagen 15 28.11.2004 13:22:24
mehrere user gleichzeitig bedienen PiCiJi PHP für Fortgeschrittene und Experten 5 15.08.2003 11:31:09


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:43:37 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.


© 2001-2010 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt