php
Wednesday, April 7th, 2010
Amazon Cloudfront streaming servers with private URLs have just been online for a few weeks. Therefore there is not much information available nor are there many code examples.
Here are a few links to explaining websites and a working PHP code example.
I hope this helps some other developers
Amazon Documentation
Amazon Forum
Cloudberry HowTo
Bucket Explorer HowTo
>>> Download Code Example:
>>> cloudfront_private_streaming_example.zip
Tags: Amazon, Cloudfront, Example, php, Private, streaming
Posted in Software, php, programming plugin | 13 Comments »
Wednesday, March 3rd, 2010
Wie in einem anderen Posting erklärt ( http://donauweb.at/ebusiness-blog/2009/11/15/sicherheit-security-eines-webshops-verbessern/ ), gibt es bei PHP keine 100% Maßnahmen gegen SQL-Injection mit konventionellem Datenbankzugriff. Nur parametrisierte SQL-Befehle bieten mehr Sicherheit. Es ist daher empfehlenswert, nur noch PDO für Datenbankzugriffe zu verwenden.
Um Datenbankzugriffe mit PDO zu vereinfachen habe ich eine Bibliothek-Klasse geschrieben für den Zugriff auf eine Datenbank mittels PDO. Diese Klasse bietet Funktionalitäten wie bei ADODB. Die wichtigsten sind:
- pdoGetAll($sql, $data) und pdoGetRow($sql, $data) liefern ein oder mehrere Datensätze als Array zurück.
Der SQL-Befehl kann Parameter beinhalten, deren Werte in $data mitgeliefert werden.
zB $sql = “select * from table where id=:id”
- pdoGetAssoc($sql, $data) holt das gleiche Resultat wie pdoGetAll, jedoch wird die erste Spalte zum Index vom Array. Dadurch ist das Lesen von zB definierten ID-Werten nachher wesentlich einfacher.
- pdoInsUpd($table, $data, $insert_or_update, $where) erstellt einen INSERT oder UPDATE SQL-Befehl an Hand der übergebenen Parameter und führt diesen Befehl aus.
Die Klasse kann als OpenSource downgeloadet werden.
Posted in Security, database, php | No Comments »
Saturday, January 9th, 2010
Und warum sollte man ein PDF denn mit PHP erstellen? Man hat ja üblicherweise sein PDF aus einer anderen Applikation erstellt und will es nur auf den Webserver hochladen …
Google kann PDF-Dateien lesen und da PDF-Dateien meistens langlebiger sind als Webseiten werden diese PDF-Dateien von Google relativ hoch bewertet. Also gelten für PDF-Dateien die gleichen Regeln wie für HTML-Dateien:
Wichtige Stichwörter öfters verwenden, Links zur Website angeben, gerne auch Deeplinks (denn in Deeplink-URLs kommen die Stichwörter wieder vor).
Weiters will auch der Kunde vielleicht eine allgemeine Info zur Firma, wenn er ein PDF liest. Vielleicht holt er das PDF ja nicht von der Website der betreffenden Firma sondern über einen anderen Link (zB Google).
Aus obenstehenden Gründen macht es Sinn, PDF-Dateien, die man erstellt hat, mit PHP am Server nachzubearbeiten. Dabei werden neue Seiten mit diesen Informationen zugefügt.
Posted in SEO Suchmaschinenoptimierung, eBusiness, php | No Comments »
Saturday, January 9th, 2010
Am besten geht das mit TCPDF. TCPDF kann aus HTML ein PDF erstellen und das erleichtert die Sache sehr. Natürlich kann TCPDF nicht alle HTML-Tags und Attribute, aber da man in PHP das HTML selber erstellen kann, ist das leicht zu berücksichtigen.
Wenn zusätzlich PDF-Dateien eingelesen werden müssen, um neue Seiten einzubinden, oder PDF-Dateien zu mergen, dann kann zusätzlich PDI verwendet werden. PDI kann PDF-Dateien einlesen. Das Zusammenspiel von PDI mit TCPDF ist problemlos. Wenn TCPDF inkludiert wird, bevor man ein PDI-Objekt instanziert, dann ist PDI automatisch von TCPDF vererbt.
http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf
http://www.setasign.de/products/pdf-php-solutions/fpdi/
Posted in SEO Suchmaschinenoptimierung, eBusiness, html, php | No Comments »
Sunday, November 15th, 2009
Wenn man einen Webshop laufend beobachtet, dann findet man immer wieder Angriffe auf den Webshop. Hacker versuchen, Schwachstellen des Webshops auszunutzen. Hier folgen einige Methoden, wie Hacker versuchen einzubrechen und was man dagegen unternehmen kann.
Angriffe auf Webshops und Schutz dagegen
Erklärung von Anriffsmöglichkeiten
http://www.suspekt.org/2009/06/16/dutch-php-conference-the-slides/
Viele interessatnte Artikel über Sicherheit
http://entwickler.de/zonen/portale/psecom,id,125,nodeid,.html
http://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet
Wie funktioniert SQL-Injection genau?
http://www.securiteam.com/securityreviews/5DP0N1P76E.html
http://unixwiz.net/techtips/sql-injection.html
Angriffserkennung in PHP
http://php-ids.org/
XSS-Tricks
http://ha.ckers.org/xss.html
XSS-Schutz in PHP
http://wiki.flux-cms.org/display/BLOG/XSS+Prevention
Die wohl beste Bibliothek zur Prüfung von Form-Eingaben
HtmlPurifier
top-15-free-sql-injection-scanners
Sicherheitsberater, die Angriffstests durchführen (Penetration Test)
(ich habe einige kontaktiert, bei diesen hatte ich ein gutes Gefühl)
http://www.redteam-pentesting.de
https://www.mark-semmler.de
http://www.internet-sicherheit.de
http://www.it-sec.de/
Tags: Einbruch, gehackt, Hack, hacker, Intrusion Detection, Security, Sicherheit, SQL Injection, XSS
Posted in Security, php | No Comments »
Saturday, October 24th, 2009
Desktop-Applikationen schreiben mit Web-Technologie:
Applikation schreiben in JavaScript, HTML, CSS, Python, Ruby und bald PHP
und laufen lassen auf Windows, Mac OS and Linux
Titanium ist ein Framework mit inkludiertem Browser und Zugriff auf alle Betriebssystem-Funktionen.
Titanium Desktop
Mehr Info auf http://www.codestrong.com/
Slideshow Intro
Diskussionsforum http://support.appcelerator.net/home
Posted in Software, browser, php, web application, windows | No Comments »
Saturday, June 20th, 2009
Hier gibt es einige Tipps zum beschleunigen von PHP-Code:
http://reinholdweber.com/?p=3
http://www.hm2k.com/posts/50-php-optimisation-tips-revisited
Aber … manche Maßnahmen zur Beschleunigung reduzieren die Lesbarkeit der Applikation. Das macht dann die Wartung zeit- und kostenintensiver und aus diesem Grund muss man immer überlegen, was in welchem Fall wichtig ist.
Posted in php | No Comments »
Saturday, June 20th, 2009
Caching kann die Response des Browsers sehr beschleunigen. Grundsätzlich gibt es 2 Ansätze:
- Caching im Browser
Der Server muss dem Browser Anweisungen senden, damit der Browser ganze Dateien cacht.
- Caching im Server
Der Server cacht HTML von Teilen von Webseiten. Diese Teile müssen dann nicht mehr für jeden Aufruf neu generiert werden. Die gesamte Seite kann personalisiert sein, denn es kann auch Seitenteile geben, die nicht gecacht werden.
Caching ist sehr gut erklärt in diesem Artikel (ist von Nov. 2007 aber immer noch aktuell):
http://www.sitepoint.com/article/caching-php-performance/
Eine weitere Art des Cachings, die (1) und (2) kombiniert:
Die Teile einer Seite, die aktuell sein müssen, werden mit AJAX inkludiert. Dann kann die gesamte HTML-Seite im Browser gecached werden. Bei einem erneuten Aufruf der Seite im Browser wird die Seite aus dem Cache geladen, der AJAX-Aufruf findet aber erneut statt und dieser Teil der Seite ist somit immer aktuell.
Ein Nachteil dieser Methode ist, dass auch beim 1. Aufruf der Seite 2 http-Requests erforderlich sind um die gesamte Seite anzuzeigen.
Posted in browser, eBusiness, php | No Comments »
Sunday, March 15th, 2009
1) PDF erstellen: FPDF
2) Portable Document Markup Language ist eine Markup-Sprache mit der PDF-Dokumente mittels FPDF erstellt werden.
3) UTF-8 Support für FPDF: UFPDF
4) xhtml2pdf erstellt PDF-Dateien aus XHTML mittels FPDF
5) PDF erstellen mit einem PDF als Hintergrund: FPDI
6) 2 PDF-Dateien in eine mergen bzw. eine PDF-Datei in 2 Dateien splitten: SetaPDF (kommerziell)
Tags: pdf create erstellen merge split
Posted in eBusiness, php | No Comments »
Friday, January 16th, 2009
A new plugin for OsCommerce creates nice turnover statistics.
Graphical in Flash and in a table.
More info and download:
http://synctables.com/turnover-statistics-for-oscommerce.php

