webconsul

the best webconsul(ting)

Encoding-Check ob Datei UTF-8 oder ISO-8859-1 in PHP

Sie sind hier: Startseite » Archiv für Dezember 2009

Leider werden nicht alle Dateien so ausgeliefert, wie es angegeben wird.
Das Problem tritt vor allem auf, wenn man wie ich, viel mit XML-Datenfeeds aus unterschiedlicher Quelle arbeitet.

Am Ende soll eine wohlgeformte und lesbare Datei herauskommen, daher muss man die Eingabedatei anhand ihres Formats eventuell konvertiert.
Da gibt es einerseits die Möglichkeit in PHP mit den eingebauten Funktionen mb_check_encoding() oder mb_detect_encoding() zu arbeiten, bevor man dann mit utf8_decode() oder utf8_encode() weiterarbeitet.

Mein ehrlicher Tipp an euch: die obigen Funktionen sind Mist und liefern nicht das Resultat, auf das ihr euch verlassen wollt.

Deswegen rate ich euch, nehmt die Funktion und checkt “händisch” welches Format reinkommt.

function check_utf8($str) {
$len = strlen($str);
for($i = 0; $i < $len; $i++){
$c = ord($str[$i]);
if ($c > 128) {
if (($c > 247)) return false;
elseif ($c > 239) $bytes = 4;
elseif ($c > 223) $bytes = 3;
elseif ($c > 191) $bytes = 2;
else return false;
if (($i + $bytes) > $len) return false;
while ($bytes > 1) {
$i++;
$b = ord($str[$i]);
if ($b < 128 || $b > 191) return false;
$bytes--;
}
}
}
return true;
}

Zum Beispiel mit:
if(check_utf8(utf8_decode($str))) $xml = simplexml_load_string(utf8_decode($str));
else if(check_utf8($str)) $xml = simplexml_load_string($str);

Damit bekommt ihr sicher einen UTF-8-String mit dem Dateiinhalt zurückgeliefert.

Achja, simplexml_load_string() bzw. simplexml_load_file() haben einen Bug, sodass immer nur UTF-8 nach dem Einlesen zurückgegeben wird, daher checkt das am besten vorher wie oben aufgeführt nochmal ab.

Viel Spaß damit!

.htaccess-Verzeichnisschutz mit LDAP-Authentifizierung

Sie sind hier: Startseite » Archiv für Dezember 2009

Will man, wie ich neulich, ein Verzeichnis auf einem Webserver schützen, so gibt es nicht viele sichere Methoden.
Die einfachste und wohl am schnellsten implementiere Lösung dafür ist, zumindest beim Apache-Webserver, der Schutz über eine .htaccess-Datei.

Für eine handvoll User/Passwort-Paare, rate ich einfach mal nach “.htaccess Generator” zu suchen und eine der Lösungen auszuprobieren.

Will man sich gegen ein LDAP-Backend authentifizieren, kann man das zum Beispiel folgendermaßen anstellen:
AuthBasicProvider ldap
AuthType Basic
AuthName "Dein Account zum Sicherheitsbereich"
require ldap-attribute employeeType=User
require ldap-attribute employeeType=Admin
require ldap-attribute employeeType=Editor
AuthzLDAPAuthoritative on
AuthLDAPURL ldaps://ldap.server.de/ou=People,dc=server,dc=com

Damit sollten sich User der Gruppe User, Admin und Editor anmelden können.

Das z im “AuthzLDAPAuthoritative on” ist kein Schreibfehler sondern gehört zum Modulname.

Wenn der Login nur über eine sichere SSL-Leitung erfolgen soll, reicht es, wenn man einfach vor dem obigen Block noch ein:
SSLRequireSSL
einfügt.

Googles Bildersuche: der andere Weg zum Produkt

Sie sind hier: Startseite » Archiv für Dezember 2009

Google bietet Handy-Besitzern* seit geraumer Zeit an Google Goggles zu verwenden mit Hilfe eines Bildes zu suchen.
Dabei muss ein Foto vom gewünschten Objekt, zum Beispiel der Pariser Eiffelturm, gemacht werden und dieses über die Applikation an Google gesandt werden.
Dort wird das Bild verarbeitet und das gewünschte Suchergebnis geliefert:

Es wäre ja nicht Google, wenn da nicht mehr kommen würde.

Also hat Google sich selbst als Weihnachtsgeschenk, passend zum 24. Dezember folgendes Patent eintragen lassen:
Image Capture for Purchases

Das funktioniert ähnlich der Suche für Sehenswürdigkeiten und/oder Monumente und bietet mit folgendem Ablauf den Einkauf, natürlich über Google Checkout, an.

Google Visual Search 1
Google Visual Search 2
Google Visual Search 3

Aber habt keine Angst davor, Google ist doch nicht evil.
Die Informationen und Grafiken hat Bill in seinem Artikel verwendet erläutert.

* diese müssen entweder auf Android, Palm, Blackberry, Symbian oder Windows Mobile laufen oder Java (J2ME) unterstützen. Dies und genauere Informationen gibt es auf der passenden Hilfe-Seite.

Mikrofinanzierung – mit kleinen Schritten zur besseren Welt

Sie sind hier: Startseite » Archiv für Dezember 2009

Attention: Blogpost außerhalb der Entwickler-/Programmierecke

