| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

03-02-2012, 19:10
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
Werte an API übergeben?
Hallo,
ich arbeite an einem Statistik-Tool und mach mir gerade Gedanken über die Ermittlung und Weitergabe der benötigten Informationen.
So wie es Google bei Analytics macht, also mit reinem Javascript-Code ist die eine Möglichkeit. Aber wie könnte ich am besten bestimmte Umgebungs-Variablen wie $_SERVER per PHP an eine API übergeben! Ein URL-Aufruf über file_get_contents oder über CURL finde ich optisch völlig unsinnig...Wie würdet ihr das realisieren? Ein direkter Include einer extern PHP-Datei wäre völliger schwachsinn, wer würde das schon zulassen
|

03-02-2012, 20:37
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.291
|
|
Sessions?
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

04-02-2012, 14:03
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
Was?
Es soll ein Code zur Erfassung von diversen Statistiken in externe Webseiten eingebunden werden. Wie als wenn du den Javascript-Code von Google Analytics in dein Forum einbindest, halt eben nur eine sinnvolle PHP-Variante! Was willst du dann mit Sessions?
|

04-02-2012, 20:03
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.549
|
|
So wie du das beschrieben hast, ist der Gedanke an Sessions nicht abwegig. Vielleicht musst du einfach mal dein VOrhaben präziser beschreiben und erläutern, welche Daten von wo nach wo geschickt werden. Eine API kann sowohl serverseitig als auch clientseitig existieren und da du die ganze Zeit von PHP-Skripten und CURL redest, sind Sessions ja nicht die dümmste Idee. Also: weniger beschweren, mehr erklären.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

05-02-2012, 07:07
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
Okay, ich versuche es noch einmal.
Wir nehmen an, ich betreibe ein Projekt, wo sich Webmaster mit ihren Seiten anmelden können um ihre Besucher zu tracken. Also, sowas wie Google Analytics. Wenn der Webmaster seine Seite in meinem Projekt angemeldet hat, bekommt dieser einen PHP-Code und muss diesen in seine Webseite einbinden, so dass mein Projekt die benötigten Besucherdaten erheben kann um eine Statistik draus zu machen.
Und jetzt geht es darum, wie könnte ich am saubersten diesen PHP-Code aussehen lassen?
z.B. um nur die Besucherer-Referer zu erfassen. Wäre eine Möglichkeit:
PHP-Code:
file_get_contents('http://www.projekt.de/catch.php?referer='.$_SERVER['HTTP_REFERER']);
Allerdings wirkt ein file_get_contents nicht grad prof. Zu mal noch nicht mal ein Timeout oder sowas definiert werden kann!
Wisst ihr was ich jetzt meine? Wie würdet ihr das lösen?
Ein JS-Code wäre ja die beste Variante, da aber einige JS-Code ausschalten bzw. duch No-Script blocken lassen, wird die Statistik zu sehr verfälscht.
|

05-02-2012, 07:24
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.921
|
|
Zitat:
|
Zu mal noch nicht mal ein Timeout oder sowas definiert werden kann!
|
Unsinn!
Der Urlwrapper kann Timeouts.
Alternativ:
Du könntest einen Soap Service anbieten, wo der fremde Webmaster seine Daten bei dir abliefert und auch die Statistiken abrufen kann. Das macht dann zumindest einen professionellen Eindruck und es lässt sich eine Authentifizierung einbauen um Missbrauch einzuschränken.
|

05-02-2012, 11:30
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.549
|
|
Warum nimmst du dafür kein transparentes Pixel oder einen Stylesheet-Link? Mit einer ID kannst du zuordnen, von wem das kommt.
Beispiel: Dein Tracker läuft auf tracker.example.com. Ich bin Webmaster von page.example.org, habe von dir den API-Key „fa3d32a8178069360bdc0f4be5d1b063“ bekommen und baue daher auf jeder meiner Seiten im Header folgendes link-Element ein
HTML-Code:
<link rel="stylesheet" type="text/css" href="http://tracker.example.com/css/?id=fa3d32a8178069360bdc0f4be5d1b063" />
Der Browser meines Besuchers wird jetzt das Stylesheet von deinem Server laden (egal, ob JS aktiviert ist oder nicht und egal, ob der Webmaster PHP benutzt oder Tomcat, Ruby on Rails, sonstwas oder gar keine serverseitige Logik). Anhand der ID kannst du die Manipulation des Referer-Headers verhindern oder zumindest stark erschweren – je nachdem wie undurchschaubar deine Hash-Funktion ist.
So in der Art würde ich es machen, schon weil nicht jeder Webmaster auf PHP setzen muss.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
Geändert von AmicaNoctis (05-02-2012 um 11:33 Uhr)
|

