Schlagwort-Archive: Apache

Rapid PHP-Editor 2014 oder schneller als die Polizei erlaubt

Rapid PHP Editor 2014Wer kennt ihn noch meinen Lieblingseditor über viele Jahre: HomeSite, von der Firma Allaire. HomeSite war ein leistungsfähiger, übersichtlicher und leicht zu bedienender PHP/HTML-Editor der über viele sinnvolle Features und Funktionen verfügte. Nach Aufkäufen durch Macromedia, die wiederum von Adobe aufgekauft wurden, erschien im September 2003 mit der Version 5.5, die letzte Ausgabe.

Ruhe in Frieden geliebter HomeSite, Du warst lange ein treuer Begleiter. Aber 10 Jahre sind eine lange Zeit in der sich einiges getan hat.

Lange habe ich nach einer Alles-in-Einer-Softwarelösung für mein tägliches Programmieren in PHP, HTML, CSS und JavaScript gesucht, bis ich auf Rapid PHP-Editor von Blumentals Software gestoßen bin, den ich im folgenden Artikel vorstellen möchte.

Rapid PHP-Editor 2014

Nach der Installation kann bei einem einmaligen Einrichtungsdurchlauf das Erscheinungsbild und die Grundcharakteristik ausgewählt werden. Schon bei erstmaligen Aufruf findet man sich schnell zurecht und kann auf Entdeckungsreise gehen, denn zu entdecken gibt es vieles. Hier erst einmal die Haupt-Funktionen:

  • Schnelle Entwicklungsumgebung – wirklich flott.
  • Syntax-Hervorhebung für eine große Anzahl an Sprachen wie: HTML, CSS, JavaScript, PHP, XML, Perl, SQL, Apache.
    Rapid PHP Editor 2014 - Syntax-Highlighting
  • Integrierter FTP-Client für den Upload auf den Live-Server.
  • Erweitertes Suchen und Ersetzen in Ordner und Dateien auch mit Hilfe regulärer Ausdrücke.
  • Integriertes Debuggen und Validieren mit Hilfe von xDebug-PHP-Debugger auch in Echtzeit. Rechtschreibprüfung, W3-HTML- und CSS-Validierung, JSLint-JavaScript-Prüfung.
  • Unterstützung der Smarty-PHP-Template-Engine.
  • Code-Wiederverwendung mit Hilfe von einfach zu pflegenden Code-Bibliotheken.
  • Up-to-Date mit modernen Webstandards wie HTML5 und CSS3, inkl. Code Prefixer für max. Browser-Kompatibilität.
  • Integrierte Projekt-Verwaltung zum einfachen und bequemen Verwalten und hoch laden von Dateien und Verzeichnissen.
  • Sinnvolle Werkzeuge wie: Farbwähler, XRay zum anzeigen der CSS Struktur einer Seite, WinMerge zum vergleichen von Dateien, HTML-Tidy hilft HTML-Fehler zu erkennen und beseitigen. Rapid PHP-Editor 2014 oder schneller als die Polizei erlaubt weiterlesen

Unerwünschtes crawlen der Website durch Bots bzw. Spider verhindern

Website Crawler, auch Spider oder allgemeiner Robots bzw. Bots genannt, durchforsten das Internet und analysieren automatisch Internetauftritte um diese zu indexieren. Was bei Google, Bing und Co. erwünscht ist kann bei anderen „Besuchern“ aber auch schnell zur Last werden. Dies kann, sogar im wahrsten Sinne des Wortes, schnell zur Last werden und zwar für den jeweiligen Server auf dem die Webseite gehostet wird und der ständig unter Volldampf läuft.

Um bestimmte Bots vom durchsuchen der eigenen Website auszuschließen gibt es 2 Methoden. Zum einen mit Hilfe einer robots.txt Datei und als zweite Lösung die, mit Hilfe von URL rewrite Regeln in einer .htaccess Datei.

Ich möchte deshalb nur näher auf die zweite Methode eingehen, da das befolgen der Anweisungen einer robots.txt keine Pflicht darstellt und sich einige Spider nicht daran halten. Unerwünschtes crawlen der Website durch Bots bzw. Spider verhindern weiterlesen

Unter Joomla 2.5 die Komponente Umleitungen benutzen

