1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Dateieigenschaften auf Server erfragen

Discussion in 'Sonstige Online-Themen' started by Eric March, Jan 30, 2013.

Thread Status:
Not open for further replies.
  1. Eric March

    Eric March CD-R 80

    Moin!

    Vielleicht auch mehr eine Frage für die Abteilung Programmieren?!

    Ich würde gerne von einer mir bekannten Datei auf dem Server erfahren wann sie geändert (zuletzt gespeichert) wurde.

    Hintergedanke ist automatisch so auf mögliche Manipulationen (zu Deutsch Hacker oder Maßnahmen des Hosters) aufmerksam zu werden.
    Einen persönlichen Blick mit FTP könnte man machen, aber ich hätte das gerne maschinell ermittelt.

    Dabei ginge ich durchaus so weit, etwa ein PHP-Skript anzustoßen und eine davon erstellte Datei Zwecks Auswerten runterzuladen - wenn denn eben das gute, alte DIR nicht per FTP-Rückgabe machbar ist.

    Was schlagt ihr mir an Lösungswegen vor?

    Eric March
     
  2. VB-Coder

    VB-Coder Megabyte

    PHP:
    <?php 
        $dateiname 
    "index.html";
        
    $sollzeit "30.01.2013 - 21:13:24";
        if (
    file_exists($dateiname)) {
            
    $aenderung date("d.m.Y - H:i:s"filemtime($dateiname));
            echo 
    'Die Datei $dateiname wurde zuletzt am ' .$aenderung' geaendert.<br />';
            echo 
    'Die Datei <b>' .$dateiname'</b> sollte zuletzt am ' .$sollzeit' geaendert worden sein.';
            if (
    $sollzeit <> $aenderung) {
                echo 
    '<b>ACHTUNG ! Die Datei wurde veraendert.</b>';
            } else {
                echo 
    '<b>Die Datei befindet sich im Originalzustand.</b>';
            }
        } else {
            echo 
    'Die Datei <b>' .$dateiname'</b> wurde nicht gefunden.';
        }
    ?>
    Habs jetzt mal auf die schnelle gecodet, ohne zu testen - sollte aber seinen Zweck (prüfen ob und wann eine Datei geändert wurde) erfüllen.
    Dann könnte man noch mit einer Downloadfunktion die Datei runterladen bei Bedarf.

    Hoffe das hilft dir weiter.

    Gruß VB-Coder
     
  3. VB-Coder

    VB-Coder Megabyte

    Edit funktioniert leider nicht mehr - deshalb leider der Doppelpost.


    Hier noch eine zweite Variante:

    md5.php
    PHP:
    <?php
    echo md5_file('index.html');
    ?>
    dateicheck.php
    PHP:
    <?php
    $sollmd5hash 
    "Hier den ermittelten Wert eintragen";
    $dateiname 'index.html';
    $istmd5hash md5_file($dateiname);

    if (
    $istmd5hash != $sollmd5hash) {
        echo 
    "Die Datei <b>" .$dateiname"</b> wurde ver&auml;ndert !";
    } else {
        echo 
    "Die Datei <b>" .$dateiname"</b> befindet sich im Originalzustand !";
    }
    ?>
    Du erstellst die Dateien.
    Dann rufst du die Datei md5.php auf. Diese gibt dir einen Wert aus.
    Diesen Wert kopierst du in die zweite Datei (dateicheck.php) an folgende Stelle:
    Code:
    $sollmd5hash = "Hier den ermittelten Wert eintragen";
    
    Zur Erklärung:

    Die Datei md5.php erstellt einen Hashwert aus der angegebenen Datei. In dem Beispiel also aus index.html . Dieser Hashwert ist so einmalig wie ein Fingerabdruck. Sobald nur das kleinste Bit in der betreffenden Datei verändert wird, führt das zu einem komplett anderen Hashwert. Daher eignet sich die Methode optimal um eine Datei auf Veränderungen zu überprüfen.
     
  4. Eric March

    Eric March CD-R 80

    Hi!

    Das nützt mir leider genau - nichts. :heul:
    :sorry:
    Ich benötige einfach nur das Datum+Zeit des Dateisystems des Servers (informativer als Hash, was ja nur Ja/Nein erlaubt; wäre mir also lieber) einer Datei XY die ich optimal über eine auf dem Server gemachte Angabe prüfen lasse.

    z.B.
    &#8226; FTP schickt Kontrolldatei A auf den Server. A enthält einen Namen (nicht mal Pfad wäre nötig).
    &#8226; Ein automatisches PHP-Script wird über einen Kommandozeilenaufruf eins Browser oder anderweitig ausgelöst.
    &#8226; Besagtes Script bedient sich Datei A (die durchaus auch längere Zeit unverändert bleibt) und schreibt in Datei B die gewünschten Informationen.
    &#8226; FTP holt B und ein Programm hier wertet B aus.

    All das soll bis auf den letzten Schritt vollautomatisch (per Scheduler gestartet) ablaufen - im Fall des Falles reicht auch eine Mail an den Zuständigen weil ein eine Prüfung um Mitternacht so oder so nicht erben wird ;)

    Keine Ahnung ob PHP einem Aufrufer sogar direkt etwas zurückgeben kann oder es doch in FTP Tricks gibt mehr als nur die Datei selbst abzufischen.
    Das muss nichts Tolles werden, einfach nur automatisch und möglichst so, dass ich vieles selbst machen kann (einfaches FTP, VBA oder VBS), damit komme ich schon mal weiter. Nur eben die entscheidende Info mit Datum/Zeit, die muss ich festnageln - und da weiß ich nicht wie das geht. :)

    Eric March
     
  5. kalweit

    kalweit Hüter der Glaskugel

    PHP ist auf dem Server überhaupt vorhanden und nutzbar?
     
  6. Eric March

    Eric March CD-R 80

    Klärchen :)

    E.M.
     
Thread Status:
Not open for further replies.

Share This Page