ESD Artikel lassen sich ohne Login downloaden

ESD Artikel lassen sich auch ohne Login und ohne Berechtigung downloaden, wenn man den Namen des Verzeichnisses kennt. Angeblich soll der Download-Ordner (ESD-Key) ja auch htaccess-geschützt sein. Ich kann aber dort auch keine htaccess-Datei finden.

Guten Morgen, habe auch diese Problematik :shock: Hoffentlich weiss wer Abhilfe.

Sodale, ich habe den Bereich jetzt zusätzlich Passwortgeschütz. Mit einer .htaccess und einer .htpasswd .htaccess AuthType Basic AuthName "Passwortgeschützter Bereich" AuthUserFile /htdocs/files/OrdnerName/.htpasswd .htpasswd benutzer:passwort Wäre schön wenn Shopware hier eine elegantere Lösung finden würde. Liebe Grüße Michael

Wenn ich das richtig verstehe, wird bei der Lösung aber dann nicht überprüft, ob der Anwender die Berechtigung hat, die Datei herunterzuladen. Er benötigt nur einen Account und kann sich dann mit diesem Zugriff auf alle Dateien in dem Verzeichnis verschaffen?

Ein weiteres Problem im Zusammenhang mit ESD-Artikeln: ESD-Artikel werden auch in den verfügbaren Downloads (im Kunden-Account) aufgeführt, wenn z.B. die Zahlung (über Paypal) scheitert oder Vorkasse als Zahlungsart zur Verfügung steht und ausgewählt wird, die Zahlung aber noch gar nicht erfolgt ist. Normalerweise sollte der Zugriff auf die Datei doch erst möglich sein, wenn die Zahlung erfolgt ist. Physikalische Artikel werden ja bei Vorkasse auch erst versendet, wenn die Zahlung eingegangen ist. Schade, aber für einen Shop mit digitalen Gütern scheint Shopware überhaupt nicht geeignet zu sein, wenn es als so modernes und innovatives Shopsystem nichtmals die Grundfunktionen für einen solchen Download-Shop erfüllt. Von anderen wichtigen Funktionen, die bei den meisten anderen Systemen Basis sind (z.B. Limitierung der Anzahl der Downloads, Limitierung der zeitlichen Verfügbarkeit, …). Schade, denn damit scheint sich Shopware auch für ein geplantes, relativ großes Projekt zu disqualifizieren. Aufgrund der vielen anderen Vorteile war die Entscheidung für Shopware eigentlich schon so gut wie gefallen. Oder besteht die Chance, dass man die o.g. Probleme in den Griff bekommt und weitere, eigentlich essentielle Features kurzfristig integriert?

Guten Morgen, könnt ihr mir konkrete Beispiele geben wie es unberechtigterweise möglich ist Dateien zu laden, außer die die man gekauft hat? Uns ist natürlich auch sehr daran gelegen solche Dinge schnell zu klären. Kannst mir auch gerne eine PM schicken. Wichtig, dass ihr die aktuelle Version nutzt. Der RC zur 4.0.7 ist hier zu finden: http://wiki.shopware.de/_detail_1082.html Mit Shopware 4.2 soll es einige neue Funktionen für ESD Artikel geben. Gruß Patrick

1 „Gefällt mir“

Guten Morgen Herr Schücker, ich habe keine RC4.0.7 installiert, werde das auch erst tun wenn die Release freigegeben ist. Beispiel 1: Kunde bestellt einen Downloadartikel und zahlt mit Vorkasse Dann kann der Kunde obwohl er noch gar nicht gezahlt hat in “Mein Konto” den Download sofort starten Beispiel 2: Kunde bestellt einen Downloadartikel und zahlt mit Paypal Wenn Zahlung aus welchen Gründen nicht funktioniert - siehe Beispiel 1 Beispiel 3: Ein Kunde bezahlt, alles OK. Aber der Downloadlink steht dem Kunden dann immer zur Verfügung und kann somit anderen Leuten diesen Link zur Verfügung stellen. Zusätzlich könnte er probieren wenn er andere Produktnamen im Downloadlink probiert auch andere Artikeln downzuloaden. Es wäre toll wenn die angedachten Änderungen als “Bugfix” in absehbarer Zeit kommen würden, denn die Version 4.2 wird sicher erst mit Ende 2013 kommen. Liebe Grüße Michael

