•  
  • Allgemein (20)
  • Page2

max-width Problem im Internet Explorer 6 (IE6)

by Maik
Categories: Allgemein
Tags: No Tags
Comments: No Comments
Published on: 12.11.2009

unter http://www.bestviewed.de/css/bsp/maxwidth findet man eine sehr elegante Möglichkeit um dem Problem max-width im IE bei zu kommen. Man muss einfach eine Tabelle als Conditional Comment nur für den IE anlegen. Denn:

Der IE ignoriert die Breitenangabe einer Tabellenzelle solange diese größer ist, als die im Fenster zur Verfügung stehende Breite. (Zitat s.o.)

Um also eine Element zu erhalten, welches maximal 30em breit ist, wenn weniger Inhalt ist aber schmaler sein soll, muss man nur folgenden Code verwenden.

Hier kann jetzt ganz viel Text stehen.

komm doch mal wieder vorbei oder die Google craw rate

by Maik
Categories: Allgemein, Suchmaschinen
Tags: No Tags
Comments: No Comments
Published on: 04.11.2009

Ich habe gerade einen interessanten Artikel auf www.sitepoint.com gelesen.

http://www.sitepoint.com/forums/showthread?t=643978

Es geht um die “crawl” Rate vom googlebot. Das ist die Häfigkeit mit der der Googlebot bei einer Internetseite “reinschaut”, sprich nach geändertem und neuem Inhalt sucht. Ich habe diesen 10-Punkte-Plan mal kurz übersetzt, da ich denke, dass es wichtig ist diese Punkte im Hinterkopf zu behalten.

  1. aktualisiere den Inhalt regelmäßig und oft
  2. stell sicher, dass der Server korrekt läuft und sicher konfiguriert ist
  3. behalte die Ladezeit der Seite im Auge (vor allem die, die der Browser braucht um alles vollständig zu laden. Firebug ist dein Freund)
  4. kontrollier die interne Link Struktur der Seite (Google mag es nicht über 2 verschiedene Links zu einer Seite zu kommen)
  5. versuch mehr “Backlinks” von regelmäßig aktualisierten Seiten zu bekommen
  6. Stell die “crawl” Geschwindigkeit bei dein Google Webmaster Tools ein
  7. füge eine Sitemap hinzu (wenn man diese per XML zur Verfügung stellt, kann Google diese auch direkt abrufen.)
  8. stelle sicher, dass der Server den korrekten Header zurück gibt.
  9. alle Seiten sollten eindeutige Titel und Meta-Tags haben
  10. beobachte Google crawl in den Google Webmaster Tools und schau was geht und was nicht

Ich persönlich möchte noch anmerken, dass bei der Seitenoptimierung der Title Tag von Google & Co.  auch gewertet und gewichtet wird. Dass ein ALT Tag eines Bildes gefüllt sein sollte versteht sich von selbst.

Symfony Check

Categories: Allgemein
Tags: No Tags
Comments: No Comments
Published on: 11.10.2009

Da arbeitet man Wochen oder gar Monate an einem richtig genialen Projekt (Web 5.0 oder eine andere SuperDuperLikkerapplikation) und auf einmal kommt der Moment der Wahrheit immer näher. Man fragt sich dann, was muss ich denn jetzt eigentlich noch testen, welche Einstellungen muss ich denn noch verändern, damit die Webseite wie gewünscht starten kann? Zum Glück gibt es für Symfony-Entwickler eine eigene Seite, wo man die einzelnen Punkte abhaken kann. http://symfony-check.org/

Die meisten Sachen sind denk ich klar, aber gerade die Einstellungen für das Logging u.ä. sind vielleicht doch ein guter Tipp.

Putty mit SSH PublicKey Verfahren

by Maik
Categories: Allgemein
Tags: No Tags
Comments: 1 Comment
Published on: 11.10.2009

Über 80% aller Webserver laufen mit einem Unix Derivat, meist Linux. Um auf solche Maschinen zugreifen zu können benötigt man einen Shell/Bash Zugriff. Das geht recht einfach mit einem SSH.

Um z.B. auf einem Ubuntu System SSH einzurichten ist sehr gut auf der Wiki Seite von ubuntuusers.de beschreiben. http://wiki.ubuntuusers.de/SSH