404_Seite_nicht_gefundenWer schon mal eine alte Website übernommen und auf eine neue Version umstellt hat kann ein Lied davon singen was es bedeutet, eine alte URL-Struktur auf eine neue Website zu übernehmen. Unzählige Links werden nicht mehr benötigt, neue Seiten und Kategorien kommen hinzu oder was auch häufig der Fall ist, dass ein System mit Query Strings à la http://www.demo.dev?id=41 von einem neuen System abgelöst wird, welches suchmaschinenfreundliche URL’s unterstützt.

Nichts ist schlimmer für Google & Co als Seiten die nicht mehr gefunden werden und einen Status-Code 404 „Seite nicht gefunden“ zurück geben. Wer mit einem selbst entwickelten Content Management System (CMS) arbeitet, kommt um das Pflegen einer .htaccess Datei nicht herum. Dazu habe ich bereits Artikel hier und hier geschrieben. Wer mit Joomla in der aktuellen Version 2.5 arbeitet ist fein raus und kann bereits mit Bordmitteln die notwendigen Einstellungen vornehmen und zwar mit der Komponente Umleitungen. Unter Joomla 2.5 die Komponente Umleitungen benutzen weiterlesen

Infografik über die Verbreitung von WordPress

Und hier eine weitere Infografik über die Verbreitung von WordPress unter den Top 100.000 Websites. Weitere Informationen der Auswertung besagen, dass ca. 75% aller WordPress Installation unter Apache Webserver laufen. Des weiteren führt WordPress die Liste mit 11,2% aller Top-Installationen an, gefolgt von Joomla mit 2,6% und Drupal mit 1,9% auf dem dritten Platz. Infografik über die Verbreitung von WordPress weiterlesen

Absichern und Sichern einer Joomla Installation

Nachfolgend ein paar Tipps und Tricks zum Absichern einer Joomla Installation, die unter einem Apache Webserver läuft und es potentiellen Angreifern so schwer wie möglich macht, die Installation zu knacken.

Generelles

Generell gilt; halte Dein System aktuell. Zum Zeitpunkt, da ich dieses Dokument schreibe, ist im Joomla 1.5 Fork die Version 1.5.23 die aktuelle. Aktuelle Sicherheitsnachrichten gibt es im Security News Bereich auf der Joomla Seite.

Erstelle regelmäßig eine Datensicherung der Joomla Installation und der Datenbank. Die Häufigkeit des Backups hängt von der Änderungsfrequenz der Website ab; je häufiger Daten hinzukommen, um so regelmäßiger sollten auch Backups durchgeführt werden. Die Datensicherung kann von Hand mit phpMyAdmin und per ftp erfolgen. Mit phpMyAdmin lassen sich auf einfache Art und Weise MySQL Datenbanken bequem vom Webbrowser aus sichern und herunterladen. Absichern und Sichern einer Joomla Installation weiterlesen

open_basedir oder der Zugriff auf außerhalb des Apache DocumentRoot

Die open_basedir Problematik

Um zum Beispiel Konfigurationsdateien einer PHP Installation vor allzu neugierigen Blicken zu schützen, kann es ratsam sein, eben diese sensitiven Daten außerhalb des Dokumenten-Roots abzulegen. Damit ein Skript auf diese ausgelagerten Daten zugreifen kann, bedarf es der PHP.ini Direktive open_basedir.

Wenn beim ausführen eines Scriptes die Meldung „open_basedir restriction in effect“ erscheint, dann ist man ebenso davon betroffen und kann mit der nachfolgenden Lösung dieses Problem lösen.

Die open_basedir begrenzt den Zugriff auf Dateien auf einen bestimmten Ordner, die von PHP geöffnet werden, inklusive der darin enthaltenen Unterordner. Diese Direktive ist wirksam, EGAL, ob Safe Mode an oder aus ist. Wenn ein PHP Skript versucht, eine Datei zu öffnen, so wird der Speicherort der Datei geprüft ob dieser im Verzeichnisbaum, in der open_basedir Deklaration hinterlegt ist. Falls nicht, wird PHP die Datei nicht öffnen.

Wir wollen nun, für ein PHP Skript, den Zugang auf das Verzeichnis config gewähren, welches außerhalb unseres Dokument-Root (DocumentRoot) liegt und in welchem wir die Passwörter für den Zugriff auf die SQL Datenbank ablegen möchten. open_basedir oder der Zugriff auf außerhalb des Apache DocumentRoot weiterlesen

Splash Seite unter Joomla einrichten

Für ein aktuelles Webprojekt war es notwendig, in Joomla eine Splash-Seite vorzuschalten. Diese Seite sollte einen kurzen Überblick über das Unternehmen geben und es dann dem Besucher ermöglichen seine gewünschte Sprache zu wählen.

