Henry: Zeilen im Quellcode entfernen - php-Datei finden

Hallo,

ich habe eine Frage zu folgender Webseite:

http://www.filippigmbh.de/

Per FTP kann ich auf die PHP-Dateien zugreifen.

Mit Hilfe von STRG+U habe ich mir den Quellcode im Browser angeschaut. U.a. sind folgende Codezeilen im Quellcode zu finden:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-1443802-6");
pageTracker._trackPageview();
} catch(err) {}</script>

Diese Codezeilen würde ich gerne aus dem Quellcode entfernen. Leider finde ich aber nicht die PHP-Datei in welcher diese Code-Zeilen eingebunden sind. Es gibt hier zig Dateien, Verzeichnisse und Unterverzeichnisse.

Wie gehe ich denn strategisch klug vor um die relevante Datei zu finden, in welche die Codezeilen integriert sind die ich entfernen möchte?

Hilft mir Firebug hier weiter?

  1. @@Henry

    Diese Codezeilen würde ich gerne aus dem Quellcode entfernen. Leider finde ich aber nicht die PHP-Datei in welcher diese Code-Zeilen eingebunden sind.

    Du kannst nicht im ganzen Projekt nach dem betreffenden JavaScript-Quelltext suchen?

    Es gibt hier zig Dateien, Verzeichnisse und Unterverzeichnisse.

    Die Seiten werden mit einem CMS generiert?

    Wie gehe ich denn strategisch klug vor um die relevante Datei zu finden, in welche die Codezeilen integriert sind die ich entfernen möchte?

    Du fängst ganz oben an bei dem Template, das das Grundgerüst erzeugt (<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[1]), und versuchst nachzuvollziehen, was wie eingebunden wird.

    Hilft mir Firebug hier weiter?

    Nein. Firebug kann nicht auf den Server kucken, sondern sieht nur das, was im Browser ankommt.

    LLAP 🖖

    --
    Ist diese Antwort anstößig? Dann könnte sie nützlich sein.

    1. Warum XHTML 1 und nicht HTML5? Und warum ISO 8859-1 und nicht UTF-8? ↩︎

    1. Du kannst nicht im ganzen Projekt nach dem betreffenden JavaScript-Quelltext suchen?

      Nein das kann ich nicht wußte garnicht das das geht. Wir funktioniert denn die Suche bezogen auf das ganze Projekt im Filezilla?

      Die Seiten werden mit einem CMS generiert?

      Ich glaube schon, weil da ein Verzeichnis existiert was sich "CMS" nennt.

      Du fängst ganz oben an bei dem Template, das das Grundgerüst erzeugt (<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[1]), und versuchst nachzuvollziehen, was wie eingebunden wird.

      Meinst du damit die index.php. Falls ja die sieht so aus:

      
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <title>Filippi GmbH - Iso- und Trapezprofile</title>
      <link href="css/style.css" media="screen" rel="stylesheet" type="text/css">
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <?php
      $hnavi="1";
      $navi="";
      $subnavi="";
      ?>
      
      </head>
      <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
      <div id="rahmen">
          <div id="kopf">
           
              <div id="logo"><a href="index.php" alt="Home" title="Home"><img src="images/0.gif" alt="Home" title="Home" border="0" width="130" height="80"/></a></div>
          
              <div id="hilfsnavi"><?php include("scripts/hilfsnavi.php"); ?></div>
              
              <div id="hauptnavi"><?php include("scripts/navi.php"); ?></div>
      	
          </div>
              
          <div id="mitte">
      		<div id="content">
      			<img src="images/allgemeine/imagebild.jpg" border="0">
      			<div id="content-pos">
      				<h3>Herzlich Willkommen!</h3>
      				<div id="text">
                      <br>
                      Wir freuen uns &uuml;ber Ihren Besuch!<br />
                      <br />
                      Machen Sie sich auf den folgenden Seiten ein Bild von uns und unserer Leistungsf&auml;higkeit. Ganz besonders m&ouml;chten wir Sie zu einem Besuch unserer umfangreichen <a href="produkte.php">Produkt-Galerie</a> einladen.<br />
                      <br />
                      Wir w&uuml;nschen Ihnen viel Freude dabei und freuen uns schon jetzt darauf, Sie auch pers&ouml;nlich beraten zu d&uuml;rfen!				</div>
      			</div>
              </div>
                  
          	<div id="subnavigation"><?php include("scripts/subnavi.php"); ?></div>
      	</div>
      
      	<div id ="unten"></div>
      
      </div>
      </body>
      </html>
      

      Keine Ahnung, die Seite ist nicht von mir, demnächst wird dies Seite wohl sowieso neu erstellt.


      1. Warum XHTML 1 und nicht HTML5? Und warum ISO 8859-1 und nicht UTF-8? ↩︎

      1. @@Henry

        Du kannst nicht im ganzen Projekt nach dem betreffenden JavaScript-Quelltext suchen?

        Nein das kann ich nicht wußte garnicht das das geht. Wir funktioniert denn die Suche bezogen auf das ganze Projekt im Filezilla?

        Mit FileZilla alles runterladen. Dann im lokalen Dateisystem nach … suchen. Das sollte der Dateimanager deines Betriebssystems können.

        </div>
        </body>
        </html>
        

        Und zwischen </div> und </body> wird das JavaScript eingefügt. Es ist hieraus nicht erkennbar, wie das geschieht. Da muss noch ein serverseitiges Script drüberlaufen.

        LLAP 🖖

        --
        Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
        1. Mit FileZilla alles runterladen. Dann im lokalen Dateisystem nach … suchen. Das sollte der Dateimanager deines Betriebssystems können.

          Aktuell nutze ich "noch" Windows, im Windows Explorer finde ich hierfür keine Funktion?

          Und zwischen </div> und </body> wird das JavaScript eingefügt. Es ist hieraus nicht erkennbar, wie das geschieht. Da muss noch ein serverseitiges Script drüberlaufen.

          Und wie gehe ich vor um diese serverseitige Script aufzuspüren?

          1. Hallo Henty,

            Mit FileZilla alles runterladen. Dann im lokalen Dateisystem nach … suchen. Das sollte der Dateimanager deines Betriebssystems können.

            Aktuell nutze ich "noch" Windows, im Windows Explorer finde ich hierfür keine Funktion?

            also bei mir (Windows 7) ist im Explorer oben rechts ein Suchfeld.

            Gruß Jürgen

          2. Hallo Henry,

            Aktuell nutze ich "noch" Windows, im Windows Explorer finde ich hierfür keine Funktion?

            Ich habe manchmal den Eindruck, dass die windows-eigene Suchfunktion nicht immer nach den Wünschen des Benutzers arbeitet.

            Installiere dir zum Beipiel notepad++, dort gibt es die Funktion ‚in Dateien suchen‘, diese findet dann wirklich alle Vorkommen.

            Und wie gehe ich vor um diese serverseitige Script aufzuspüren?

            Du könntest nach der Zeichenfolge ‚google-analytics‘ suchen.

            Bis demnächst
            Matthias

            --
            Signaturen sind bloed (Steel) und Markdown ist mächtig.
            1. Installiere dir zum Beipiel notepad++, dort gibt es die Funktion ‚in Dateien suchen‘, diese findet dann wirklich alle Vorkommen.

              Und wie gehe ich vor um dieses serverseitige Script aufzuspüren?

              Du könntest nach der Zeichenfolge ‚google-analytics‘ suchen.

              Hab es so umgesetzt wie du es mir erklärt hast. Hat prima geklappt. Nachdem ich die genannten Code-Schnipsel in den Quellen entfernt habe habe ich die angepassten Dateien wieder auf den Server hochgeladen. Anschließend habe ich die Seite mit STRG+F5 neu geladen. Das Seltsame: Analytics ist noch immer Bestandteil des Quellcodes, obwohl ich den Code ja aus dem Quellcode entfernt habe. Um sicher zu gehen, dass ich keinen Fehler gemacht habe habe ich die Quellen erneut auf die lokale Platte heruntergeladen. Eine erneute Suche findet kein "Analytics" mehr, dass bedeutet ich habe den Code korrekt entfernt. Warum wird er mir im Quellcode aber noch immer angezeigt? Kannst das vielleicht darin liegen, dass die Seite irgendwo gecached ist?

              1. @@Henry

                Kannst das vielleicht darin liegen, dass die Seite irgendwo gecached ist?

                Ruf sie doch mal unter einem anderen URI auf. Auch die Adresse mit angehängtem Query ?foo ist ein anderer URI.

                LLAP 🖖

                --
                Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
                1. Ruf sie doch mal unter einem anderen URI auf. Auch die Adresse mit angehängtem Query ?foo ist ein anderer URI.

                  Hab ich gemacht, nützt auch nix.

                  Vom Kunden habe ich die ftp-Zugangsdaten bekommen.

                  Bin jetzt Spaßeshalber mal hergegangen und habe die index.php gelöscht, wenn mir der Kunde die richtigen FTP-Zugangsdaten gegeben hat, dann hätte die Seite ja nach dem Löschen der index.php eigentlich nichtmehr laden dürfen. Das erstaunliche, die Webseite lädt auch dem dem Löschen der index.php noch.

                  Ich vermute mal der Kunden hat mir die falschen FTP-Zugangsdaten gegeben...

                  Kann ich irgendwie clever prüfen, ob die FTP-Zugangsdaten zu der URL gehören?

                  1. Tach,

                    Bin jetzt Spaßeshalber mal hergegangen und habe die index.php gelöscht, wenn mir der Kunde die richtigen FTP-Zugangsdaten gegeben hat, dann hätte die Seite ja nach dem Löschen der index.php eigentlich nichtmehr laden dürfen. Das erstaunliche, die Webseite lädt auch dem dem Löschen der index.php noch.

                    Ich vermute mal der Kunden hat mir die falschen FTP-Zugangsdaten gegeben...

                    ich vermute mal, du hast eine Datei gelöscht, die außerhalb des Document Root liegt und ebenfalls index.php heißt.

                    mfg
                    Woodfighter

                    1. ich vermute mal, du hast eine Datei gelöscht, die außerhalb des Document Root liegt und ebenfalls index.php heißt.

                      Damit ich nicht für totale Verwirrung sorge sollte ich dazu sagen, dass es hier um eine anderes Projekt geht.

                      Bei diesem Projekt liegt zum einen eine index.php im Verzeichnis \ und zum anderen noch eine index.php im Verzeichnis \cms.

                      Beide habe ich gelöscht und trotzdem lädt die Seite noch, da scheint doch was faul zu sein.

                      Deshalb die Frage ob ich irgendwie herausfinden kann, ob der FTP-Zugang zur URL passt.

                      Der Kunde hat absolut keine Ahnung kann mir leider überhaupt nicht weiterhelfen. Der Programmierer der Seite ist leider nichtmehr erreichbar, wohl insolvent :-).

                      1. Tach,

                        Bei diesem Projekt liegt zum einen eine index.php im Verzeichnis \ und zum anderen noch eine index.php im Verzeichnis \cms.

                        / bitte, alle Systeme, die nicht ein Windows-Dateisystem sind, verwenden den Slash als Verzeichnistrenner nicht den Backslash.

                        Beide habe ich gelöscht und trotzdem lädt die Seite noch, da scheint doch was faul zu sein.

                        Benenne das Verzeichnis /cms/ testweise um, wenn außer diesem nichts weiter vorhanden ist und die Seite dann noch funktioniert, bist du am falschen Ort.

                        Deshalb die Frage ob ich irgendwie herausfinden kann, ob der FTP-Zugang zur URL passt.

                        Nein, es gibt Dinge, die Anhaltspunkte sein könnten (z.B. wenn der Hostname für FTP und HTTP gleich ist, aber selbst dann könntest du in unterschiedliche Verzeichnisse schauen), aber nichts, was eine Nicht-Verbindung beweisen könnte.

                        Der Kunde hat absolut keine Ahnung kann mir leider überhaupt nicht weiterhelfen. Der Programmierer der Seite ist leider nichtmehr erreichbar, wohl insolvent :-).

                        Dann bliebe noch der Hoster.

                        mfg
                        Woodfighter

                        1. Hallo,

                          Bei diesem Projekt liegt zum einen eine index.php im Verzeichnis \ und zum anderen noch eine index.php im Verzeichnis \cms.

                          / bitte, alle Systeme, die nicht ein Windows-Dateisystem sind, verwenden den Slash als Verzeichnistrenner nicht den Backslash.

                          und sogar Windows akzeptiert ihn seit Version 5 an vielen Stellen, auch wenn die Verwendung nicht unbedingt propagiert wird (z.B. weil das mit dem unter Windows üblichen Präfix für Switches und Parameter kollidieren kann).

                          So long,
                           Martin

                        2. Dann bliebe noch der Hoster.

                          Ich vermute du meinst per "whois" irgendwie auf den Hoster rückschließen?

                          Falls ja würde ich "whois" gerne über die Mint Shell (Bash) nutzen. Dann könnte ich mich gleich in die Linux Shell ein bißchen einarbeiten. Momenten hab ich auf dem einen Rechner Linux und auf dem anderen noch Windows. Möchte mittelfristig, wenn ich Linux besser behersche komplett auf Mint umsteigen. Kennst du diesbezüglich vielleicht eine gute Anleitung bezogen auf ubununtusers.de. Habe im Wiki leider nichts zu "whois" gefunden.

                          Würdest du mir empfehlen "whois" über die Shell zu nutzen oder denkst du eine Online-Anbeiter der "whois" Daten ermittelt wäre die bessere Wahl. Falls ja, was wäre ein guter Online-Anbieter für whois?

                          1. Tach,

                            Dann bliebe noch der Hoster.

                            Ich vermute du meinst per "whois" irgendwie auf den Hoster rückschließen?

                            nein, über die Rechnung, die der Kunde monatlich zahlt.

                            mfg
                            Woodfighter

                            1. nein, über die Rechnung, die der Kunde monatlich zahlt.

                              lol das hätte ich natürlich selbst drauf kommen können :-).

                              Kannst du mir die Fragen zu whois aus reinem Intresse von meiner Seite trotzdem beantworten?

                              whois besser über Shell oder besser über Webbrowser?

                              Gibt eine eine detaillierte Anleitung für whois direkt von ubuntuusers.de (finde da leider nix). Falls nein, vielleicht eine anderen Gute Anleitung zu den ganzen Netwerktools whois, nslookup usw.? Ich mein jetzt niht Wikipedia oder so sondern eine Praxisorientierte Anleitung?

                              1. Tach,

                                whois besser über Shell oder besser über Webbrowser?

                                das greift im Zweifelsfall beides auf die selben Datenbanken zu; wenn man nix spzeilles braucht, tut es auch ein Webdienst.

                                Gibt eine eine detaillierte Anleitung für whois direkt von ubuntuusers.de (finde da leider nix). Falls nein, vielleicht eine anderen Gute Anleitung zu den ganzen Netwerktools whois, nslookup usw.? Ich mein jetzt niht Wikipedia oder so sondern eine Praxisorientierte Anleitung?

                                „man whois“ bzw. „info whois“ und das gilt für alle Tools, meistens mit Beispielen; um ein (installiertes) Tool zu einem Stichwort zu finden, gibt es „apropos“.

                                mfg
                                Woodfighter

                          2. Hallo,

                            Würdest du mir empfehlen "whois" über die Shell zu nutzen

                            ja, soweit man auf diesem Weg sinnvolle Informationen bekommt. Das ist zumindest für de-Domains eigentlich immer der Fall, die DENIC gibt da anständig Auskunft.

                            Manche ausländischen oder internationalen NICs sind da aber etwas reservierter; erst kürzlich wollte ich Informationen über den Inhaber einer eu-Domain herausfinden, aber die Eingabe von "whois <domainname>" verriet mir nur, dass EURID die Daten ausschließlich über deren Webportal zur Verfügung stellt.

                            So long,
                             Martin

                        3. Beide habe ich gelöscht und trotzdem lädt die Seite noch, da scheint doch was faul zu sein.

                          Benenne das Verzeichnis /cms/ testweise um, wenn außer diesem nichts weiter vorhanden ist und die Seite dann noch funktioniert, bist du am falschen Ort.

                          Deshalb die Frage ob ich irgendwie herausfinden kann, ob der FTP-Zugang zur URL passt.

                          Nein, es gibt Dinge, die Anhaltspunkte sein könnten (z.B. wenn der Hostname für FTP und HTTP gleich ist, aber selbst dann könntest du in unterschiedliche Verzeichnisse schauen), aber nichts, was eine Nicht-Verbindung beweisen könnte.

                          Hallo,

                          um ehrlich zu sein bin ich jetzt komplett verwirrt. Ich will Euch erläutern warum:

                          • Um zu prüfen, ob ich nicht doch die richtigen FTP-Zugangsdaten habe bin ich hergegangen und habe alles Verzeichnisse auf dem FTP-Server umbenannt
                          • Anschließend habe ich die Seite per STRG+F5 neu geladen
                          • Das Resultat: die Seite wird nichtmehr geladen
                          • Das bedeutet ich habe doch die korrekten Zugangsdaten zum FTP-Server
                          • Nun dachte ich mir, dass vielleicht beim Upload der lokal geänderten Daten etwas schief gelaufen ist sprich das meine Änderungen nicht auf den Server übertragen wurden
                          • Aus diesem Grund habe ich die Quellen komplett neu runtergeladen und lokal mit Hilfe von Notepad++ alle Dateien und Verzeichnisse nach dem vorher lokal entfernen Element durchsucht
                          • Das Ergebnis: das gesuchte Element ist nichtmehr zu finden
                          • Das Bedeutet die Änderung wurde korrekt auf den Server übertragen
                          • Im Quellcode der Seite ist der Code den ich entfernt habe aber noch immer zu sehen
                          • Ich kann mir das nur so erklären, dass ich eine gecachte Variante im Browser geladen habe in der die Änderungen noch nicht drin sind
                          • STRG+F5 nützt nix
                          • Das Anhängen des Parameters /?foo auch nichts
                          • Kann es vielleicht sein das das Code-Fragment vielleicht von irgendwo anders reingeladen wird von einer externen Quelle oder das was mit dem Cache nicht stimmt.

                          Ich weiß hier wirklich nichtmehr weiter.

                          Hab keine Ahnung wie ich bei der Problemlösung weiter vorgehen soll?

                          1. Tach,

                            Hab keine Ahnung wie ich bei der Problemlösung weiter vorgehen soll?

                            Analytisch, das ist bei Problemen mit Computern fast immer zielführend; also z.B. keine Schlussfolgerungen ziehen, die sich nicht direkt aus den Beobachtungen ergeben und alle Annahmen überprüfen. Ob ein Cache auf deinem Rechner verantwortlich ist, kannst du sehen, indem du das Netzwerk-Tab in den Developer-Tools nutzt. Nach deiner Problembeschreibung gehe ich allerdings weiter davon aus, dass du die falschen Dateien editierst; taucht Text, den du einfügst, auf? Da das verschieben, die Seite ja erfolgreich kaputt machen kann, kannst du auch ein Verzeichnis nach dem nächsten umbenennen und dich so vortasten, wie der korrekte Pfad lautet.

                            mfg
                            Woodfighter

                            1. Hallo,

                              Hab keine Ahnung wie ich bei der Problemlösung weiter vorgehen soll?

                              warum setzt Henry hier ein Fragezeichen? Das ist eine Feststellung, keine Frage.

                              Ob ein Cache auf deinem Rechner verantwortlich ist, kannst du sehen, indem du das Netzwerk-Tab in den Developer-Tools nutzt.

                              Oder die gleiche Seite/Site mal mit einem anderen Browser bzw. von einem anderen Rechner aus lädst. Aber selbst wenn es kein lokales Cache-Problem ist, besteht immer noch die Möglichkeit, dass der Internet-Zugangsprovider einen transparenten Caching Proxy zwischenschaltet. Ich weiß, dass T-Online das früher gemacht hat (vielleicht heute noch), und gehe davon aus, dass der eine oder andere sonstige Provider das auch tut. Dagegen ist man in der Regel machtlos.

                              Nach deiner Problembeschreibung gehe ich allerdings weiter davon aus, dass du die falschen Dateien editierst; taucht Text, den du einfügst, auf? Da das verschieben, die Seite ja erfolgreich kaputt machen kann, kannst du auch ein Verzeichnis nach dem nächsten umbenennen und dich so vortasten, wie der korrekte Pfad lautet.

                              ACK. Und dann in diesem Verzeichnis Element für Element nach dem gleichen Prinzip weiter vortasten.

                              So long,
                               Martin

                            2. Ob ein Cache auf deinem Rechner verantwortlich ist, kannst du sehen, indem du das Netzwerk-Tab in den Developer-Tools nutzt.

                              Meinst du die Chrome Entwicklertools? Warum nicht stattdessen Firebug für Firefox?

                              1. Tach,

                                Ob ein Cache auf deinem Rechner verantwortlich ist, kannst du sehen, indem du das Netzwerk-Tab in den Developer-Tools nutzt.

                                Meinst du die Chrome Entwicklertools? Warum nicht stattdessen Firebug für Firefox?

                                nein, ich meine beliebige Developer Tools in einem beliebigen Browser; Firebug kann allerdings das, was du brauchst.

                                mfg
                                Woodfighter

                                1. Ob ein Cache auf deinem Rechner verantwortlich ist, kannst du sehen, indem du das Netzwerk-Tab in den Developer-Tools nutzt.

                                  Meinst du die Chrome Entwicklertools? Warum nicht stattdessen Firebug für Firefox?

                                  nein, ich meine beliebige Developer Tools in einem beliebigen Browser; Firebug kann allerdings das, was du brauchst.

                                  Hab das mal mit Fireburg getestet.

                                  Zunächst habe ich Fireburg gestartet, anschließend die Registerkarte „Netzwerk“ aufgerufen. Unterhalb der Registerkarte „Netzwerk“ habe ich noch den Browsercache deaktiviert.

                                  Dann die URL www.filippigmbh.de abgerufen.

                                  Anschließend habe ich mir den Quellcode angeschaut. Analytics ist nach wie vor Bestandteil des Codes obwohl ich Analytics Serverseitig entfernt habe und auch den Browsercache über Firebug deaktiviert habe.

                                  Im Verzeichnis / des Servers existieren 71 Dateien und 11 Verzeichnisse:

                                  Habe alles komplett runtergeladen und mit Notepad++ nach dem Stichwort "analytics" durchsucht. Keine Treffer. Dass heißt Serverseitig ist Analytics wie gewünscht entfernt.

                                  Hier mal die Verzeichnisse:

                                  • cms
                                  • conlib
                                  • contenido
                                  • css
                                  • docs
                                  • images
                                  • kontakt
                                  • neu
                                  • pdf
                                  • pear
                                  • scripts

                                  Unter den 71 Dateien in / befindet sich u.a. eine index.php. Außerdem befindet sich im Verzeichnis /cms noch eine zweite index.php. Hab beide mal in index1.php umbenannt, die Seite wird trotzdem noch einwandfrei geladen. Des Weiteren hab ich in beiden index.php mal den Text geändert. Diese Änderungen wirken sich beide nicht auf den Text auf der Startseite im Browser aus.

                                  Zusätzlich habe ich nach und nach alle Verzeichnisse dahingehend umbenannt indem ich eine 1 hintendran gehängt habe. /cms habe ich z.B. nach /cms1 umbenannt. Anschließend habe ich geprüft ob die Seite noch geladen wird. Das Ergebnis: Damit die Seite noch in Ihrer Gesamtheit geladen wird sind so gut wie alle Verzeichnisse notwendig.

                                  Der Analytics-Code auf dem Server ist definaitiv entfernt, sonst würde ich ja mit Notepad++ noch das Stichwort "analytics" finden. Der FTP-Zugang ist auch der richtige, da das Umbenennen der Verzeichnisse ja dafür sorgt, dass die Webseite nichtmehr geladen werden kann. Der Cache kann auch nicht das Problem sein, da ich diesen ja mit Fireburg deaktiviert habe.

                                  Jetzt fällt mir wirklch nichtmehr ein. Hast du noch eine Idee?

                                  Wird die Seite vielleicht irgendwo extern gecached. Auf einem Zwischenserver sozusagen bzw. kann ich das irgendwie herausfinden?

                                  1. Tach,

                                    Dann die URL www.filippigmbh.de abgerufen.

                                    was mir auffällt, ist dass alle Seiten in der Sitemap die Endung .html haben und du immer von PHP-Dateien sprichst. Ob http://www.filippigmbh.de/ auf /index.html /index.php oder /startseite.html verweist (oder noch woanders hin), kann ich ohne Zugriff auf die Serverkonfiguration nicht sehen; aber an deiner Stelle würde ich anfangen im Verzichnis zu suchen, dass startseite.html enthält, der Name ist vermutlich eindeutig. Der X-Powered-By-Header deutet allerdings darauf hin, dass das ganze durch den PHP-Parser gelaufen ist; vermutlich passiert also irgendwo Rewriting, gibt es eine Datei .htaccess (in deinem FTP-Client müssen versteckte Dateien angezeigt werden)?

                                    Habe alles komplett runtergeladen und mit Notepad++ nach dem Stichwort "analytics" durchsucht. Keine Treffer. Dass heißt Serverseitig ist Analytics wie gewünscht entfernt.

                                    Oder du/notepad++ macht beim suchen etwas falsch. Alternativ könnte der Text auch in keiner Datei auftauchen, weil er zum Beispiel aus einer Datenbank geladen wird.

                                    Hier mal die Verzeichnisse:

                                    • cms
                                    • conlib
                                    • contenido
                                    • css
                                    • docs
                                    • images
                                    • kontakt
                                    • neu
                                    • pdf
                                    • pear
                                    • scripts

                                    Da da kein Verzeichnis produkte ist (sofern das keine Umleitung via Serverkonfiguration ist), aber http://www.filippigmbh.de/produkte/wellbleche/wellbleche.html existiert, würde ich erwarten, dass FTP-Root und HTTP-Root nicht übereinstimmen, sofern es nicht wie oben geraten Rewriting ist.

                                    Wird die Seite vielleicht irgendwo extern gecached. Auf einem Zwischenserver sozusagen bzw. kann ich das irgendwie herausfinden?

                                    Nicht ohne jemanden zu fragen, der sich mit der Serverkonfiguration auskennt.

                                    mfg
                                    Woodfighter

                                    1. was mir auffällt, ist dass alle Seiten in der Sitemap die Endung .html haben und du immer von PHP-Dateien sprichst. Ob http://www.filippigmbh.de/ auf /index.html /index.php oder /startseite.html verweist (oder noch woanders hin), kann ich ohne Zugriff auf die Serverkonfiguration nicht sehen; aber an deiner Stelle würde ich anfangen im Verzichnis zu suchen, dass startseite.html enthält, der Name ist vermutlich eindeutig.

                                      Eine Datei "startseite.html" existiert nicht.

                                      Der X-Powered-By-Header deutet allerdings darauf hin, dass das ganze durch den PHP-Parser gelaufen ist; vermutlich passiert also irgendwo Rewriting

                                      Hier verstehe ich leider nur Bahnhof nie gehört vom dem du da redest. Kannst du das etwas genauer erklären?

                                      gibt es eine Datei .htaccess (in deinem FTP-Client müssen versteckte Dateien angezeigt werden)?

                                      Ja, sogar zwei einmal im Verzeichnis /webseiten und einmal im Verzeichnis /statistik.

                                      Hier der Inhalt vom Verzeichnis /webseiten:

                                      <IfModule mod_rewrite.c>
                                      RewriteEngine on
                                      
                                      # Specify a base URL-path for the rules
                                      # -------------------------------------
                                      RewriteBase /cms
                                      
                                      
                                      # Exclude some files and directories from rewriting
                                      # -------------------------------------------------
                                      RewriteRule ^usage/.*$ - [L]
                                      RewriteRule ^contenido/.*$ - [L]
                                      RewriteRule ^setup/.*$ - [L]
                                      RewriteRule ^webmail.*$ - [L]
                                      RewriteRule ^cms/upload/.*$ - [L]
                                      RewriteRule ^cms/front_content.php.*$ - [L] 
                                      RewriteRule ^cms/js/.*$ - [L]
                                      RewriteRule ^x-sender.php.*$ - [L] 
                                      
                                      # Catch some common exploits in query string to get rid of them
                                      # NOTE: Conditions to prevent protocolls (ftp, http[s]) in query string could be a
                                      #       disadvantage in some cases
                                      # --------------------------------------------------------------------------------
                                      RewriteCond %{QUERY_STRING} contenido_path=.*$  [NC,OR]
                                      RewriteCond %{QUERY_STRING} cfg\[path\]=.*$  [NC,OR]
                                      RewriteCond %{QUERY_STRING} _PHPLIB\[libdir\]=.*$  [NC,OR]
                                      RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
                                      RewriteCond %{QUERY_STRING} ftp://.*$  [NC,OR] 
                                      RewriteCond %{QUERY_STRING} http[s]*://.*$ [NC] 
                                      RewriteRule ^.* - [F,L]  # all matching conditions from above will end in nirvana
                                      
                                      
                                      # One RewriteRule to rule them all
                                      # --------------------------------
                                      RewriteRule !\.(js|ico|gif|jpg|jpeg|png|css|pdf|swf|flv|xml|mov)$ front_content.php [NC,QSA,L]
                                      </IfModule>
                                      

                                      Und hier der Inhalt vom Verzeichnis /statistik

                                      AuthName "domainfactory Statistiken"
                                      AuthType Basic
                                      require user 149105
                                      AuthPGAuthoritative On
                                      

                                      Oder du/notepad++ macht beim suchen etwas falsch.

                                      Bin mir ziemlich sicher das ich alles richtig mache, hab auch mit anderen Wörtern getestet die definitiv noch Bestandteil im Code sind, da findet Notpad++ problemlos alles.

                                      Alternativ könnte der Text auch in keiner Datei auftauchen, weil er zum Beispiel aus einer Datenbank geladen wird.

                                      Und wie kann ich herausfinden, ob der Text aus einer Datenbank geladen wird?

                                      Da da kein Verzeichnis produkte ist (sofern das keine Umleitung via Serverkonfiguration ist), aber http://www.filippigmbh.de/produkte/wellbleche/wellbleche.html existiert, würde ich erwarten, dass FTP-Root und HTTP-Root nicht übereinstimmen, sofern es nicht wie oben geraten Rewriting ist.

                                      Hab mir den Abschnitt dreimal durchgelesen verstehe trotzdem nicht so richtig was du meinst.

                                      Könntest du Dir vielleicht vorstellen mal selbst reinzuschauen wenn ich Dir die Zugangsdaten übermittel?

                                      1. Tach,

                                        Der X-Powered-By-Header deutet allerdings darauf hin, dass das ganze durch den PHP-Parser gelaufen ist; vermutlich passiert also irgendwo Rewriting

                                        Hier verstehe ich leider nur Bahnhof nie gehört vom dem du da redest. Kannst du das etwas genauer erklären?

                                        http://wiki.selfhtml.org/wiki/Referenz:HTTP/Header

                                        Hier der Inhalt vom Verzeichnis /webseiten:

                                        Das ist dann dein gesuchtes DocumentRoot.

                                        gekürzt aufs Wesentliche:

                                        RewriteEngine on
                                        RewriteBase /cms
                                        RewriteRule !\.(js|ico|gif|jpg|jpeg|png|css|pdf|swf|flv|xml|mov)$ front_content.php [NC,QSA,L]
                                        

                                        Alles was nicht auf die in der letzten Zeile genannten Endungen endet, ruft intern die Datei front_content.php im Verzeichnis /cms/ auf.

                                        Und wie kann ich herausfinden, ob der Text aus einer Datenbank geladen wird?

                                        Du kannst jetzt das PHP durcharbeiten und das das ganze cms heißt, wird es vermutlich eine Oberfläche geben, über die man Änderungen an den Texten und Templates vornehmen kann.

                                        Könntest du Dir vielleicht vorstellen mal selbst reinzuschauen wenn ich Dir die Zugangsdaten übermittel?

                                        Du möchtest mir nicht die Zugangsdaten für einen fremden Server geben.

                                        mfg
                                        Woodfighter

                                        1. und da das ganze cms heißt, wird es vermutlich eine Oberfläche geben, über die man Änderungen an den Texten und Templates vornehmen kann.

                                          Heißt das ich hätte den Analytics Code über die Oberfläche entfernen müssen, damit er wirklich weg ist?

                                          Wie kann ich denn herausfinden wie ich auf diese Oberfläche zugreifen kann?

                                          Könntest du Dir vielleicht vorstellen mal selbst reinzuschauen wenn ich Dir die Zugangsdaten übermittel?

                                          Du möchtest mir nicht die Zugangsdaten für einen fremden Server geben.

                                          Nur in Rücksprache mit dem Kunden natürlich.

                                          Ich bräuchte dann Deine Mail.

                                          Meine ist info@sem-united.org

                                          Würde mich sehr freuen wenn du Dich meldest.

                                          1. Tach,

                                            und da das ganze cms heißt, wird es vermutlich eine Oberfläche geben, über die man Änderungen an den Texten und Templates vornehmen kann.

                                            Heißt das ich hätte den Analytics Code über die Oberfläche entfernen müssen, damit er wirklich weg ist?

                                            Entweder da oder direkt in der Datenbank, aber ersteres ist vermutlich vorzuziehen.

                                            Wie kann ich denn herausfinden wie ich auf diese Oberfläche zugreifen kann?

                                            Schaue dir die PHP-Dateien im cms-Verzeichnis an; besorge dir die Zugangsdaten dafür oder für die Datenbank vom Kunden.

                                            Könntest du Dir vielleicht vorstellen mal selbst reinzuschauen wenn ich Dir die Zugangsdaten übermittel?

                                            Du möchtest mir nicht die Zugangsdaten für einen fremden Server geben.

                                            Würde mich sehr freuen wenn du Dich meldest.

                                            Ich mache keinen Individualsupport außerhalb vom Forum oder meinem Job.

                                            mfg
                                            Woodfighter

                                            1. Ich mache keinen Individualsupport außerhalb vom Forum oder meinem Job.

                                              Trotzdem danke für Deine bisherige Hilfe, muss dann halt schauen wie ich das selbst löse :-).

      2. Moin,

        Keine Ahnung, die Seite ist nicht von mir, demnächst wird dies Seite wohl sowieso neu erstellt.

        Deine Chance an diesem Chaos was zu verbessern! Idee: Jede Seite hat einen Platzhalter in welchem drinsteht, welche class diese Seite ausliefert. Ich mache das z.B. so, dass es im Responseheader steht, z.B.:

        x-class: MVC::HTMLTemplate
        

        Und da kann ich jederzeit nachgucken. Bei der genannten Klasse weiß ich, dass die Templates im Verzeichnis templates/ liegen. Ein neuer Kollege, der das nicht weiß, guckt in die Klasse, also Datei @INC/MVC/HTMLTemplate und sieht dort, dass ein Attribut $self->{TEMPLATEDIR} verwendet wird innerhalb derjenigen Interface-Methode welche für die Beschaffung des BODY-Templates zuständig ist. Da Attribute im Konstruktor definiert werden, würde der Kollege nun einen flüchtigen Blick in den Konstruktor werfen und dort feststellen, dass TEMPLATEDIR aus einer zentralen Konfigurationsdatei gelesen wird, die er dann schließlich ohne Umschweife findet.

        Bleibt noch die Frage, wo die Platzhalter ersetzt werden, da es in class MVC::HTMLTemplate keine weitere Interface-Methoden gibt, kann dafür nur ein hinzukonfiguriertes Interface zuständig sein, also Blick in die Konfiguration wo z.B. steht: interface=date

        Und in @INC/interface/date.pm sind die IF-Methoden wo gebraucht werden definiert. Ist eine IF-Methode definiert, wird sie ausgeführt und jede IF-Methode hat Zugriff auf sämtliche Platzhalter im ResponseObjekt {STASH}, die vor dem Ausliefern ins Template gerendert werden, falls der Template-Prozess nicht per Konfiguration unterdrückt werden soll.

        PS: Der Neue und die Konfigurationsdatei werden dicke Freunde, er wird nie wieder nach dieser Datei suchen. Da stehen alle Attrribute drin, wo fürs Ausliefern der Seite gebraucht werden, title, descr, class usw., ob gecached werden soll und ggf. der Name der Template-Datei.

        1. Moin!

          Da Attribute im Konstruktor definiert werden, würde der Kollege nun einen flüchtigen Blick in den Konstruktor werfen und dort feststellen, dass TEMPLATEDIR aus einer zentralen Konfigurationsdatei gelesen wird, die er dann schließlich ohne Umschweife findet.

          PS: Der Neue und die Konfigurationsdatei werden dicke Freunde, er wird nie wieder nach dieser Datei suchen. Da stehen alle Attrribute drin, wo fürs Ausliefern der Seite gebraucht werden, title, descr, class usw., ob gecached werden soll und ggf. der Name der Template-Datei.

          Uff. Habe ich Ironie-Tags oder etwas wie "x-class: MVC::IsSarkasmus" übersehen?

          Jörg Reinholz

          1. Hallo Jörg Reinholz,

            Uff. Habe ich Ironie-Tags oder etwas wie "x-class: MVC::IsSarkasmus" übersehen?

            Ne, ich denke nicht. Ich sehe es als Hinweis auf die Aussage des OP ‚Ich muss es ohnehin bald von Grund auf neu machen. [sinngem.]‘

            Bis demnächst
            Matthias

            --
            Signaturen sind bloed (Steel) und Markdown ist mächtig.
            1. Moin Matt.

              Uff. Habe ich Ironie-Tags oder etwas wie "x-class: MVC::IsSarkasmus" übersehen?

              Ne, ich denke nicht.

              Wie auch immer. Ich hätte die Aufgabe längst gelöst.

              Jörg Reinholz

  2. Moin!

    Per FTP kann ich auf die PHP-Dateien zugreifen.

    Hostmaster Domainfactory

    Also solltest Du auch einen ssh-Zugang haben. Die Datei (Wie Gunnar schon schrieb, vermutlich ein Template) findest Du mit ssh, also in einer Linux Shell, ganz einfach mit

    grep -R 'var gaJsHost' *
    

    Unter Windows kannst Du z.B. Putty verwenden um mit ssh eine Verbindung aufzubauen.

    Jörg Reinholz

    1. Moin!

      Per FTP kann ich auf die PHP-Dateien zugreifen.

      Hostmaster Domainfactory

      Also solltest Du auch einen ssh-Zugang haben. Die Datei (Wie Gunnar schon schrieb, vermutlich ein Template) findest Du mit ssh, also in einer Linux Shell, ganz einfach mit

      grep -R 'var gaJsHost' *
      

      Unter Windows kannst Du z.B. Putty verwenden um mit ssh eine Verbindung aufzubauen.

      Ich verstehe nicht was du mir sagen möchtest, was hat eine verschlüsselte Netzwerverbindung damit zu tun die Datei zu finden?

      1. Tach!

        Also solltest Du auch einen ssh-Zugang haben. Die Datei (Wie Gunnar schon schrieb, vermutlich ein Template) findest Du mit ssh, also in einer Linux Shell, ganz einfach mit

        Ich verstehe nicht was du mir sagen möchtest, was hat eine verschlüsselte Netzwerverbindung damit zu tun die Datei zu finden?

        Die Verschlüsslung ist dabei nebensächlich. Das wesentliche Merkmal ist die Shell, die du auf dem entfernten System bekommst. Da kannst du direkt Befehle absetzen, und bist nicht nur auf Dateitransfer wie bei FTP beschränkt.

        dedlfix.

      2. Ich verstehe nicht was du mir sagen möchtest, was hat eine verschlüsselte Netzwerverbindung damit zu tun die Datei zu finden?

        Da besteht offensichtlich ein Verständnisproblem:

        ssh: Dient dir dazu eine verschlüsselte Netzwerkverbindung zu deinem Server aufzubauen und auf dessen Kommandozeile/Shell zuzugreifen.

        Unix-Shell: Ist eine Benutzerschnittstelle, die es dir erlaubt Befehle auf einem Rechner auszuführen.

        grep: Ist ein Programm auf unixoiden Systemen, das u.a. zur Suche von Zeichenketten innerhalb von Dateien dient. Gesucht wird mittels Regular Expressions.

        *-R 'var gaJsHost' : Sind Parameter die du an grep übergiebst:

        • -R bedeutet, dass rekursiv gesucht werden soll. Also auch alle Unterverzeichnisse werden durchsucht.
        • 'var gaJsHost' ist der String nach dem gesucht wird. Dieser kommt in deiner zitierten Funktion vor und dürfte ein Merkmal sein, anhand du diesen Teil des Quellcodes wiederfinden kannst.
        • * bedeutet, dass alle Dateien untersucht werden. Du könntest beispielsweise mit *.php definieren, dass nur Dateien mit der Endung php untersucht werden.

        Ich hoffe das hilft dir weiter.

        lg mark