Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware
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: MODUL: PDFBill Next - PDF Rechnung/Lieferschein - Inklusive Mailversand

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    Wieso kommt man als eingeloggter Admin dann an die Dateien (außer via Skript) ? Das verhindert doch die .htaccess.
    *AUCH_EDIT* :-D Ah, du hast es bereits gemerkt. *END_EDIT*

    @hh040
    Um die Begrifflichkeiten mal geradezurücken:
    Das ist keine "gravierende Sicherheitslücke" und die hast du auch nicht gefunden, das ist bei diesem Modul seit langem klar.
    Es ist im Höchstfall ein Datenschutzproblem.

    Abgesehen davon, daß kdg dir ja eine Möglichkeit gegeben hat das Verzeichnis zu schützen, wie kommt ein Kunde an solch einen Link wie du ihn in deinem Beispiel geschrieben hast ?,
    denn, wie kgd geschrieben hat: "erhält der Kunde seine Rechnung ja per Mailanhang".

    Ich fände es allerdings auch besser wenn man den Verzeichnisnamen selbst frei wählen könnte (wie bereits das Admin-Verzeichnis in modified 2.0.X), dann wäre ein solcher Link auch nicht erratbar (was er mit frei benanntem Admin-Verzeichnis eigtl. auch schon nicht ist).
    Außerdem könnte man jede Rechnung in einen Unterordner namens z.B. /inv_12345/ speichern, wobei die Ziffern die interne customers_id wäre, die niemand von einem Anderen kennen kann. Zwar kann man auch da durch Ausprobieren was finden, mit einer selbstgewählten Vorsilbe allerdings ist das fast unmöglich (ich weiß, fast reicht im Extremfall nicht...).

    Das Verzeichnis so zu schützen, daß lediglich Admins daruf zugreifen können geht nicht so einfach mit PHP (zumindest nicht was Bilder, *.pdf, usw. betrifft), wohl jedoch via .htaccess. Bemühe mal die Suchmaschine deines Vertrauens und suche nach .htaccess .htpasswd.

    Mit PHP müsste man per .htaccess jeden Request auf das Verzeichnis zu einem PHP-File umleiten, welches z.B. prüft ob Admin und ob die Admin-Rechte vergeben sind und erst dann das File zur Verfügung stellt.

    Gruß,
    noRiddle

    Hetfield

    • modified Team
    • Beiträge: 937
    Hier eine Version mit geschütztem invoice-Ordner und Download der PDF-Dateien per readfile() in print_order_pdf.php / print_packingslip_pdf.php.

    Optional noch bei mir erhältlich: Die Kunden im Frontend können ebenfalls die Rechnung herunterladen in ihrem Kundenkonto.

    MfG Hetfield  8-)

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    ...oder so. :idea:
    Danke, Hetfield

    Gruß,
    noRiddle

    hh040

    • Frisch an Board
    • Beiträge: 68
    • Geschlecht:
    Wieso kommt man als eingeloggter Admin dann an die Dateien (außer via Skript) ? Das verhindert doch die .htaccess.
    *AUCH_EDIT* :-D Ah, du hast es bereits gemerkt. *END_EDIT*

    @hh040
    Um die Begrifflichkeiten mal geradezurücken:
    Das ist keine "gravierende Sicherheitslücke" und die hast du auch nicht gefunden, das ist bei diesem Modul seit langem klar.
    Es ist im Höchstfall ein Datenschutzproblem.

    Abgesehen davon, daß kdg dir ja eine Möglichkeit gegeben hat das Verzeichnis zu schützen, wie kommt ein Kunde an solch einen Link wie du ihn in deinem Beispiel geschrieben hast ?,
    denn, wie kgd geschrieben hat: "erhält der Kunde seine Rechnung ja per Mailanhang".

    Ich fände es allerdings auch besser wenn man den Verzeichnisnamen selbst frei wählen könnte (wie bereits das Admin-Verzeichnis in modified 2.0.X), dann wäre ein solcher Link auch nicht erratbar (was er mit frei benanntem Admin-Verzeichnis eigtl. auch schon nicht ist).
    Außerdem könnte man jede Rechnung in einen Unterordner namens z.B. /inv_12345/ speichern, wobei die Ziffern die interne customers_id wäre, die niemand von einem Anderen kennen kann. Zwar kann man auch da durch Ausprobieren was finden, mit einer selbstgewählten Vorsilbe allerdings ist das fast unmöglich (ich weiß, fast reicht im Extremfall nicht...).

    Das Verzeichnis so zu schützen, daß lediglich Admins daruf zugreifen können geht nicht so einfach mit PHP (zumindest nicht was Bilder, *.pdf, usw. betrifft), wohl jedoch via .htaccess. Bemühe mal die Suchmaschine deines Vertrauens und suche nach .htaccess .htpasswd.

    Mit PHP müsste man per .htaccess jeden Request auf das Verzeichnis zu einem PHP-File umleiten, welches z.B. prüft ob Admin und ob die Admin-Rechte vergeben sind und erst dann das File zur Verfügung stellt.

    Gruß,
    noRiddle

    Auch wenn es keine Sicherheitslücke ist ist es jedoch fatal.

    Es gibt diverse Webseiten im Internet mit denen man die Verzeichnisse einer Seite auflisten kann.

    hh040

    • Frisch an Board
    • Beiträge: 68
    • Geschlecht:
    Hier eine Version mit geschütztem invoice-Ordner und Download der PDF-Dateien per readfile() in print_order_pdf.php / print_packingslip_pdf.php.

    Optional noch bei mir erhältlich: Die Kunden im Frontend können ebenfalls die Rechnung herunterladen in ihrem Kundenkonto.

    MfG Hetfield  8-)
    Vielen Dank.
    Muss ich alle Dateien ersetzten?

    hh040

    • Frisch an Board
    • Beiträge: 68
    • Geschlecht:
    Super vielen Dank für die Erweiterung!

    Kann nun auch im Adminbereich auf die Rechnung sowie Lieferschein zugreifen!

    Wie kann ich die normale Bestellnummern sowie Rechnungsnummern löschen zurücksetzten? Danke.

    bige

    • Mitglied
    • Beiträge: 183
    Hallo,

    habe das Modul eingebunden, funktioniert soweit.
    Vielen Dank dafür.
    leider habe ich auch das leidige Thema Billpay.
    Bin die Hinweise hier durchgegangen bzgl. der Pfade.
    Habe den Pfad mal angepasst und bekomme den besagten Fehler.
    Der Pfad in meiner Version (vor einer Woche gezogen) scheint hier wohl aktuell zu sein.
    leider bekomme ich jedoch, und das nur bei BillPay, eine weisse Seite bei Klick auf Rechnung als PDF.
    Die Auswahl ob PDF verschicken oder drucken kommt schon gar nicht.
    Hat noch jemand dieses Problem bzw. weiß jemand woran das liegen könnte?
    Habe hier auch an verschiedenen Stellen versucht das Error Reporting einzuschalten, es wird aber nichts ausgegeben.
    Muss die Rechnung für die Funktion bei BillPay aktiviert sein?

    Viele Grüße
    Andi

    bige

    • Mitglied
    • Beiträge: 183
    Hallo,

    ich habe mich jetzt durchgewühlt von Datei zu Datei.
    Bin letztendlich in der Datei includes/external/billpay/utils/billpay_display_pdf_data.php gelandet

    Wenn ich dort diesen Block hier auskommentiere geht es
    Code: PHP  [Auswählen]
    if (get_class($this) === "pdfbill") {
                // Mastershop24
                $pdf = $this;
                $orderId = $pdf->orders_id;
            }

    Weiß hier jemand Rat? Ich glaube einfach weglassen ist wohl keine Option obwohl die Daten im PDF stimmen. Sowie ich das sehe wird hier die orderid gesetzt falls diese durch die PDF generiert wird.
    Bei uns ist die Orderid jedoch gleich der Bestellnummer, evt. ist weglassen dann hier doch eine Option.

    Als Nachtrag: Ich verwende Modified v2.0.3.0 rev 10907 dated: 2017-08-16 und habe die Modulversion 1.1.8d im Einsatz. Im Einsatz ist PHP 7

    Viele Grüße
    Andi

    bige

    • Mitglied
    • Beiträge: 183
    So Modul ist jetzt soweit einsatzbereit.
    Einen Bug habe ich allerdings noch.
    Wenn Order Total umbricht auf die zweite Zeile, sitzt der Schlußtext nicht mehr links sondern rechts und übernimmt anscheinend die Formatierung von Order Total.
    Weiß jemand wie ich hier das Layout wieder zurücksetze?
    habe schon leere Zells versucht und selbst pageBreak hilft nicht

    Viele Grüße
    Andi

    Dampfliquids

    • Neu im Forum
    • Beiträge: 37
    • Geschlecht:
    Hallo ,
    ich bin neu bei Modified und wollte mal fragen:
    1. ob dieses Modul auch in der neusten Shopversion 2.0.5.0 funtioniert ?
    2. Ist die Beschreibung noch aktuell?

    mila_superstar

    • Neu im Forum
    • Beiträge: 4
    • Geschlecht:
    @Dampfliquids
    Hallo,
    ich habe das Modul gerade in die neue Shopversion (2.0.5) eingebaut. Auf den ersten Blick funktioniert alles.

    Dampfliquids

    • Neu im Forum
    • Beiträge: 37
    • Geschlecht:
    Hallo , bei mir geht es nicht und zwar paar Sachen.
    Wenn ich auf Rechnung versenden drücke kommt einfach eine weiße Seite. Und bei Bestellungen wird keine Rechnungsmail versendet. Bei Checkout kommt auch eine Weiße Seite.  Ich würde mich echt freuen wenn mir jemand helfen könnte. Lg

    Shop: Modified 2.0.5.0 mit Bootstrap 4 Template von Karl.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    Wenn du eine weiße Seite bekommst gibt es so gut wie sicher Fehlermeldungen in den Log-Files (Ordner /log/).

    Gruß,
    noRiddle

    Dampfliquids

    • Neu im Forum
    • Beiträge: 37
    • Geschlecht:
    steht bei mir stehen wenn ich vom popupfenster auf versenden drücke. admin/print_order_pdf.php?oID=2019011&send=1

    log vom 7.1.20

    [2020-01-07 14:40:50]   [warning]   [modified]   [pid:7683]   constant(): Couldn't find constant MODULE_PDF_BILL_STATUS in File: meine daten/admin/includes/modules/system/pdfbill.php on Line: 20   {}   {}
    [2020-01-07 14:40:50]   [warning]   [modified]   [pid:7683]   Backtrace #0 - /meine daten/admin/module_export.php called at Line 222   {}   {}
    [2020-01-07 14:40:50]   [warning]   [modified]   [pid:7683]   Backtrace #1 - /meine daten/admin/module_export.php called at Line 352   {}   {}

    das auch : [2020-01-05 01:33:53]   [error]   [modified]   [pid:29205]   Unable to load template 'file:/www/meine datein/templates/bootstrap4/admin/mail/german/invoice_mail.html

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    Und was steht in der in der Datei in Zeile 20 ?
    Falls da das steht
    Code: PHP  [Auswählen]
    '.(@constant('MODULE_PDF_BILL_STATUS') && MODULE_PDF_BILL_STATUS == 'True'?'<br />':'').'

    mach' da mal das draus
    Code: PHP  [Auswählen]
    '.(defined('MODULE_PDF_BILL_STATUS') && MODULE_PDF_BILL_STATUS == 'True'?'<br />':'').'

    Gruß,
    noRiddle
    24 Antworten
    8665 Aufrufe
    22. Dezember 2020, 09:36:22 von karsta.de
    24 Antworten
    5189 Aufrufe
    18. November 2020, 21:02:35 von little-key
    3 Antworten
    4626 Aufrufe
    09. Oktober 2013, 15:33:09 von kaisa
               
    anything