06-02-2012, 06:51
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
Danke! Ist eine super Idee! Werd ich mal testen!
|

23-02-2012, 10:11
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
Hey,
sowas wie du das gesagt hast, geht es leider nicht!
Denn für mich ist der "HTTP-REFERER"-Wert ganz wichtig, und der geht immer verloren. Und bei dem Aufruf eines Pixels oder CSS-Datei ist die Seiten-Url in dem der Code eingebunden wurde immer der "HTTP-REFERER"-Wert ! Fazit, nicht brauchbar!
Andere Idee?
|

23-02-2012, 10:17
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.549
|
|
Kannst du mal bitte an einem konkreten Beispiel erläutern, wie du es jetzt gemacht hast, was dabei nicht funktioniert hat und wie du es stattdessen gerne hättest? Es kann sein, dass wir aneinander vorbei reden, deswegen hätte ich gerne nochmal Klarheit.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

23-02-2012, 10:22
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
Okay,
in einer Webseite (example.com/index.htm) wo die Besucher und auch die HERKÜNFTE (Referer) getrackt werden soll, bau ich z.B. diesen Code ein:
<link rel="stylesheet" type="text/css" href="http://tracker.example.com/css/?id=fa3d32a8178069360bdc0f4be5d1b063" />
Die dahinter aufgerufene Seite erfasst alle nötigen Daten und speichert diese in die Datenbank. Da ich großen Wert auf den Referer lege ist mir leider aufgefallen, das $_SERVER[''HTTP_REFEFER"] immer den Wert "example.com/index.htm" liefert. Wenn der Besucher aber z.B. von google kommt, soll im HTTP_REFEFER auch "google.de" stehen, was aber nicht der Fall ist,weil dadurch die aufrufende Seite "example.com/index.htm" ist!
|

23-02-2012, 12:34
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
Und $_SERVER['REQUEST_URI'] ist dann auch nicht mehr richtig!
Ich fürchte es gibt keine einfache Lösung für Noops
|

23-02-2012, 12:37
|
|
litterauspirna
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Beiträge: 353
|
|
Nu zum Verständnis, du schreibst recht undeutlich.
Ein Kunde soll deinen Webservice in Anspruch nehmen und bei dir sollen die Tracking Daten von seiner Seite gespeichert werden richtig?
Das heist es ist für dich wichtig wenn irgendein Besucher auf die Seite deines Kunden kommt von z.B. Google soll der Referer ausgewertet werden?
Was bedeutet ich habe eine Webseite und nehme deinen Tracking Service in Anspruch, heist ich muss eine ID von dir bekommen. Diese ID ist natürlich bei dir wo auch immer hinterlegt und Daten von mir dazu.
Jetzt kommt ein Besucher xyz per Google auf meine Seite, dann soll der Referer ausgewertet werden und bei deienm Service getrackt werden?
Na das geht doch ohne Problem, du musst deine Api nur mit einer Funktion bereit stellen die auf Seite deines Kunden den Google Referer auswertet.
Mit der ID stellst du ja nur sicher das auch der Track für den richtigen Kunden gemacht wird.
Habe ich das falsch verstanden dann drücke dich bitte deutlicher aus oder aber mache mal ne grafische Ablaufveranschaulichung.
Gruß Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
|

23-02-2012, 12:39
|
|
litterauspirna
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Beiträge: 353
|
|
Zitat:
Zitat von TriphunEM
Ich fürchte es gibt keine einfache Lösung für Noops 
|
Eine Aussage wo ich de Wände hochgehen könnte, wenn du dich selber hier als Noob bezeichnest dann biete keinenWebservice der Art ann wenn du nicht weist wie du es machen sollst.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
|

23-02-2012, 13:56
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.549
|
|
Okay, jetzt habe ich es verstanden. Ich dachte, mit dem Referrer meinst du nur die Seite deines Klienten und die wird ja auch übertragen. Du willst aber den Vor-Referrer auch noch haben.
Dafür gibt es keine (mir bekannte) clientseitige Lösung. Also musst du es doch serverseitig mit PHP machen und kannst deinen Dienst nur Webmastern anbieten, die ebenfalls mit PHP arbeiten. Wenn die dann noch mit selbstgeschneiderten CMSen arbeiten, wird es schwierig, weil sich dein Codeschnipsel dann eventuell nicht so gut integrieren lässt, zumindest wenn der Webmaster selbst nicht programmiertechnisch bewandert ist.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|