Das Problem daran ist, dass der Zugang für alle offen ist, d.h. es kann jeder versuchen sich auf diesem Server ein zu loggen. Natürlich verwenden wir sichere Passwörter, aber dennoch wäre es doch schöner, wenn man den Zugriff für alle anderen, außer einem selbst und ggf. Mitentwickler, sperren könnte. Das geht und zwar relativ einfach, man muss nur einen SSH public/private Key erzeugen und diesen dann verwenden. Alle anderen Zugänge werden gesperrt. Unter http://www.systemengineers.de/linux/debian/key-basierte-ssh-logins-mit-putty ist der Vorgang sehr anschaulich für User beschrieben, die wie ich auf Arbeit ein Windows System mit putty benutzen.

MSSQL Standarddatenbank zurücksetzen

Categories: Allgemein
Tags: No Tags
Comments: No Comments
Published on: 01.10.2009

Wenn die Fehlermeldung “Kann Standarddatenbank des Benutzers nicht öffnen” im “Microsoft SQL Server Management Studio” kommt, muss man die Standarddatenbank auf eine andere Datenbank zurück stellen. Um diese zurück zu setzen muss man sich auf dem Server direkt einloggen und dort folgendes ausführen:

use master
go
sp_defaultdb  
go

Dementsprechend den eigenen Loginnamen und die neue Standarddatenbank eintragen. Dann sollte die Fehlermeldung auch wieder weg sein.

Subversion auf dem Webserver

Categories: Allgemein
Tags: No Tags
Comments: No Comments
Published on: 01.10.2009

Subversion ist eine Arbeitserleichterung, die ich nicht mehr missen möchte. Es hat aber auch seine Tücken. Wenn man damit ein Projekt entwickelt werden durch Subversion “.svn” Verzeichnisse angelegt, und das in rauen Mengen. Dadurch, dass ich auf einem Ubuntu-System entwickle, sehe ich diese Verzeichnisse gar nicht, da diese standardmäßig ausgeblendet werden. Wenn man dann seine Änderungen auf den Webserver spielen will, kann man das mit FTP machen, was sehr umständlich ist, oder durch einen SSH geschützen Tunnel per SVN. Wenn man ein
svn export macht, ist das auch OK, nur leider dauert das dann sehr lang. Wenn man dies bei einem Produktivsystem macht, läuft man Gefahr, dass die Internetseite nicht erreichbar ist. Also hat man ja noch die Möglichkeit mit einem svn update zu arbeiten. Es vergleicht die Dateien und schreibt nur die Veränderungen an den Dateien aus der letzte Revision. Im Prinzip ist das das Beste was einem passieren kann. Es gibt nur einen großen Haken! Die .svn Verzeichnisse sind standardmäßig im Internet erreichbar. Normalerweise ist das nicht sooo schlimm, da über das Internet nur das “web” Verzeichnis und nicht etwas das “lib” oder sonstige delikate Verzeichnisse erreichbar sind. Abhilfe kann man eigentlich recht einfach schaffen, indem man einfach die Verzeichnisse “.svn” im Apache direkt sperrt. Das geht über z.B. die apache.conf (/etc/apache2/apache2.conf)

<Directory ~  '*\.svn'>
Order Allow,Deny
Deny from All
</Directory>

Update 25.2.2010 :

In den Kommentaren zu Nils seinem Artikel habe ich eine interessante Alternative zu o.g. vorgehen gefunden.

Man kann eine kleines Shellscript schreiben, in dem erst “svn export” auf ein temporäres Verzeichnis gemacht wird und dann ein Symlink vom webroot auf dieses Verzeichnis gelegt wird.

Der Vorteil dabei: Man hat keine .svn Verzeichnisse auf dem Produktivsystem und die Ausfallzeiten sind fast null.

#/bin/sh
svn export svn://SVNSERVER /var/www/ROOT_DIR_TEMP
chown www-data /var/www/ROOT_DIR_TEMP
chmod 755 /var/www/ROOT_DIR_TEMP
mount --bind /var/www/ROOT_DIR_TEMP /var/www/ROOT_DIR

