Da wir bei ITABS seit geraumer Zeit bei unseren Anwendungen auf das Zend Framework setzen, im deutschsprachigen Raum aber relativ wenig Tutorials, Infos, Beispielquelltexte etc. verfügbar sind, haben wir uns dazu entschlossen, ein Weblog rund um das Zend Framework aufzubauen.
Auf zf-blog.de findet ihr in Zukunft Informationen und News rund um das Zend Framework.
Wer Interesse hat sich aktiv an diesem Projekt zu beteiligen z.B. in Form von Artikeln oder kleinen Codebeispielen kann sich gerne bei mir per E-Mail (alexander.steireif@itabs.de) melden.
Helfer sind bei uns immer gerne willkommen
Tag der XSS Schwachstellen
Im Heise Forum war heute, wie eigentlich an jedem Troll Freitag, mal wieder einiges los.
Besonders interessant fand ich den Artikel "XSS-Schwachstelle auf Bundesregierung.de", da man hier wieder sehen kann, dass selbst "professionelle" Webentwickler gegen Regel Nr.1 verstoßen - Prüfe alle Daten die eingegeben werden können und gehe immer davon aus, dass jemand versucht "bösen Code" einzuschleusen.
Aber die Website der Bundesregierung ist sicherlich nicht die einzige Website, die eine XSS Schwachstelle aufweist. Blättert man ein wenig durch das Forum, findet man ein paar schöne Beispiele von unsicheren Websites:
- CDU.de
- dieter-wiefelspuetz.de
Also was lernen wir daraus? Immer wenn Daten übermittelt werden können, müssen diese zuerst einmal geprüft und falls nötig manipuliert werden.
Zend Framework Buch kommt erst im Februar
Wer genau wie ich auf das Buch "Zend Framework" von Carsten Möhrke wartet, muss sich noch ein wenig gedulden.
Da Amazon.de und edv-buchversand.de verschiedene Daten bezüglich der Veröffentlichung angeben, habe ich direkt beim Amazon.de Kundensupport (der sich übrigens wirklich vorbildlich verhält!) nachgefragt.
Tatsächlich erscheint das Buch, welches alle wichtigen Themen rund um das Zend Framework behandelt, erst im Februar 2008.
Schade, aber neben dem offiziellen Manual, gibt es im Internet schon ein paar nette Zend Framework Tutorials, die den Einstieg vereinfachen sollen…
Auf Smarty Variable in PHP zugreifen
Wie kann man eigentlich innerhalb des {php} … {/php} Blocks in einem Smarty Template auf eine Smarty Variable zugreifen?
Diese Frage musste ich mir leider heute Mittag stellen und nachdem ich ein wenig bei Google gesucht habe, kommt nun die Antwort.
Man befindet sich also in einem Smarty Template und hat nun den {php} … {/php} Abschnitt.
Nun fügt man vor {php} folgende Zeile ein:
{assign var=articles value=$item.articles}
In meinem Fall musste ich auf die Variable $item.articles zugreifen, die ich ansonsten einfach mit {$item.articles} in Smarty hätte ausgeben können. Nachdem ich aber die Zeile wie oben beschrieben eingefügt habe, kann ich nun innerhalb des PHP Tags einfach über $articles auf die Variable zugreifen.
Es ist also kein Hexenwerk, auch wenn man nach der Lösung ein wenig suchen muss…
Schnellere PHP Scripts - PHP Code Optimieren
Auch wenn mein Arbeitskollege den folgenden Artikel schon vor etwas längerer Zeit erwähnt hat, hier noch einmal der Link.
In dem Artikel geht es, wie meine Überschrift schon vermuten lässt, um die Optimierung von PHP Scripts. Wer also ein wenig mehr Performance aus seinen PHP Scripts rausholen möchte, sollte sich am Besten die 40 Tips zu Herzen nehmen und befolgen.
Dateien mit PHP hochladen
Wer eine einfache Möglichkeit sucht, Dateien mit PHP hochzuladen und zu verarbeiten, sollte einen Blick auf HTTP_Upload werfen. Neben der PHP Datei, die eingebunden werden muss, gibt es auf der Website außerdem noch eine kleine Dokumentation, die alle Fragen beantworten sollte.
10 projects every php developer should use
Gerade eben via digg.com gefunden und eigentlich für jeden PHP Entwickler interessant…
As a php web developer, you should know that php is probably the language that has the biggest code repository. So no matter what module you want to include in your project there should be an open source solution.
This can help in various ways, but just in case you can’t think of one, here I put a few :
- Open source is worked by many people, so the result is for sure better than one man’s work
- You can have free updates to your code, while otherwise you should code the updates each time something new comes up
- You save development time while your project is getting better
Anyway, after many years as a web developer, I’ve compiled a list of php classes that can be easily integrated in any project and I am regularly use.
Sending Emails
Sending emails is something very common for every web site. Php’s mail()
function is good for this, but what if you want to attach a file, or send through an SMTP server, etc? Well in that case you should use phpmailer
User Manipulation
Another common module is the user module. With that you can manipulate users (login, logout, register, etc.) Personally I’ve never found a project that is good enough, so I created my own
Php user class
is a module that can be used even in established projects, as it uses variable data for database tables, fields, session variables, etc.
Fetching RSS Feeds
Ever wanted to fetch an rss feed from your project? Well there is always an easy way to fetch a feed
but in most cases you need more than that. When that is the case you should definitely use Magpie RSS
Geotargeting
There are many times that you need to know where are your visitors coming from. Maxmind
gives a solution to this. For a complete tutorial check this article
Grabbing Remote Content
Some times RSS is not enough so you need to grab the content of a web page and parse it. If you are a huge fun of preg you should not continue reading, but if you are not you definitely need the htmlSQL class
The htmlSQL class allow you to access html values with SQL code. Nice huh?
Trackback
Sending and receiving trackbacks is vital for a web site in our age. And in fact it is very easy if you are using a class like php trackback
Template System
Another thing that all sites use is a template. A template engine can save you lots of time, while it can make display changes very easy. A complete template engine that most projects use is Smarty
BBcode
BBcode used to be a functionality for forums, but as more and more sites use it in order to be more friendly to their users, you might want to use BBcode to your site. The problem is that BBcode requires a lot of coding and I am not sure if you have the time for this. If you don’t you’ll find StringParser_BBcode class
very useful
Paypal Payment Integration
As you may know paypal has a nice API for developers who want to integrate paypal payments in their sites. The paypal IPN integration class
helps you make use of it and start accepting payments in 20 minutes.
Editor Controls
I don’t have a problem to make changes to a site using phpMyAdmin or a simple text area, but when it comes to my clients I have to give them more than that. A javascript WYSIWYG editor is a perfect solution but as it requires countless hours to get it done I would suggest you to use the tinyMCE control 
Quelle: http://www.webdigity.com/index.php/topic,7333.0.10+projects+every+php+developer+should+use.html
Deutschsprachige PHP Framework Bücher
Ich geb’s ja zu… Bei meinen aktuellen Projekten verzichte ich noch auf Frameworks - Schande über mein Haupt
Aktuell gibt es aber zwei Bücher, die für den Einstieg interessant sein dürften. Leider sind beide noch nicht erschienen, lange muss man aber wahrscheinlich nicht mehr warten.
Das Symfony-Framework
Frameworkbasierte Enterprise-Anwendungen
Symfony ist zum Shooting Star unter den PHP-Frameworks geworden. Es integriert Funktionen wie AJAX oder Rich-Client-Entwicklung und sorgt für mehr Tempo bei der Entwicklung von PHP- und datenbank-basierten Anwendungen. PHP wird mehr und mehr auch eine Plattform für Unternehmens-Anwendungen und setzt daher auf Frameworks.
Kaufen!
Zend Framework - Das Entwickler-Handbuch
PHP-Anwendungen mit dem Zend Framework entwickeln
Das Buch bietet eine praxisbezogene Einführung in die Entwicklung von PHP-Anwendungen mit dem Framework. Alle Funktionen werden umfassend dargestellt. Immer stehen konkrete Anwendungsbeispiele im Vordergrund. So z. B. Benutzerverwaltung, Performancesteigerung etc. Zend Framework ist von der Firma Zend Technologies entwickelt. Das Framework stellt fertige Klassen für Datenbanken, Model-View-Controlling, PDF-Erstellung, Suchfunktionen u.v.m. zur Verfügung.
Kaufen!
Logout bei .htaccess Passwortschutz
Angenommen wir schreiben uns ein kleines Script, welches unbedingt mit einem Passwort geschützt werden muss und nehmen hierfür .htaccess bekommen wir früher oder später ein kleines Problem.
Denn wenn man sich nicht von zu Hause anmeldet sondern unterwegs ist, sollte man wenigstens die Möglichlichkeit haben sich abzumelden.
Aber wie geht das bei einem auf .htaccess basierenden Passwortschutz?
Die Antwort lautet: gar nicht!
Hierbei handelt es sich wohl um ein Problem, welches bereits öfters in diversen Foren diskutiert wurde. So gibt es viele User, die sich Scripte (bzw. Ordner) per .htaccess Schützen, dann aber eine Logoutfunktion benötigen. Mit .htaccess ist dies aber nicht möglich. Hierfür bräuchte man schon eine auf PHP aufbauende Userverwaltung.
Tja, schade aber so ist es halt…
phpMyAdmin bei 1und1 - Probleme mit auto_increment
Als ich gerade an einem Kundenprojekt arbeitete (gehostet bei 1und1), ist mir ein kleiner Fehler bei der von 1und1 betriebenen phpMyAdmin Version aufgefallen.
Versucht man bei einer Tabelle unter Operationen den auto_increment Wert zu ändern, wird ein falsches SQL Statement erzeugt.
Beispielsweise lautet der auto_increment Wert 145, ändere ich diesen auf 144 und klicke auf ok, gibt phpMyAdmin folgenden Code aus:
ALTER TABLE `blub` PACK_KEYS =1 CHECKSUM =0 DELAY_KEY_WRITE =0 AUTO_INCREMENT =145
Es wird sozusagen der bereits gespeicherte auto_increment Wert einfach wiederholt, jedoch nicht abgeändert.
Wenn man nun unter dem Punkt SQL folgenden Code ausführt
ALTER TABLE `blub` PACK_KEYS =1 CHECKSUM =0 DELAY_KEY_WRITE =0 AUTO_INCREMENT =144
wird der Wert aber wie gewollt geändert…
Der Fehler scheint also einzig und allein an der Ausgabe zu liegen.
Passt man den Code manuell an und führt ihn dann aus, funktioniert alles wie gewünscht.