Hallo Michael, Beispiel 1: Stimmt. Daher ist Vorkasse auch im Standard nicht für ESD freigegeben. Beispiel 2: Ist denkbar. Ich werde mir dieses Verhalten mal anschauen. Beispiel 3: Ist in RC 4.0.7 gefixt. Dieser Fix wird natürlich auch in der finalen 4.0.7 vorhanden sein. Gruß Patrick

Hallo Patrick, Vorkasse ist im Standard freigegeben. Liebe Grüße Michael

Hi, also bei Vorkasse ist kein Haken bei “Aktiv für ESD-Produkte” gesetzt. Erst wenn dieses Feld aktiv ist, können ESD Produkte mit Vorkasse bezahlt werden. Dies sollte natürlich nicht aktiviert werden. Auch direkt nach einer Shopware Installation ist dies nicht aktiv. Gruß Patrick

Hallo, also wenn das Feld schon da ist, naja… aber ist halt so. Liebe Grüße Michael P.S.: wäre trotzdem toll wenn man Shopware 4 auch für ESD Downloads verwenden könnte (so wie es gehört), denn Shopware ist ein tolles Produkt!

Hi, klar…Shopware ist halt gut :wink: Probiere doch mal in einer Testinstallation die RC 4.0.7 Kannst du mir noch ein paar Infos zum Paypal Abbruch geben? Wann genau ist das Problem bei dir aufgetreten? Gruß Patrick

Hello, siehe auch Beitrag von mediaproject: Ein weiteres Problem im Zusammenhang mit ESD-Artikeln: ESD-Artikel werden auch in den verfügbaren Downloads (im Kunden-Account) aufgeführt, wenn z.B. die Zahlung (über Paypal) scheitert oder Vorkasse als Zahlungsart zur Verfügung steht und ausgewählt wird, die Zahlung aber noch gar nicht erfolgt ist. Normalerweise sollte der Zugriff auf die Datei doch erst möglich sein, wenn die Zahlung erfolgt ist. Physikalische Artikel werden ja bei Vorkasse auch erst versendet, wenn die Zahlung eingegangen ist. Schade, aber für einen Shop mit digitalen Gütern scheint Shopware überhaupt nicht geeignet zu sein, wenn es als so modernes und innovatives Shopsystem nichtmals die Grundfunktionen für einen solchen Download-Shop erfüllt. Von anderen wichtigen Funktionen, die bei den meisten anderen Systemen Basis sind (z.B. Limitierung der Anzahl der Downloads, Limitierung der zeitlichen Verfügbarkeit, ...). Schade, denn damit scheint sich Shopware auch für ein geplantes, relativ großes Projekt zu disqualifizieren. Aufgrund der vielen anderen Vorteile war die Entscheidung für Shopware eigentlich schon so gut wie gefallen. Oder besteht die Chance, dass man die o.g. Probleme in den Griff bekommt und weitere, eigentlich essentielle Features kurzfristig integriert? Ich warte auf die Final 4.0.7, wird denke ich bald kommen.

1 „Gefällt mir“

