Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: ANLEITUNG: Logdatei im Backend anzeigen

    p3e

    • Experte
    • Beiträge: 2.396
    ANLEITUNG: Logdatei im Backend anzeigen
    am: 22. Dezember 2020, 13:02:25
    Manchmal will man nur kurz eine Logdatei einsehen, ohne die runterzuladen etc.
    Gerade wenn man was angepasst hat und die Logs eine Weile im Auge behalten will, ist das sinnvoll.
    Dazu habe ich im Backend unter Hilfsprogramme->Logfiles die Buttons "Löschen" und "Download" um den Button "Show" mit entsprechender Funktion erweitert.

    Folgende Änderungen sind dazu in der Datei "SHOP/DEIN_ADMINVERZEICHNIS/logs.php" notwendig:

    Suche nach:

    Code: PHP  [Auswählen]
            } else {
              $messageStack->add(ERROR_DOWNLOAD_LINK_NOT_ACCEPTABLE, 'error');
            }
            break;

    Füge danach ein:

    Code: PHP  [Auswählen]
                    // p3e bof 2020-12-22 Log-Show eingefügt
                    case 'show':
                            $logtext = 'Showing: ' . (DIR_FS_LOG . $_GET['file']);
                            $logtext .= '<br /><br />';
                            if (!file_exists(DIR_FS_LOG . $_GET['file'])) {
                                    $messageStack->add('File not available.', 'error');
                                    exit;
                             }
                             $readlog=fopen(DIR_FS_LOG . $_GET['file'],'r');
                             if(!$readlog) {
                                     $messageStack->add('File could not be opened.', 'error');
                                     exit;
                               }
                               while (!feof($readlog)) {
                                      $logrow=fgets($readlog);
                                      $logtext .= strip_tags($logrow);
                                      $logtext .= '<br />';
                                    }
                                    fclose($readlog);
                            break;
                    // p3e eof 2020-12-22 Log-Show eingefügt

    Suche nach:

    Code: PHP  [Auswählen]
                        if ($dir_ok) {

    Füge darüber ein:

    Code: PHP  [Auswählen]
                          echo $logtext; // p3e 2020-12-22 Log-Show eingefügt - Ausgabe

    Suche nach:

    Code: PHP  [Auswählen]
                          $contents[] = array('align' => 'center', 'text' => '<a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_LOGS, 'file=' . $buInfo->file . '&action=delete') . '">' . BUTTON_DELETE . '</a>'. '&nbsp;<a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_LOGS, 'file=' . $buInfo->file . '&action=download') . '">' . 'Download' . '</a><br/><br/>');

    und ersetze die Zeile mit:

    Code: PHP  [Auswählen]
                          // p3e bof 2020-12-22 Log-Show eingefügt
                          //$contents[] = array('align' => 'center', 'text' => '<a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_LOGS, 'file=' . $buInfo->file . '&action=delete') . '">' . BUTTON_DELETE . '</a>'. '&nbsp;<a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_LOGS, 'file=' . $buInfo->file . '&action=download') . '">' . 'Download' . '</a><br/><br/>');
                          $contents[] = array('align' => 'center', 'text' => '<a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_LOGS, 'file=' . $buInfo->file . '&action=delete') . '">' . BUTTON_DELETE . '</a>'. '&nbsp;<a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_LOGS, 'file=' . $buInfo->file . '&action=download') . '">' . 'Download' . '</a>'. '&nbsp;<a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_LOGS, 'file=' . $buInfo->file . '&action=show') . '">' . 'Show'.'</a><br/><br/>');
                          // p3e eof 2020-12-22 Log-Show eingefügt

    Wie immer keine Gewähr.
    Viel Spaß damit.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=41544.0

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #1 am: 16. Juli 2023, 10:32:15
    Lust auf update-sicher ?

    /admin/includes/extra/application_top/application_top_end/
    Code: PHP  [Auswählen]
    <?php
    /**  
     * show_logs_ate.php
     * /admin/includes/extra/application_top/application_top_end/
     *
     * © p3e, noRiddle
     */

    if(basename($PHP_SELF) == 'logs.php') {
      if(isset($_GET['action']) && $_GET['action'] == 'show') {
        $logtext = 'Showing: '.(DIR_FS_LOG.$_GET['file']);
        $logtext .= '<br /><br />';
        if(!file_exists(DIR_FS_LOG.$_GET['file'])) {
          $messageStack->add('File not available.', 'error');
          exit;
        }
        $readlog = file_get_contents(DIR_FS_LOG.$_GET['file']);
        $logtext .= nl2br(str_replace("\t", ' ', $readlog));
      }
    }
    ?>

    /admin/includes/extra/footer/
    Code: PHP  [Auswählen]
    <?php
    /**  
     * show_logs_f.php
     * /admin/includes/extra/footer/
     *
     * © p3e, noRiddle
     */

    if(basename($PHP_SELF) == 'logs.php' && isset($buInfo)) {
      echo ' <a id="show-log" class="button" onclick="this.blur();" href="'.xtc_href_link(FILENAME_LOGS, 'file='.$buInfo->file.'&action=show').'">'.'Show'.'</a>';
     
      if(isset($logtext) && $logtext != '') {
        echo '<pre id="log-txt" style="clear:left; padding:15px 0 8px;">'.$logtext.'</pre>';
      }
    }
    ?>
    <script>
    $(function() {
      let butt_cont = $('.contentTable td.infoBoxContent'),
          $show_log = $('#show-log');
      $show_log.appendTo(butt_cont);

      $('#log-txt').insertBefore('.tableCenter');
    });
    </script>

    Gruß,
    noRiddle

    Timm

    • Fördermitglied
    • Beiträge: 6.165
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #2 am: 16. Juli 2023, 10:44:33
    Moin

    Danke @noRiddle.

    Ich möchte nur auf den Kommentar von @gtb in Ticket #2534 hinweisen, dass dadurch eventuell vorhandener Schadcode in den logfiles ausgeführt werden könnte.

    Gruß Timm

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #3 am: 16. Juli 2023, 11:15:14
    Mmh, das müsste GTB mir erstmal erklären. Diese typischen GTB-Kurz-Statements beeindrucken mich nicht.
    Wenn man in Log-Files Code einschleusen kann ist ohnehin alles zu spät.
    Da könnte man ja auch bösen Code für PCs einschleusen und wenn du dir das Log-File auf deinem Rechner anschaust macht's Peng.

    Man kann sich ja das
    Code: PHP  [Auswählen]
    $logtext .= nl2br(str_replace("\t", ' ', $readlog));

    noch so ändern
    Code: PHP  [Auswählen]
    $logtext .= (string)nl2br(str_replace("\t", ' ', $readlog));

    womit die Ausgabe definitiv einen String ergibt der keinen Code ausführen kann.

    Gruß,
    noRiddle

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.225
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #4 am: 16. Juli 2023, 13:25:14
    Lieber Oli,

    #off topic Anfang
    geht dir dein ständiges Querschiessen und Urteilen über meine Beiträge nicht auf den Zeiger ?

    Woher kennst du das aus deinem Leben, dass dich das so triggert ?
    #off topic Ende

    Für mich reicht es, dass die komplette URL in den Logfiles steht um es als Risiko einzustufen. Ja, das kann man alles abfangen.

    Wer es benötigt hat ja hier ein Modul. Im Core sehe ich es nicht.

    Gruß Gerhard

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #5 am: 16. Juli 2023, 15:35:51
    #off topic Anfang
    Geht dir nicht auf den Zeiger, daß du Leuten oft einen Satz vor den Latz knallst, ohne Begründung, oder man an Bemerkungen offensichtlich sieht, daß du die Ausführungen auf die du reagierst nicht gelesen oder verstanden hast ?
    Und verstehst du nicht, daß man das vielleicht mit Unbedarften (würde ich auch da nicht tun) und Nichtwissenden machen kann, aber nicht mit Leuten die sich hier einsetzen und mehrfach bewiesen haben, daß sie wissen wovon sie reden ?,
    die sich Arbeit gemacht haben um Dinge und Zusammenhänge im Shop-System zu analysieren und sich Arbeit machen das sehr genau darzulegen ?

    Im Übrigen: Was meine Bemerkung(en) mit "Querschießen" zu tun hat/haben entgeht mir gänzlich.

    Auch hier wieder:
    Dir reicht es, "dass die komplette URL in den Logfiles steht um es als Risiko einzustufen". Aah ja.
    Was soll das heißen, seit wann ist das Anzeigen einer URL ein Risiko ?, es sei denn es würde öffentlich sein, was es ja im vorliegenden Fall nicht ist.
    Wenn man denkt man hat genug zu tun und will sich nicht explizit ausdrücken und will nicht mehr schreiben, denn das macht ja Arbeit, bitte. Wie man denken kann so sinnvoll und konstruktiv Probleme zu lösen ist mir ein Rätsel.
    Wenn man dabei aber auch noch über sich selbst hoch und über andere niedrig denkt
    - wenn dem nicht so wäre würde man dem anderen ja Ehre geben, indem man auf alles genau eingeht -
    dann ist das besorgniseregend was den eigenen Charakter betrifft.

    My last commant dazu.
    #off topic Ende

    noRiddle

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.225
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #6 am: 16. Juli 2023, 16:38:43
    Ich nehme dein Statement zur Kenntnis. Was anderes habe ich nicht erwartet.

    In der URL könnte zB ein JS Schadcode sein der ausgeführt werden könnte. Wie ich und du schon geschrieben haben, lässt sich das abfangen aber besser ist es, so eine Funktion erst gar nicht einzubauen.

    Wenn ich ein Modul einbaue oder Änderungen vornehme die Logrelevant sind, dann bin ich sowieso auf dem FTP, dann kann ich mir die Logfiles auch direkt dort anschauen. Mir erschließt sich einfach kein Mehrwert von diesem Modul. Deshalb auch ein Nein zum SVN.

    Das ist auch keine Wertung, dass das Modul schlecht ist. Vielleicht ist es für den ein oder anderen ja einfacher die Logfiles damit zu handeln.

    Gruß Gerhard

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #7 am: 16. Juli 2023, 22:18:55
    Ich habe den Eindruck du denkst ich wäre sauer wenn man was nicht in den Core aufnimmt was ich vorgeschlagen oder angesprochen habe (und hier war es ja nicht mal ich sondern Timm). So kling es zumindest.
    Dem ist mitnichten so, gerade das hier vorliegende interessiert mich nur am Rande.
    Mir kann man nur mit Logik, und zwar begründeter Logik kommen und nicht mit Abwimmel-Sprüchen.
    Ich mag diese schnippischen Statements nicht die nichts erklären sondern klingen wie.., ach ich wiederhole mich.

    Schwamm drüber. Wir müssen nicht miteinander kommunizieren und ich möchte es, wie ich bereits schon einmal sagte, auch nicht mehr.
    Und damit, period

    noRiddle

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #8 am: 17. Juli 2023, 13:34:28
    Übrigens, damit die eigentliche Sache nicht zu kurz kommt (für Mitleser):
    • stehen keine URLs in den Logs sondern Server-Pfade
    • ist das Argument mit den URLs offensichtlich konstruiert, denn, konnte jemand in die Log-Files etwas einschleusen, kann er sowieso alles einschleusen, da braucht er keine URLs die es da schon geben soll

    Gruß,
    noRiddle

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.225
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #9 am: 17. Juli 2023, 14:41:54
    Code: PHP  [Auswählen]
    [2023-07-17 01:40:00]   [warning]       [modified]      [pid:1766480]   WARNING found for URL: /Testkategorie-1.html?filter%5B3%5D=63 {}        {}
    [2023-07-17 01:40:00]   [warning]       [modified]      [pid:1766480]   in_array() expects parameter 2 to be array, string given in File: /home/includes/modules/listing_filter.php on Line: 110        {}      {}
    [2023-07-17 01:40:00]   [warning]       [modified]      [pid:1766480]   Backtrace #0 - /home/includes/modules/product_listing.php called at Line 170    {}      {}
    [2023-07-17 01:40:00]   [warning]       [modified]      [pid:1766480]   Backtrace #1 - /home/includes/modules/default.php called at Line 347    {}      {}
    [2023-07-17 01:40:00]   [warning]       [modified]      [pid:1766480]   Backtrace #2 - /home/index.php called at Line 32        {}      {}
     

    1. Zeile lesen

    Gruss Gerhard

    Rocket3

    • Mitglied
    • Beiträge: 186
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #10 am: 31. Juli 2023, 17:56:07
    Hallo Gerhard
    Zitat
    #off topic Anfang
    geht dir dein ständiges Querschiessen und Urteilen über meine Beiträge nicht auf den Zeiger ?

    Woher kennst du das aus deinem Leben, dass dich das so triggert ?
    #off topic Ende
    Finde ich super dass endlich mal einer dem noRiddle mal die Meinung sagt.
    Es macht den Anschein als ob er nur antwortet um den Leuten zu zeigen was man verkehrt gemacht haben und nicht um den Leuten zu helfen so wie die meisten Mitglieder wie z.B. Heinzpeter, Karl, awids und andere, die den Leuten, besonders den Anfängern gerne und professionell helfen und zusätzlich alles verständlich erklären.
    Wegen ihm (noRieddle) wollen manche sogar ihr Account löschen lassen (designbude), und viele, mich eingeschlossen, stellen gar keine Fragen oder melden keine Fehler mehr im Forum weil man seine Kommentare nicht mehr haben möchte.

    Ich kann nicht programmieren und tue mir schwer mit dem Shop, aber verzichte auf die Hilfe von jemandem der sich selbst "Meine Wenigkeit" bezeichnet.
    Man kann guter programmiere sein, aber muss man dass jedem erst auf die Nase binden, bevor man eine hilfreiche Antwort schreibt?
    Sorry noRiddle aber das musste mal raus, wenn du dir dein Posts anschauen würdest, würdest du in mindestens 50% deiner Antworten erst eine, sagen wir mal Rüge oder Belehrung sehen bevor die gestellte Frage beantwortet wird.
    Du bist zwar sehr kompetent und kennst dich gut mit der Materie aus, aber deine Art ist unmöglich.

    Gruß
    Rocket 3

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.225
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #11 am: 31. Juli 2023, 20:44:00
    Hey Rocket,

    Bitte frag einfach, wenn du Fragen hast.
    NoRiddle hilft hier durchaus. Er leistet hier auch Support und trägt zur Software mit Modulen und Tickets bei. Du darfst hier nicht vergessen, dass wir in unserer Freizeit kostenlosen Support leisten.

    Ich bin halt eine gern angeprangerte Person, weil ich keine Romane schreibe und kurze Antworten gebe. Für mache reicht es für andere wieder nicht. Es mag manchmal auch von oben herab klingen, ist aber nie so gemeint. Vielleicht kann ich mich manchmal einfach nur schlecht ausdrücken.

    Wie auch immer, lass dich nicht abhalten Fragen zu stellen. Was möglich ist, wird auch beantwortet.

    Gruß Gerhard

    Rocket3

    • Mitglied
    • Beiträge: 186
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #12 am: 01. August 2023, 19:33:39
    Hallo Gerhard,

    ich weis das er sich viel einsetzt und Hilfestellung gibt, dass spreche ich ihm gar nicht ab, er hat mir auch schon mal geholfen, aber seine Art ist, gelinde gesagt, schon etwas komisch.

    Wie auch immer, danke für deine Antwort und dein Angebot.

     Gruß
    Rocket 3

    Tante Uschi

    • Fördermitglied
    • Beiträge: 279
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #13 am: 07. August 2023, 23:41:52
    Das ist nicht gut:

    "Ich werd' sonst gedisst"

    Darum frag ich mal ganz blöd, noRiddle, wat sachste denn dazu, nee mir steht das gar nicht zu, da was dazu zu sagen, ich finde es nur äusserst seltsam, dass sich Menschen über jemanden anderen in einem Forum unterhalten und der kann und wird das auch lesen (gelesen haben). Ich meine, wenn dann sprech ich doch die Person selber an und sage noRiddle so geht dat nich mach ma halblang, oder so ähnlich, aber sich ÜBER jemanden zu unterhalten als wäre er nicht da, DER DAS LESEN KANN, das verwirrt mich.

    Nu ja, ich halts da wie die Werbung:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Was soll denn werden wenn die KI vollends Fuss fasst, wollt ihr dann auch über sie im Forum öffentlich labern?

    Also noRiddle, sach ma wat dazu.

    LG

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: ANLEITUNG: Logdatei im Backend anzeigen
    Antwort #14 am: 07. August 2023, 23:55:55
    Ich könnte mit einem abgegriffenen intellektuell anmutenden Spruch aufwarten à la "tangiert mich nur peripher",
    aber besser ist das:
     :popcorn:

     (zumal ich überhaupt nicht weiß was ich der "Rakete" getan haben soll, will ich aber auch nicht wissen)

    Gruß,
    noRiddle
    11 Antworten
    7606 Aufrufe
    28. Oktober 2015, 23:47:41 von 0815
    0 Antworten
    1814 Aufrufe
    06. Dezember 2012, 13:16:43 von tigerdeutschland
    3 Antworten
    2871 Aufrufe
    25. März 2011, 09:59:40 von Tomcraft
    0 Antworten
    1922 Aufrufe
    09. Oktober 2011, 02:34:36 von Martin79
               
    anything