Man könnte natürlich das ganze noch mit ein oder zwei Variablen flexibler gestalten, damit das TEMP Verzeichnis nicht überschrieben wird. Aber ich denke so in etwa dürfte es funktionieren.

Apache ServerTokens

Categories: Allgemein
Tags: No Tags
Comments: 1 Comment
Published on: 29.09.2009

ServerTokens und ServerSignature stehen in Ubuntu / Debian im Verzeichnis
var/apache2/conf.d/security
und sind standardmäßig auf “Full” bzw. “On” gestellt.
Das heißt, dass jede Anfrage mit einem String wie z.B.
Apache/2.2.9 (Ubuntu) mod_ssl/2.2.9 OpenSSL/0.9.8g
beantwortet wird. Damit weiß ein potenzieller Angreifer schon recht viel über das System und kann sich auf eventuelle Sicherheitslücken dieser Produkte (Apache/Ubuntu) konzentrieren.
Deshalb ist es empfehlenswert die “ServerTokens” auf “Prod” (siehe Link) zu stellen und die ServerSignature sollte auch auf “Off” stehen. Damit wir auch die Infomationsflut” gedämpft. (siehe Link)
Es ist zwar keine richtige Sicherheitsfunktion, aber es hilft die Angriffsfläche zu verkleinern, da der Angreifer raten muss, welche Version von Apache installiert ist.

UTF-8 Zeichen in HTML-Entities umwandeln

by Maik
Categories: Allgemein
Tags: No Tags
Comments: 1 Comment
Published on: 07.10.2008

Manchmal muss man einen Fluss durchqueren, um zu sehn, dass es ganz in der Nähe eine Brücke gibt.

Ich habe versucht sämtliche Sonderzeichen die in meiner Firma so verwendet werden rauszufinden, damit ich diese dann gleich in HTML Entities umwandeln kann. Da unser Backend und Frontend ISO-8859-15 codiert ist, ließen sich die UTF-8 Strings nicht direkt in die DB schreiben.

Mit escape kann man die Daten vorm Senden UTF-8 encodieren. (bzw. URL encodieren). Im PHP nimmt man dies dann wieder entgegen mit rawurldecode(). Dann wird der Text durch folgende Funktion gejagt:

$suchmuster = '/(%u)(\w{4})/';
$ersetzung = '&#x$2;';
$inhalt = preg_replace($suchmuster, $ersetzung, $inhalt);

Die Ersetzen-Funktion sucht nach “%u” und den darauf folgenden 4 Buchstaben/Zahlen. Ersetzt wird das %u mit “&#x“, was die Codierung für hexadezimale HTML-Entities ist, und dann werden die 4 Buchstaben/Zahlen also der Hexcode eingefügt. Abschließend noch ein Semikolon zum Schluss und fertig ist der UTF-8 Konverter.

Wichtig zu erwähnen wäre, dass “normale” Umlaute, die sozusagen vom Zeichensatz unterstützt werden z.B. (ä,ö,ü) extra umgewandelt werden müssen. Bevor die Frage “Wozu das Ganze?” auftaucht, in unserem Eingabefeld sind teilweise HTML-Entities und teilweise richtige Sonderzeichen. Wenn ich nun  htmlentities() laufen lasse, wandelt er mir alles um auch bereits umgewandelte Zeichen wie &auml;.

Suchmaschinen anders bedienen

by Maik
Categories: Allgemein
Tags: No Tags
Comments: No Comments
Published on: 09.03.2008