Das Problem haben wir auch. Nicht jeder möchte mit Paypal zahlen und deshalb sollte es mit anderen Zahlungsarten auch gehen. Ich habe mir ersteinmal damit beholfen einen dreckigen „Hack“ im Core zu machen: Version: 4.0.7 CE Datei: /engine/Shopware/Controllers/Frontend/Account.php Zeile: 607 $sql = ' SELECT file, articleID FROM s\_articles\_esd ae, s\_order\_esd oe WHERE ae.id=oe.esdID AND oe.userID=? AND oe.orderdetailsID=? '; $download = Shopware()-\>Db()-\>fetchRow($sql, array(Shopware()-\>Session()-\>sUserId, $esdID)); if(empty($download)) { $sql = ' SELECT e.file, ad.articleID FROM s\_articles\_esd e, s\_order\_details od, s\_articles\_details ad, s\_order o WHERE e.articledetailsID=ad.id AND ad.ordernumber=od.articleordernumber AND o.id=od.orderID AND o.userID=? AND od.id=? '; $download = Shopware()-\>Db()-\>fetchRow($sql, array(Shopware()-\>Session()-\>sUserId, $esdID)); } das habe ich erstmal geändert in:/\* $sql = ' SELECT file, articleID FROM s\_articles\_esd ae, s\_order\_esd oe WHERE ae.id=oe.esdID AND oe.userID=? AND oe.orderdetailsID=? '; $download = Shopware()-\>Db()-\>fetchRow($sql, array(Shopware()-\>Session()-\>sUserId, $esdID)); \*/ $download =''; if(empty($download)) { $sql = ' SELECT e.file, ad.articleID FROM s\_articles\_esd e, s\_order\_details od, s\_articles\_details ad, s\_order o WHERE e.articledetailsID=ad.id AND ad.ordernumber=od.articleordernumber AND o.id=od.orderID AND o.userID=? AND od.id=? AND o.cleared=? '; $download = Shopware()-\>Db()-\>fetchRow($sql, array(Shopware()-\>Session()-\>sUserId, $esdID, 12)); } Somit kann man zwar den Download Button anklicken, bekommt nur dann die Meldung, dass der Download nicht zur Verfügung steht. Nur wenn der cleared Status = 12 ist, dann klappt der Download. Die 12 steht für Komplett bezahlt. Wenn jemand mit PayPal zahlt wird sofort auf diesen Status gesetzt. Ansonsten muss man das händisch machen, genau das was ich wollte. Ich denke das geht so in Ordnung, allerdings bin ich kein Fachmann für den Shop.

1 „Gefällt mir“

Hallo Patrick, gibt es Neuigkeiten zu Beispiel 2: Ist denkbar. Ich werde mir dieses Verhalten mal anschauen. Hatte heute einen identischen Fall (Lastschrift über Skrill gescheitert), trotzdem Bestätigung, Rechnung, AGB, Download raus…offensichtlich keinerlei Verlinkung über erfolgreiche/gescheiterte Zahlungen Shopware/Zahlungsanbieter). Ich sehe die Sache höchst kritisch. Streng genommen kann auf diese Weise als GAU das gesamte Portfolio kostenfrei heruntergeladen werden. Bitte daher um kurzfristige Lösung mit absoluter TOP-Prio. Man sollte alles daran setzen, das Problem zu beheben, bevor die Schwachstelle auf Kundenseite die Runde macht…

Hallo Patrick, …und der nächste doppelte Auftrag. Lt. Auskunft des Kunden ist die erste Zahlung (diesmal PayPal) gescheitert. Trotzdem ging die Bestellung hier doppelt ein. Ich habe nun vorerst alle Sofortdownload Optionen herausgenommen. Der Anteil der auf Anhieb erfolgreichen Zahlungen liegt bei mir im Moment bei maximal 30%. Wie bereits beschrieben wird die Ware (Download) trotzdem immer freigegeben. Welche Maßnahmen sind bzgl. eines stabilen Zahlungsprozesses durchzuführen? Wie kann die pauschale Downloadfreigabe seitens Shopware im Falle nicht erfolgreicher Zahlungen gestoppt werden?

Noch ein Zusatz, den ich vergessen hatte: in manchen Fällen läuft die Bestellung so ab, dass nach der Bestätigung „Zahlungspflichtig bestellen“ nicht einmal eine Weiterleitung zum Payment-Anbieter erfolgt und der Kunde direkt zum Download gelangt (immer dann wenn die Bestellung als Gast durchgeführt wird). Nun habe ich es selbst getestet und in einigen Fällen muss ich das leider bestätigen. Grüße, M. Mohr

