Version: Magento 1.4.X

Problem
Bei dem Versuch eine Bildateien auf den Server zu laden wird die Datei nicht hochgeladen, der Benutzer vom Magento Shopsystem abgemeldet und zum Admin Login weitergeleitet.

Ursache
Magento ist auf einem Server installiert auf dem ebenso der PHP Suhosin Patch installiert ist. Die Session wird vom PHP Suhosin Patch anhand der Browserkennung des Benutzers verschlüsselt. Der Login in das Magento Shopsystem erfolgt mit der Browserkennung des Webbrowsers. Die Anfragen zum Datei Upload erfolgen über das Flash Plugin des Browsers, welches eine eigene Browserkennung besitzt. Während des Upload Prozesses kann der Server die Session des Benutzers nicht entschlüsseln und meldet den Benutzer dadurch vom Shopsystem ab.

Lösung
Des Fehlers Lösung ist das deaktivieren der Option suhosin.session.cryptua in der PHP Suhosin Konfiguration.

php.ini

suhosin.session.cryptua = Off

.htaccess

suhosin.session.cryptua 	Off

Jede Lösungmöglichkeit stellt eine alleinstehend funktionierende Option da.

Andere Artikel zur Datei Upload Problematik helfen dir sicher ebenso weiter.

Keine Kommentare »
 

Version: Magento 1.4.X

In Magento 1.4.1.0, 1.4.1.1 und 1.4.2 erhält man beim Aufruf von der „an einen Freund senden“-Funktion die Fehlermeldung „The messages cannot be sent more than 5 times in an hour“. Da Version 1.4.2 die letzte 1.4 Version von Magento ist und viele Leute diese Version länger benutzen werden veröffentliche ich dieses kleine Bugfix hier im Blog.