Ich weiß, dass so ziemlich jeder, der sich im Internet “bewegt” weiß wie man eine Suchmaschine bedienen kann. Ich möchte trotzdem versuchen ein paar Tipps zusammen zu stellen, die vielleicht nicht jeder kennt oder nutzt.

  • Als Erstes und Wichtigstes: den gesuchten Begriff so genau wie nur möglich spezifizieren

    • Als Paradebeispiel kann man einen Durchschnittsuser nehmen, wenn dieser sich für die Insel Java interessiert wird er sicherlich auch Java eingeben. Nur leider wird er unter den ersten Ergebnissen kaum einen relevanten Eintrag finden. Die Programmiersprache Java ist so populär, dass es wesentlich mehr Ergebnisse gibt als für die indonesische Insel Java. Wenn der User nun weiß, dass er ja die Insel bzw. etwas zu Indonesien sucht, hat er eine vielfach höhere Trefferquote.

  • Mehr als nur einen Suchbegriff verwenden, erst wenn man mehrere relevante Suchbegriffe kombiniert, werden die Trefferlisten genauer

    • Wenn man eine Fehlermeldung wie ich sie erst unlängst hatte, sollte man diese so wie sie ist, in die Suchmaschine eingeben. Z.B. “error creating view eclipse“. Das Ergebnis ließ aber sehr zu wünschen übrig. Als ich dann aber ubuntu als zusätzlichen Suchbegriff eingab, kam ich ziemlich schnell auf die Seite von ubuntuformus.org Wodurch ich Sun Java installieren konnte und somit den Fehler beheben konnte.

  • Es gibt andere Suchmaschinen außer Google

    • Google ist unumstritten der Branchenkönig im Suchmaschinenmarkt, vor allem in Deutschland. Aber es gibt noch weitere Suchmaschinen, die ebenfalls gute und schnelle Ergebnisse bringen.

    • Es gibt z.B. ask.de, yahoo.de oder auch eine europäische z.B. exalead.de oder metager2.de.

    • Letztere ist eine so genannte Metasuchmaschine, welche keinen eigenen Index pflegt, sondern bei verschiedenen Suchmaschinen anfragt und die Ergebnisse zusammenstellt. Diese sind meist höherwertig als Ergebnisse einer einzelnen Suchmaschine. Die Geschwindigkeit der Seite hängt aber von der Reaktionszeit der angefragten Suchmaschinen ab.

    • Aber es gibt auch noch Spezialsuchmaschinen die z.B. auf klug-suchen.de aufgelistet sind.

    • Ungemein wertvoll sind auch Foren. Z.B. das ubuntuusers.de-Forum oder das Symfony-Forum. Sicherlich werden diese Foren auch von Suchmaschinen indexiert, aber man hat schnellere und genauere Ergebnisse als bei der reinen Suchmaschine.

    Zusammenfassend kann ich nur sagen, es gibt Alternativen zu Google welche oftmals gleichwertige, wenn nicht gar bessere Ergebnisse erzielen. Hauptkritikpunkt meinerseits ist bei Google die Verflechtung von allen möglichen Services. Google verpflichtet sich Cookies nach 2 Jahren zu löschen, aber nur wenn Google 2 Jahre lang nicht aufgerufen wurde.

Der erste Eintrag …

by Maik
Categories: Allgemein
Tags: No Tags
Comments: No Comments
Published on: 09.03.2008

Ist wohl immer der schwerste. Man muss sich überlegen, wie man meine seine Leser/Besucher ansprechen möchte, wie man sich geben möchte und so weiter und so fort. Ich werde versuchen einfach ich selbst zu sein. Der Inhalt meines Blogs soll sich nicht, wie man vom Name vielleicht ableiten könnte, um Fraktale drehen sondern vielmehr mit den Problemen und vor allem den Lösungen rund um Programmierung (PHP5), Datenbanken (MSSQL, MySQL), (X)HTML, JavaScript, CSS und den Frameworks Symfony (PHP) und jQuery (JS). Weiterhin möchte ich Lösungen, die mir bei der Arbeit als Systemadministrator immer wieder unter kommen, hier veröffentlichen. Einerseits um für mich eine Gedankenstütze zu haben, andererseits, so hoffe ich, soll der der Blog Leuten helfen, die wie ich, verzweifelt nach einer Lösung suchen und diese erst nach Stunden irgendo in einem Winkel des Netzes finden. Mein Grundsatz lautet: Fast jedes Problem, vor allem EDV-technischer Natur, das existiert wurde bereits irgendwo schon einmal gelöst, man muss nur intensiv genug danach suchen.

Eines muss ich noch anmerken, die Seite befindet sich noch im Aufbau und das Design ist sicherlich noch nicht das was ich mir vorstelle, aber ich will trotzdem schon mal “drin” sein, sodass es in den nächsten Tagen sicherlich die ein oder andere Änderung geben wird.

«page 2 of 2

Welcome , today is Sonntag, 05.02.2012