Ich habe den hier beschriebenen Effekt auch. Und zwar bei der Bezahlung über PayPal: (Ich denke, dass es egal ist, bei welcher Bezahlmethode; entscheidend ist bei diesem Effekt, dass der „Käufer“ den Bezahlvorgang genau an der Schnittstelle zum Bezahl-Dienst abrupt abgebrochen hat. Da entstehen wohl Daten, die nicht gecachet sein dürfen, aber von ShopWare dennoch gecachet sind.) Der Prozess: Der „Käufer“ loggt sich ein, geht mit den Warenkorb an die Kasse, wird an die PayPal-Anbindung zur Bezahlung weiter-geleitet, überlegt es sich dann aber und bricht den Kaufvorgang ab. Wenn er wieder in seinen Account meines Download-Shops zurückgeht, kann er unter „Meine Downloads“ den gerade eben nicht gekauften Artikel trotzdem bequem öffnen und downloaden. Da es bereits einige User mit ESD-Problemen hier gibt, die das Problem ausführlich und glaubwürdig beschreiben, wäre es schön, wenn sich ShoppWare dieses Bugs annimmt. Eine Lösung ist essentiell, sonst kann man nicht ernsthaft mit diesem Shop on air gehen, danke! Ich hoffe, ich habe hiermit die Dringlichkeit nachvollziehbar beschrieben. :slight_smile: Grüße an alle

[quote=“sook”]Das Problem haben wir auch. Nicht jeder möchte mit Paypal zahlen und deshalb sollte es mit anderen Zahlungsarten auch gehen. Ich habe mir ersteinmal damit beholfen einen dreckigen “Hack” im Core zu machen: Version: 4.0.7 CE Datei: /engine/Shopware/Controllers/Frontend/Account.php Zeile: 607 $sql = ' SELECT file, articleID FROM s\_articles\_esd ae, s\_order\_esd oe WHERE ae.id=oe.esdID AND oe.userID=? AND oe.orderdetailsID=? '; $download = Shopware()-\>Db()-\>fetchRow($sql, array(Shopware()-\>Session()-\>sUserId, $esdID)); if(empty($download)) { $sql = ' SELECT e.file, ad.articleID FROM s\_articles\_esd e, s\_order\_details od, s\_articles\_details ad, s\_order o WHERE e.articledetailsID=ad.id AND ad.ordernumber=od.articleordernumber AND o.id=od.orderID AND o.userID=? AND od.id=? '; $download = Shopware()-\>Db()-\>fetchRow($sql, array(Shopware()-\>Session()-\>sUserId, $esdID)); } das habe ich erstmal geändert in:/\* $sql = ' SELECT file, articleID FROM s\_articles\_esd ae, s\_order\_esd oe WHERE ae.id=oe.esdID AND oe.userID=? AND oe.orderdetailsID=? '; $download = Shopware()-\>Db()-\>fetchRow($sql, array(Shopware()-\>Session()-\>sUserId, $esdID)); \*/ $download =''; if(empty($download)) { $sql = ' SELECT e.file, ad.articleID FROM s\_articles\_esd e, s\_order\_details od, s\_articles\_details ad, s\_order o WHERE e.articledetailsID=ad.id AND ad.ordernumber=od.articleordernumber AND o.id=od.orderID AND o.userID=? AND od.id=? AND o.cleared=? '; $download = Shopware()-\>Db()-\>fetchRow($sql, array(Shopware()-\>Session()-\>sUserId, $esdID, 12)); } Somit kann man zwar den Download Button anklicken, bekommt nur dann die Meldung, dass der Download nicht zur Verfügung steht. Nur wenn der cleared Status = 12 ist, dann klappt der Download. Die 12 steht für Komplett bezahlt. Wenn jemand mit PayPal zahlt wird sofort auf diesen Status gesetzt. Ansonsten muss man das händisch machen, genau das was ich wollte. Ich denke das geht so in Ordnung, allerdings bin ich kein Fachmann für den Shop.[/quote] Zählt denn dieser “Hack” auch für Shopware 4.1 oder ist es da anders oder bereits integriert…? Grüße,

[quote=“Z3PP”]Zählt denn dieser “Hack” auch für Shopware 4.1 oder ist es da anders oder bereits integriert…? Grüße,[/quote] Wir haben noch die 4.0.8 am laufen, haben es also noch nicht getestet. Ob der Fehler behoben ist sollte jemand vom Team wohl am besten beantworten können. Von Vorteil wäre es zumindest…