In der Datei Mage/Sendfriend/controllers/ProductController.php muss zirka in Zeile 122 die Zeichenfolge:

 if ($model->getMaxSendsToFriend()) {

mit der Zeichenfolge:

if ($model->isExceedLimit()) {

ersetzt werden. Das Sendfriend Formular sollte nun funktionieren wie gewünscht.

Da es sich hierbei um eine Korrektur eines bekannten Fehlers handelt, welcher nach einem Update auch korrigiert ist, empfehle ich die Anpassung der Datei (Mage/Sendfriend/controllers/ProductController.php) direkt und nicht die Erstellung eines Modules.

Keine Kommentare »
 

Vielen unter euch ist sicher der Mulit Datei Upload mit Flash ein Begriff. Diese Methode ermöglicht es mehrere Dateien auf einmal auszuwählen und diese automatisch nacheinander hochladen zu lassen. Unter anderem wird diese Methode für den Dateiupload bei xt:commerce Veyton eingesetzt. Bei der Arbeit mit diesem Shopsystem ist ein Problem mit dem Flash Uploader aufgetreten. Der Apache2 Webserver meldete den Fehler 403 (Error 403). Der Fehler wurde durch den aktivierten POST Filter der Apache2 Erweiterung mod_security ausgelöst. Die einfachste Lösungsmöglichkeit war das Deaktivieren von mod_security. Hierzu wurde in die .htaccess Datei folgendes eingetragen:

<IfModule mod_security.c>
SecFilterEngine Off
</IfModule>

Mit diesen 3 Zeilen Code wird geprüft ob mod_security vorhanden ist und mod_security deaktiviert. Dadurch funktioniert der Flash Uploader wieder.

Keine Kommentare »
 

Beim studieren der Server Logs meines Debian Lenny Servers fiehl mir auf das sehr viele fehlgeschlagene authentifizierungs Versuche am SMTP Daemon von Postfix statt gefunden hatten. Folgende Meldung wiederholte sich mehrfach:

Apr 28 15:33:56 mail postfix/smtpd[8110]: warning: unknown[218.248.1.181]: SASL CRAM-MD5 authentication failed: PDM2NjYyMjQ0OTU5OTE5MTMuMTI3MjQ2MTYzNUBFTVAtUz4=

Mich wunderte das die IP Adresse nicht nach 3 Versuchen von Fail2ban (Version 0.8.3-2sid1) gebannt wurde. Es hat sich herausgestellt das der Reguläre Ausdruck den Fail2ban für das erkennen Fehlgeschlagener authentifizierungs Versuche nicht mit der Log-Nachricht übereinstimmt. Ein Entfernen des $ am Ende des Regulären Ausdrucks (failregex) in der Datei /etc/fail2ban/filter.d/sasl.conf reichte aus um die Logs passend zu filtern.

Warum das $ entfernen?
Das $ steht in einem Regulären Ausdruck für das Ende der zu suchenden Zeichenkette. Da aber nach „authentication failed“ in dem Log Eintrag weitere Zeichen folgen passt der Reguläre Ausdruck nicht zum Logeintrag.

failregex = : warning: [-._w]+[<HOST>]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed

Ist meine aktueller Eintrag um fehlgeschlagene authentifizierungs Versuche am Postfix SMTP Daemon zu erkennen.

Spamassassin füllte meine Logs zum selben Zeitpunkt mit:

Apr 28 00:31:27 mail spamd[21987]: spamd: creating default_prefs: /nonexistent/.spamassassin/user_prefs
Apr 28 00:31:27 mail spamd[21987]: config: cannot write to /nonexistent/.spamassassin/user_prefs: No such file or directory
Apr 28 00:31:27 mail spamd[21987]: spamd: failed to create readable default_prefs: /nonexistent/.spamassassin/user_prefs

Eine weitere Lösung musste her… Da Spamassassin bei mir unter dem Benutzer nobody läuft und dieser zu diesem Zeitpunkt kein gültiges Heimatverzeichnis in der /etc/passwd Datei hinterlegt hatte blieben mir sinnvolle 2 Möglichkeiten. Zum einen das Eintragen eines gültigen Heimatverzeichnisses in die Datei /etc/passwd. (Platzhalter: <VERZEICHNIS>)

nobody:x:65534:65534:nobody:<VERZEICHNIS>:/bin/false

Zum Anderen gab es die Möglichkeit Spamassassin durch eine Änderung in /etc/defaults/spamassassin mit einem virtuellen Verzeichnis zu starten. Hier mein Aktueller Eintrag für standard Startoptionen von Spamassassin: (Platzhalter: <VERZEICHNIS>)

OPTIONS="--create-prefs --max-children 5 --helper-home-dir -u nobody -x --virtual-config-dir=<VERZEICHNIS>"

Ich entschied mich für die zweite Möglichkeit (Verzeichnis: /var/spool/spamassassin).

ein Kommentar »
 

(to the english part of the post)
Dir wird in diesem Artikel der neue jQuery Interfaces Fisheye position: fixed; Patch zum herunterladen angeboten. Mit diesem Bugfix funktioniert das Fisheye auch nach dem Scrollen bei fixer Positionierung. Die Vorgehensweise ist denkbar einfach. Es muss nur der Bugfix nach der jQuery interfaces Datei eingebunden werden. Ein Beispiel folgt.

<script type="text/javascript" src="jquery.js"></script> <!--- jQuery Framework einbinden --->
<script type="text/javascript" src="interface.js"></script> <!--- jQuery interfaces Plugin einbinden --->
<script type="text/javascript" src="fisheye_patched.js"></script> <!--- hier den Bugfix einbinden --->

Fisheye position: fixed; Bugfix herunterladen

Zip Datei enthält Javascript Datei.

Weitere Verweise zum Thema:


(Zum deutschen Teil des Artikels)

In this post you will be offered to download the jQuery Interfaces Fisheye position: fixed; patch. With this patch the Fisheye works after scrolling while it’s fixed positioned. The procedure is simple. You only need to include the bugfix after including the jQuery inferfaces file. An example follows.

<script type="text/javascript" src="jquery.js"></script> <!--- include jQuery Framework --->
<script type="text/javascript" src="interface.js"></script> <!--- include jQuery interfaces plugin --->
<script type="text/javascript" src="fisheye_patched.js"></script> <!---include the bugfix --->

Fisheye position: fixed; bugfix download

Zip file includes javascript file.

More links to this subject:

31 Kommentare »