Dieses Video habe ich soeben im zanox-Blog gefunden.

zanox macht als umsatzstarkes und vor allem wachsendes Unternehmen einen Schritt in die richtige Richtung.
Neben Investments in weit weit weg gibt es auch einen Programmiercontest für die am besten entwickelte App und damit Venture Capital.

Schaut euch Zanox nochmals genau an, wenn ihr dort noch nicht Affiliate seit, es lohnt sich auf jeden Fall.

Wenn ihr weiteres Interesse an sozialem Investement habt, dann empfehle ich Kiva:
Meine Lenderpage und die SEOs for Charity-Gruppe

Zanox Produkte unter jedem Blogpost

Sie sind hier: Startseite » Archiv für Dezember 2009

Aktuell entwickle ich wieder an einem WordPress-Plugin um kontextabhängig Produkte aus der Zanox-API anzuzeigen.

Das ganze basiert auf über den Ajax-Callback und benötigt damit keine weiteren Serverkapazitäten (zumindest auf der Seite des Webseitenbetreibers).

Das Plugin gibt es wie die anderen dann auf der WordPress Extend Seite bei den Plugins oder hier.
Wer es vorher haben und testen will, soll mir einfach kurz eine eMail schreiben.

Google Doodle

Sie sind hier: Startseite » Archiv für Dezember 2009

Soeben habe ich wieder einen Artikel über die Google Doodles gelesen, der auf dieses Video verweist:
allowscriptaccess="always" allownetworking="all" allowfullscreen="true"
src="http://cdn.abclocal.go.com/static/flash/embeddedPlayer/swf/otvEmLoader.swf?version=&station=kgo&section=&mediaId=7162609&cdnRoot=http://cdn.abclocal.go.com&webRoot=http://abclocal.go.com&site=">

Vor einiger Zeit gab es ja auch den Wettbewerb doodle4google bei dem folgende Resultate herauskamen:

Dazu gab es diese Tipps:

  1. Bemühe dich darum, dass deine Zeichnung zur Form der Buchstaben im Google-Logo passt. Dies sollte aber deine Kreativität nicht beeinträchtigen.
  2. Experimentiere mit unterschiedlichen Zeichenmaterialien, um zu sehen, welches am besten zu deiner Zeichnung passt (du kannst dein Google-Doodle sogar am PC entwickeln).
  3. Deine Zeichnung sollte nicht zu kompliziert sein – einfachere Motive haben oft eine größere Wirkung.
  4. Denke daran, dass deine Zeichnung vielleicht auf der Google-Homepage gezeigt werden wird. Überlege also, wie sie auf dem Bildschirm wirken wird.
  5. Bemühe dich, Farben wirkungsvoll einzusetzen, und überlege, wie sie auf dem weißen Hintergrund wirken.
  6. Benutze keine kommerziellen Bilder oder solche mit Copyright.
  7. Sei originell – versuche, ein Google-Doodle zu entwerfen, das es bisher noch nicht gab.
  8. Du darfst auch die Flächen hinter und vor den Google-Buchstaben nutzen, dadurch sollte aber deine Zeichnung nicht aus dem Gleichgewicht geraten.
  9. Doodle 4 Google soll dir Spaß machen! Du sollst kreativ sein und Spaß beim Zeichnen lustiger Dinge haben.

Sollte das Google Doodle dann auf die eigene Seite verweisen, möchte ich nicht wissen, wie viele Besucher lediglich dadurch schon einströmen.
Ob Google wohl die Links von sich selbst wertet?

Suche und Suchneuerungen im nächsten Jahr

Sie sind hier: Startseite » Archiv für Dezember 2009

Überall werden zur Zeit Ausblicke auf das kommende Jahr 2010 gebloggt und teils mit wilden Spekulationen versehen.

Ich bin der Meinung, dass die Welt nicht zusammenbricht und die Suchmaschinen und -optimierungen nur besser werden (können).

So durfte ich heute bei Bill einen interessanten Post zum Google Patent lesen.
In diesem Patent steht mehr oder weniger drin, dass je nach Kontext auf ähnliche Suchbegriffe zurückgegriffen wird.
Es werden hier Synonyme oder Umschreibungen verwendet.
Zum Beispiel:
auto versicherung
zu
versicherung kfz
oder ähnliche Variationen.

Das hatte ich schon länger im Hinterkopf und verweise an dieser Stelle nochmals auf zwei “offene” Synonym-Datenbanken:

  • Wortschatz-Portal der Uni Leipzig
  • OpenThesaurus als deutscher Synonyme Thesaurus

    Probiert das mal aus und schaut wie ihr damit besser ranken könnt, als Tipp, schaut mal hier: Keyword Spinning.

  • Crockford on JavaScript

    Sie sind hier: Startseite » Archiv für Dezember 2009

    Soeben konnte ich im Yuiblog erfreulicherweise diesen Veranstaltungshinweis lesen:
    Crockford on JavaScript

    Dabei spricht Douglas Crockford über die JavaScript-Architektur und vieles mehr.
    Ich hoffe nur, dass die Vorträge als Mitschnitte verfügbar gemacht werden und ähnlich wie diese Videos veröffentlicht werden.

    Zusammengefasst: Man kann Douglas Crockford in Sachen JavaScript unbedingt empfehlen, vor allem sein Buch “JavaScript – The Good Parts” kann sehr erleuchtend sein!