Was in der Zeit statischer html-Seiten ein einfaches war, sollte unter Joomla auch kein Problem sein, so dachte ich zu Anfang. Einfach eine Splash-Seite erstellen, dann in der Apache .htaccess Datei den DirectoryIndex umbiegen und getan. Doch so einfach lässt sich Joomla nicht überlisten.

Joomla interpretiert den Standard-Menüeintrag dahingehend, dass beim klick auf den Home-Link immer das Wurzelverzeichnis aufgerufen (/). Dies würde bedeuten, dass jedes mal, wenn ein Besucher auf den Home-Link klickt, er wieder auf der Startseite der Website, der Splash-Seite landet und das ist nicht was wir wollen. Splash Seite unter Joomla einrichten weiterlesen

Einen Virtual Host unter Apache einrichten

Der Begriff Virtuelle Hosts

Unter dem Begriff Virtual Host versteht man das Betreiben mehrerer Websites, zum Beispiel: wwww.domain.com und wwww.other-domain.com auf einem physikalischen Server.

Es wird zwischen IP-basierenden und Namens-basierten Virtual Hosts unterschieden. Bei einem IP-basierenden Virtual Host bekommt jeder Domainname eine eigene IP-Adresse zugewiesen. Bei einem Namens-basierten Virtual Host teilen sich mehrere Domain-Namen eine einzige IP-Adresse. Dass alle Domain-Namen auf ein und demselben Server laufen ist für den jeweiligen Besucher völlig transparent.

Im Weiteren wollen wir uns mit den Namens-basierten Virtual Hosts befassen und dies an einem konkreten Beispiel unter einer Windows-Entwicklungsumgebung aufzeigen.
Einen Virtual Host unter Apache einrichten weiterlesen

Praktische Anwendungen von URL rewrite

Heute möchte ich weitere praktische Beispiele für die Verwendung von mod_rewrite in .htaccess Dateien vorstellen.

Aus *.php wird *.html

Wenn man nicht möchte, dass jeder auf Anhieb mitbekommt, dass PHP zum Einstaz kommt, welches sich leicht an der Dateinamenserweiterung .php erkennen lässt, so kann kann mit dem folgenden Code wenigstens den Anschein auf statische html-Seiten wahren.

In unserem Beispiel werden je Aufruf von z.B. kontakt.htm das php Äquivalent, also kontakt.php, aufgerufen:

RewriteEngine on
RewriteRule ^(.*).html$ $1.php

Falls alle Anfragen mit einer Datei bearbeitet werden sollen, so gibt es hier die passende Lösung.

Aus *.php wird *.html Nummer zwei

Wenn im Suchmaschinenindex von z.B. Google noch URL’s die mit .php enden gelistet sind, so können wir zum einen Google mitteilen die URL nicht weiter zu verwenden und zum anderen, den Besucher der die alte alte URL anklickt, auf die neue mit .html endende URL umleiten. Google hört dabei auf den Befehl: 301 und das heißt “ Moved Permanently“; also sinngemäß, dauerhaft umgezogen.

RewriteEngine on
RewriteRule ^([^.]+)\.html$ /$1.php?rw=1 [QSA,L] 
RewriteCond %{QUERY_STRING} !^rw=1 
RewriteRule ^([^.]+)\.php$ /$1.html [R=301,L]

Vermeidung von Hotlinking

Unter Hotlinking versteht man das einbinden von Bildern auf einer Website, die auf einem anderen Server liegen. Wenn es sich zum Beispiel um eine bekannte Webcam handelt, kann dieses Hotlinking zu hohem Traffic und unter Umständen zu einem verlangsamten Seitenaufbau dieser Website kommen, da ja von diesem Hosting Bandbreite geraubt wird.

In einem vergangenen (Bild-)Projekt welches eine gute Platzierungen in der Google Bilder-Suche hatte, wurden durch Hotlinking auf unerlaubte Art und Weise Bilder auf fremden Websites eingebunden. Um dies zu verhindern verwenden wir eine .htaccess Datei mit dem folgenden Inhalt:

#RewriteEngine starten
RewriteEngine On
#Festlegen des Wurzel-Verzeichnis
RewriteBase /

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.com/.*$ [NC]
RewriteRule .*\.(gif|jpg)$ - [F,L]

Praktische Anwendungen von URL rewrite weiterlesen