PHP

AssociateTag in Zendframework Amazon Anfragen

Posted by Michael Roth on Januar 06, 2012
PHP / No Comments

Wie bereits erwähnt hat Amazon die Product Advertising API geändert. Daher ist nun bei jeder Anfrage eine PartnerId (engl. AssociateTag) notwendig, sonst wird folgende Fehlermeldung ausgegeben:

Your request is missing required parameters.
Required parameters include AssociateTag.

Es gibt zwei Möglichkeit dieses AssociateTag im Zendframework zu setzen. Die PartnerID  kann an die beiden Anfrage itemLookup() und itemSearch() im Optionen-Array mit übergeben werden.

$aws = new RD_Amazon_Query($awsID,'DE',$awsKey);
$item=$aws->category('All')->itemLookup($asin,
                                    array('ResponseGroup' => 'OfferFull, BrowseNodes,Large',
                                          'MerchantId' => 'Amazon',
                                          'AssociateTag' => 'rothdigital-21');

Als Alternative kann die Methode AssociateTag(‚rothdigital-21‘)  benutzt werden um den Wert als Methodenaufruf zu setzten. Wichtig ist, dass die Category bei Anfragen als erstes gesetzt wird und dann erst AssociateTag.

$aws = new RD_Amazon_Query($awsID,'DE',$awsKey);
$item=$aws->category('All')->AssociateTag('rothdigital-21')
                           ->itemLookup($asin,
                                    array('ResponseGroup' => 'OfferFull, BrowseNodes,Large',
                                          'MerchantId' => 'Amazon');

Diese beiden Wege funktionieren mit Zendframework 1.11. Es gibt schon einen Bug-Report, der vorschlägt die PartnerId in den Konstruktor zu übernehmen. Daher kann sich das Verhalten im nächsten Release des Zendframework wieder ändern. Sollten Sie Änderungen feststellen, benutzen Sie einfach hier die Kommentarfunktion.

Tags: , ,

Apache und PHP stumm schalten

Posted by Michael Roth on Januar 24, 2011
Internet, Linux / No Comments

Apache und PHP senden bei Internetseiten die Versionsnummer mit an den Besucher. Ein Angreifer kann diese Informationen benutzen um gezielt verwundbare Versionen zu finden und dann diese Server anzugreifen. Mit ein paar einfachen Befehlen lassen sich die Ausgaben allerdings unterdrücken.

PHP:

  • Mit expose_php = Off kann in der php.ini die Übermittlung der PHP Versionsnummer im HTTP-Response-Header unterdrückt werden.

Apache2:

  • ServerTokens Prod unterbindet das Übermitteln der Apache Versionsnummer im HTTP-Response-Header
  • Die Option ServerSignature Off deaktiviert das Anzeigen der Versionsnummer auf von Apache generierten Seiten. Dazu zählen die Fehlerseiten oder Index-Seiten, falls das Indizieren von Ordner ohne index.html aktiviert ist.
  • Apache ermöglicht es ein paar Funktionen aus der Ferne zu debuggen. Diese Funktionalität wird auf einem Produktivsystem nicht benötigt und kann mit TraceEnable Off ausgeschaltet werden.

Tags: ,

Webserver beschleunigen

Posted by Michael Roth on März 13, 2010
Internet, Linux / No Comments

Den Webserver zu beschleunigen hat nicht nur Vorteile für Besucher, sondern auch Auswirkungen auf die Platzierung der Seite bei Google.

Die Ausführungszeit von PHP-Skripten kann mit einem PHP-Cache, wie eAccelerator oder Zend Optimizer, verringert werden. Dadurch werden die PHP- Dateien nicht mehr bei jedem Aufruf von PHP übersetzt, sondern nach dem ersten Aufruf übersetzt und gespeichert. Wenn nun noch ein Zugriff erfolgt, so wird die bereits übersetzte Version benutzt und das Skript nur erneut übersetzt, falls sich etwas am Quellcode geändert hat. Dadurch konnte ich bei einigen Projekten die Ausführungszeit um den Faktor 10 verbessern.

Neben der Ausführungszeit von Skripten, werden auch die Übertragungszeiten von Bildern und CSS-Dateien von Google zur Ladezeit gerechnet.

Um das Übertragen von statischen Inhalten zu verbessern, kann beim Webserver die komprimierte Datenübertragung aktiviert werden. Dann werden die Dateien vor dem Senden mit GZIP gepackt und an den Besucher gesendet. Bei Apache kann dies mit mod_deflate gemacht werden. Durch diese Maßnahme wird zwar die Last auf dem Server vergrößert aber dafür das Netzwerk entlastet. Vor allem bei langsamen Internetanbindungen wird die Seite dadurch merklich schneller.

Die sind nur einige Anregungen, wie dir Geschwindigkeit erhöht werden kann. Wer mehr wissen will, findet bei Google hilfreiche Treffer.

Tags: , ,