Comments for the developer of this plugin
can be entered on this page.
Posted in database, eBusiness, php | 21 Comments »
Wednesday, November 5th, 2008
HTMLSQL extrahiert Teile aus einer HTML-Seite, wie SQL Teile aus einer Datenbank extrahiert. Interessante Idee!
SELECT href,title from a WHERE $class=’list’
http://www.jonasjohn.de/lab/htmlsql.htm
Posted in eBusiness, html, php | No Comments »
Tuesday, September 9th, 2008
Sofortüberweisung (http://sofortueberweisung.de) ist ein neuer Dienst, der in Webshops integriert werden kann. Nach der Bestellung wird der Kunde auf Seite von Sofortüberweisung umgeleitet. Dort gibt er die Daten seiner Bankverbindung an und überweist den Betrag wie im Internetbanking üblich mit dem TAN-Code der eigenen Bank. Das Geld wird also sofort überwiesen. Der Webshop erhält unmittelbar eine Bestätigung über die Durchführung der Überweisung.
Die Überweisung funktioniert von und nach Deutschland, Österreich und Schweiz.
Es gibt Schnittstellen für verschiedene Shops, die allerdings unterschiedlich programmiert sind. So basiert die OsCommerce-Schnittstelle auf einer veralteten Schnittstelle mit weniger Möglichkeiten als die Schnittstelle für Eigenprogrammierung. Wenn man also alle Features nutzen möchte, muss man auch bei OsCommerce selber programmieren.
Die Überweisung ist auch möglich ohne Webshop. Man kann dem Kunden einen Code bzw. einen Link mit diesem Code schicken. Damit kommt der Kunde zur Zahlungsseite mit allen Informationen.
Posted in browser, eBusiness, php, windows | No Comments »
Saturday, August 2nd, 2008
Hier zwei Scripte, welche erkennen, ob ein Desktop/Notebook oder ein mobiles Gerät eine Seite aufruft. Für das mobile Gerät kann dann eine Einfachversion der Seite ausgegeben werden.
Kommerziell:
http://www.andymoore.info/php-to-detect-mobile-phones/
OpenSource:
http://www.osnews.com/…..Mobile_Detection_Kit
Posted in browser, eBusiness, php, utf, windows | No Comments »
Monday, June 30th, 2008
The website http://www.protectwebform.com protects any form or an email-link against spam with a captcha. Integrating it into your website is easy. There is even a wordpress plugin.
A drawback: It doesn’t work in PHP safemode when the function “file_get_contents” doesn’t work. I changed the PHP file to use CURL instead. Find the code here.
Posted in eBusiness, html, php | No Comments »
Saturday, June 14th, 2008
There is a new version of the greatest free tool for debugging (in my opinion):
datadumper 3.0.
This tool dumps all kinds of PHP-variables in a very nice readable structure on screen. You can also dump variables in a file which is very nice when using AJAX where there is no GUI for the PHP output.
Screenshot
Download
Posted in browser, debug, eBusiness, php | No Comments »
Tuesday, December 11th, 2007
There are still a lot of problems when converting a site from latin to UTF8.
Here a some links which describe what has to be done and how:
Unicode Theory:
http://www.joelonsoftware.com/articles/Unicode.html
cheatsheet
http://developer.loftdigital.com/blog/php-utf-8-cheatsheet
unifier
http://www.melody-soft.com/html/unifier.html
MySQL 4.1 und Zeichensätze
http://www.hosteurope.de/faq/index.php?cpid=12229
Using UTF-8 with UltraEdit
http://www.ultraedit.com/index.php?name=Forums&file=viewtopic&t=3511&highlight=unicode
PHP 6/Unicode design document
http://devzone.zend.com/content/summaries/php-unicode-design.txt
Andrei Zmievski’s presentations
http://www.gravitonic.com/talks/
Unicode Consortium reference point
http://www.unicode.org/
The ICU Library at the core of PHP 6
http://www.icu-project.org/
Joel Spolsky’s introduction to Unicode
http://www.joelonsoftware.com/articles/Unicode.html
Handling UTF-8 with PHP
http://www.phpwact.org/php/i18n/utf-8
utf-8-und-die-entity
http://blog.antikoerperchen.de/beitrag/42/utf-8-und-die-entity.html
PHP UTF-8 is a UTF-8 aware library of functions mirroring PHP’s own string functions. Does not require PHP mbstring extension though will use it, if found, for a (small) performance gain.
http://sourceforge.net/projects/phputf8
Tags: mysql, php, utf, utf8
Posted in eBusiness, mysql, php, utf | No Comments »