Werte an API übergeben?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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

  • #2
    Sessions?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      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?

      Kommentar


      • #4
        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
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          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.

          Kommentar


          • #6
            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.
            Wir werden alle sterben

            Kommentar


            • #7
              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.
              Zuletzt geändert von AmicaNoctis; 05.02.2012, 11:33.
              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
              Super, danke!
              [/COLOR]

              Kommentar


              • #8
                Danke! Ist eine super Idee! Werd ich mal testen!

                Kommentar


                • #9
                  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?

                  Kommentar


                  • #10
                    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.
                    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                    Super, danke!
                    [/COLOR]

                    Kommentar


                    • #11
                      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!

                      Kommentar


                      • #12
                        Und $_SERVER['REQUEST_URI'] ist dann auch nicht mehr richtig!

                        Ich fürchte es gibt keine einfache Lösung für Noops

                        Kommentar


                        • #13
                          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

                          Kommentar


                          • #14
                            Zitat von TriphunEM Beitrag anzeigen
                            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

                            Kommentar


                            • #15
                              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.
                              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                              Super, danke!
                              [/COLOR]

                              Kommentar

                              Lädt...
                              X