<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>im-Tal.net &#187; Filezilla</title>
	<atom:link href="http://www.im-tal.net/tag/filezilla/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.im-tal.net</link>
	<description>im-Tal.net mit Tipps zu WordPress, Microsoft Windows, Microsoft Office, Mozilla Firefox und Thunderbird, Google Chrome, Joomla</description>
	<lastBuildDate>Thu, 26 Jan 2012 17:25:36 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPress Plugins verschieben</title>
		<link>http://www.im-tal.net/999/wordpress-plugins-verschieben/</link>
		<comments>http://www.im-tal.net/999/wordpress-plugins-verschieben/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 21:33:44 +0000</pubDate>
		<dc:creator>maxe</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Filezilla]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://www.im-tal.net/?p=999</guid>
		<description><![CDATA[Damals hatten wir uns bereits mit , und von WordPress beschäftigt. Jetzt geht&#8217;s weiter! Gedanke: nachdem wir schon den uploads Ordner verlegt haben, könnten wir auch noch den Plugins Ordner auf eine Subdomain verlegen. Sinnvoll oder nicht, bleibt hier erst mal undiskutiert. Auf jeden Fall geht das sogar noch einfacher als mit dem Uploads Ordner. &#160;...&#160;<a class="readmore" href="http://www.im-tal.net/999/wordpress-plugins-verschieben/"><img src="http://static.im-tal.net/images/weiterlesen.gif" width="100" height="21" alt="Weiterlesen &#187;" title="Weiterlesen &#187;" /></a>]]></description>
			<content:encoded><![CDATA[<p>Damals hatten wir uns bereits mit <a href="http://www.im-tal.net/723/gzip-komprimierung-aktivieren/" title="gzip-Komprimierung aktivieren">Komprimierung</a>, <a href="http://www.im-tal.net/745/caching-mit-expires/" title="Caching mit Expires">Caching</a> und <a href="http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/" title="WordPress: CDN und cookieless domain">Performance</a> von WordPress beschäftigt. Jetzt geht&#8217;s weiter!<br />
Gedanke: nachdem wir schon den uploads Ordner verlegt haben, könnten wir auch noch den Plugins Ordner auf eine Subdomain verlegen. Sinnvoll oder nicht, bleibt hier erst mal undiskutiert. Auf jeden Fall geht das sogar noch einfacher als mit dem Uploads Ordner. WordPress stellt seit Version 2.6 nämlich schon 2 Konstanten für die wp-config.php bereit:</p>
<pre class="brush: php; title: ; notranslate">
define( 'WP_PLUGIN_DIR', '/srv/www/htdocs/html/plugins' );
define( 'WP_PLUGIN_URL', 'http://subdomain.example.org/plugins' );
</pre>
<p><a href="http://codex.wordpress.org/Determining_Plugin_and_Content_Directories#Constants">http://codex.wordpress.org/Determining_Plugin_and_Content_Directories#Constants</a></p>
<p>Dafür müssen wir analog zum Uploads Ordner auf der angelegten Subdomain (subdomain.example.org) einen Ordner &#8220;plugins&#8221; anlegen. Dorthin würde dann der ganze Inhalt des ursprünglichen Plugins Ordner verschoben.<br />
Außerdem Voraussetzung: Alle Plugins müssen vernünftig von den Plugin-Autoren geschrieben sein.</p>
<p>Für uns klären wir erst noch, ob Nutzen oder Aufwand überwiegt.</p>
<small>Copyright &copy; 2005-2011<br /> This feed is for personal, non-commercial use only. The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:  imtalnet_feed (38.107.179.210) )</small>
	<h4>Verwandte Artikel</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/" title="WordPress: CDN und cookieless domain (15. August 2010)">WordPress: CDN und cookieless domain</a> (3)</li>
	<li><a href="http://www.im-tal.net/723/gzip-komprimierung-aktivieren/" title="gzip-Komprimierung aktivieren (8. August 2010)">gzip-Komprimierung aktivieren</a> (1)</li>
	<li><a href="http://www.im-tal.net/820/etwas-sicherheit-durch-die-htaccess/" title="Etwas Sicherheit durch die .htaccess (18. August 2010)">Etwas Sicherheit durch die .htaccess</a> (1)</li>
	<li><a href="http://www.im-tal.net/745/caching-mit-expires/" title="Caching mit Expires (10. August 2010)">Caching mit Expires</a> (0)</li>
	<li><a href="http://www.im-tal.net/547/wordpress-plugin-remove-dashboard-widgets/" title="WordPress-Plugin: Remove Dashboard Widgets (9. Juli 2009)">WordPress-Plugin: Remove Dashboard Widgets</a> (14)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.im-tal.net/999/wordpress-plugins-verschieben/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Etwas Sicherheit durch die .htaccess</title>
		<link>http://www.im-tal.net/820/etwas-sicherheit-durch-die-htaccess/</link>
		<comments>http://www.im-tal.net/820/etwas-sicherheit-durch-die-htaccess/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 20:08:45 +0000</pubDate>
		<dc:creator>maxe</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Filezilla]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.im-tal.net/?p=820</guid>
		<description><![CDATA[Und weiter geht es in unserer Reihe &#8220;was kann alles in die .htaccess und was bewirkt es&#8221; Mit der , dem und dem sind wir durch, jetzt folgt etwas Sicherheit. Als erstes müssen wir ganz oben in die .htaccess die RewriteEngine einschalten, falls dies nicht schon geschehen ist: Jetzt kann die Datei vor externen Zugriffen &#160;...&#160;<a class="readmore" href="http://www.im-tal.net/820/etwas-sicherheit-durch-die-htaccess/"><img src="http://static.im-tal.net/images/weiterlesen.gif" width="100" height="21" alt="Weiterlesen &#187;" title="Weiterlesen &#187;" /></a>]]></description>
			<content:encoded><![CDATA[<p>Und weiter geht es in unserer Reihe &#8220;was kann alles in die .htaccess und was bewirkt es&#8221; <img src='http://www.im-tal.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Mit der <a href="http://www.im-tal.net/723/gzip-komprimierung-aktivieren/" title="gzip-Komprimierung aktivieren">Komprimierung</a>, dem <a href="http://www.im-tal.net/745/caching-mit-expires/" title="Caching mit Expires">Caching</a> und dem <a href="http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/" title="WordPress: CDN und cookieless domain">CDN &#038; cookieless domain</a> sind wir durch, jetzt folgt etwas Sicherheit. Als erstes müssen wir ganz oben in die .htaccess die RewriteEngine einschalten, falls dies nicht schon geschehen ist:</p>
<pre class="brush: plain; title: ; notranslate">
RewriteEngine on
</pre>
<p>Jetzt kann die Datei vor externen Zugriffen geschützt werden, um die es sich die ganze Zeit dreht &#8230; die .htaccess:</p>
<pre class="brush: plain; title: ; notranslate">
# htaccess Schutz
&lt;Files ~ &quot;^.*\.([Hh][Tt][Aa])&quot;&gt;
Order deny,allow
Deny from all
&lt;/Files&gt;
</pre>
<p>ORDER bestimmt in welcher Reihenfolge Allow und Deny ausgewertet werden.<br />
Die Direktive DENY (=verweigern) bestimmt, wer vom Zugriff auf eine Ressource ausgeschlossen wird<br />
Die gegensätzliche Direktive ALLOW (=erlauben) würde es ermöglichen, bestimmten Hosts den Zugriff ausdrücklich zu gestatten.</p>
<p>Das ganze ließe sich so erweitern, dass alle Dateien die mit einem Punkt anfangen, wie z.B. auch eine .htusers oder .htpasswd, gesperrt werden:</p>
<pre class="brush: plain; title: ; notranslate">
# Dateien mit . am Anfang sperren
&lt;FilesMatch &quot;^\.&quot; &gt;
Order deny,allow
Deny from all
&lt;/FilesMatch&gt;
</pre>
<p>So, die Dateien sind schon mal vor einem Fremdzugriff gesperrt. Jetzt kommt es ja immer mal wieder vor, dass man die eigenen Bilder auf anderen Seiten verlinkt sieht. Das ist doppelt ärgerlich:</p>
<ol>
<li>wird der eigene Inhalt wo anders abgebildet </li>
<li>wird der eigene Traffic geklaut, denn die Bilder werden ja nur verlinkt &#8230; also vom eigenen Server auf fremder Seite ausgeliefert.</li>
</ol>
<p>Auch dafür gibt es einen Trick:</p>
<pre class="brush: plain; title: ; notranslate">
# Bilder-Klau
&lt;ifmodule mod_rewrite.c&gt;
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?im-tal\.net(/.*)?$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?images\.google\.de(/.*)?$ [NC]
RewriteRule \.(gif|jpg|png|pdf|zip|GIF|JPG|PNG|PDF|ZIP)$ - [F]
&lt;/ifmodule&gt;
</pre>
<p>In Zeile 2 wurde die eigene Domain eingetagen.<br />
In Zeile 3 wurde eine weitere &#8220;erlaubte&#8221; Domain eingetragen.<br />
Diese Zeile kann kopiert werden und für jede weitere erlaubte Domain verwendet werden, Prinzip sollte hier klar sein.<br />
Als letzte Zeile wird bestimmt, dass alle nicht aufgeführten und somit auch nicht erlaubten Domains eine Error 403 (Forbidden) Fehlermeldung bekommen, sobald sie eine Bild der genannten Dateitypen verlinken wollen.<br />
Falls die o.g. Variante nicht funktioniert kann folgender Code probiert werden:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;Files ~ &quot;\.(gif|jpe?g|png)$&quot;&gt;
SetEnvIfNoCase Referer ^http\:\/\/.* Verboten
SetEnvIfNoCase Referer ^http\:\/\/(www\.){0,1}im-tal\.net.* !Verboten
SetEnvIfNoCase Referer ^http\:\/\/(images\.){0,1}google\.de.* !Verboten
Order Allow,Deny
Deny from env=Verboten
Allow from all
&lt;/Files&gt;
</pre>
<p>In Zeile 2 werden erst mal alle Zugriffe verboten und durch die Zeile mit <strong>!Verboten</strong> werden dann die Ausnahmen definiert.</p>
<p>Ist die IP oder der USER_AGENT eines Angreifers bekannt oder ein Query_String der öfter von Angreifern an die URL gehangen wird, so kann auch dieser direkt ausgesperrt werden. Außerdem können auch Referer ausgesperrt werden:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;ifmodule mod_rewrite.c&gt;
# alle Einträge mit [OR] abschließen außer der letzte
RewriteCond %{REMOTE_ADDR} ^123\.234\.3\.4 [OR]
RewriteCond %{HTTP_USER_AGENT} example.* [NC,OR]
RewriteCond %{QUERY_STRING} http\: [NC,OR]
RewriteCond %{HTTP_REFERER} spamwort [NC]
RewriteRule .* - [F,L]
&lt;/ifmodule&gt;
</pre>
<p>NC gibt an, dass kein Unterschied zwischen Gross- und Kleinschreibung gemacht werden soll<br />
OR gibt an, dass ODER statt UND verwendet werden soll</p>
<p>So, zum Schluss noch 2 weitere Tipps, besonders für WordPress Benutzer. Bei WordPress ist es wichtig die Settings-Datei &#8220;wp-config.php&#8221; zu schützen. In anderen Systemen sind es vielleicht andere Dateien. Jedenfalls funktioniert dies genau so wie oben beim .htaccess Schutz:</p>
<pre class="brush: plain; title: ; notranslate">
# protect wp-config.php
&lt;files wp-config.php&gt;
Order deny,allow
Deny from all
&lt;/files&gt;
</pre>
<p>Um jetzt noch externe Zugriffe auf WordPress PHP-Dateien zu blockieren, kann folgendes in die .htaccess geschrieben werden:</p>
<pre class="brush: plain; title: ; notranslate">
# Externer Zugriffe auf PHP-Dateien blockieren
RewriteCond %{QUERY_STRING} !error
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(wp-includes|wp-content)/(.+)\.php\ HTTP/
RewriteRule .* - [F]
</pre>
<small>Copyright &copy; 2005-2011<br /> This feed is for personal, non-commercial use only. The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:  imtalnet_feed (38.107.179.210) )</small>
	<h4>Verwandte Artikel</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.im-tal.net/723/gzip-komprimierung-aktivieren/" title="gzip-Komprimierung aktivieren (8. August 2010)">gzip-Komprimierung aktivieren</a> (1)</li>
	<li><a href="http://www.im-tal.net/745/caching-mit-expires/" title="Caching mit Expires (10. August 2010)">Caching mit Expires</a> (0)</li>
	<li><a href="http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/" title="WordPress: CDN und cookieless domain (15. August 2010)">WordPress: CDN und cookieless domain</a> (3)</li>
	<li><a href="http://www.im-tal.net/999/wordpress-plugins-verschieben/" title="WordPress Plugins verschieben (22. Dezember 2011)">WordPress Plugins verschieben</a> (0)</li>
	<li><a href="http://www.im-tal.net/256/noindex-und-nofollow/" title="noindex und nofollow (2. Dezember 2008)">noindex und nofollow</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.im-tal.net/820/etwas-sicherheit-durch-die-htaccess/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress: CDN und cookieless domain</title>
		<link>http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/</link>
		<comments>http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 10:28:33 +0000</pubDate>
		<dc:creator>maxe</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Filezilla]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.im-tal.net/?p=810</guid>
		<description><![CDATA[Nachdem wir uns mit der und dem befasst haben, wollen wir ein weiteres Peformance-Thema ansprechen. In den bekannten Performance-Analyse-Werkzeugen heißt es: Googles PageSpeed: Serve static content from a cookieless domain Yahoos YSlow: Use a Content Delivery Network (CDN) Hintergrund ist: liegen dynamische Daten und statische Daten (z. B. Bilder) auf der gleichen Domain sendet der &#160;...&#160;<a class="readmore" href="http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/"><img src="http://static.im-tal.net/images/weiterlesen.gif" width="100" height="21" alt="Weiterlesen &#187;" title="Weiterlesen &#187;" /></a>]]></description>
			<content:encoded><![CDATA[<p>Nachdem wir uns mit der <a href="http://www.im-tal.net/723/gzip-komprimierung-aktivieren/" title="gzip-Komprimierung aktivieren">Komprimierung</a> und dem <a href="http://www.im-tal.net/745/caching-mit-expires/" title="Caching mit Expires">Cachen von Webseiten</a> befasst haben, wollen wir ein weiteres Peformance-Thema ansprechen. In den bekannten Performance-Analyse-Werkzeugen heißt es:<br />
Googles PageSpeed: Serve static content from a cookieless domain<br />
Yahoos YSlow: Use a Content Delivery Network (CDN)<br />
Hintergrund ist: liegen dynamische Daten und statische Daten (z. B. Bilder) auf der gleichen Domain sendet der Browser bei jeder Anfrage die Cookies der Domain mit. Statischer Content braucht aber keine Cookies, also heißt es auslagern auf eine cookieless domain.</p>
<p>Wir haben den Artikel von Frank Bültge über <a href="http://bueltge.de/eigenes-cdn-in-wordpress-nutzen/1205/">Eigenes CDN in WordPress nutzen</a> gelesen. Sehr schöner Artikel Frank. Bisher haben wir es mit dem selben Gedanken über Subdomains aber etwas undynamischer gelöst. Mal schauen wie wir es die nächsten Wochen weiter optimieren können. Aber erstmal stellen wir jetzt unsere bisherige Lösung vor:<br />
Wie erwähnt haben wir auch den Uploads Ordner, der zur Mediathek von WordPress gehört, auf einer Subdomain ausgelagern. Dafür haben wir eine Subdomain angelegt (subdomain.example.org) und dort einen Ordner &#8220;uploads&#8221; mit den üblichen CHMOD-Rechten 777 anlegen. Dorthin wurde dann der ganze Inhalt des urspünglichen Upload Ordner verschoben.<br />
In den Mediathek-Einstellungen haben wir dann den &#8220;Ordner-Pfad&#8221; auf den statischen Serverpfad geändert und den &#8220;Kompletter Pfad zu den Dateien&#8221; auf die URL geändert, z.B.<br />
Uploads in folgendem Ordner speichern: /srv/www/htdocs/html/uploads<br />
Kompletter Pfad zu den Dateien: http://subdomain.example.org/uploads</p>
<p>Dann müssen wir allerdings in der Datenbank die Einträge in der Tabelle &#8220;wp_posts&#8221; ändern, genauer dort die Felder &#8220;post_content&#8221; und &#8220;guid&#8221;. Das kann mit folgenden zwei &#8220;Replace&#8221; (ersetzen) SQL-Befehlen erledigt werden:</p>
<pre class="brush: sql; title: ; notranslate">
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.example.org/wp-content/uploads/', 'http://subdomain.example.org/uploads/');
UPDATE wp_posts SET guid = replace(guid, 'http://www.example.org/wp-content/uploads/','http://subdomain.example.org/uploads/');
</pre>
<p>Somit hätten wir dann alle Mediatheken Bilder auf der Subdomain liegen und sie werden von dort abgerufen.</p>
<p>Als zweiten Schritt sind wir her gegangen und haben alle Bilder aus dem Theme (Images Ordner im Theme Ordner) auch auf die Subdomain in einen Images Ordner verschoben. Danach nur noch alle Templates des verwendeten Themes (style.css, header.php, footer.php, functions.php etc.) auf den korrekten Pfad ändern. Statt bloginfo() müssen dann die statischen Pfade angegeben werden.<br />
Aus z. B.</p>
<pre class="brush: php; title: ; notranslate">
src=&quot;&lt;?php bloginfo('template_url'); ?&gt;/images/
</pre>
<p>wird dann</p>
<pre class="brush: xml; title: ; notranslate">
src=&quot;http://subdomain.example.org/images/
</pre>
<p>Wie Frank auch in seinem Artikel schreibt, hat Google (PageSpeed) damit keine Probleme und hakt es im besten Fall mit der Note &#8220;A&#8221; ab. Leider verlangt Yahoo (YSlow) wohl nach einem &#8220;echten&#8221; CDN.</p>
<small>Copyright &copy; 2005-2011<br /> This feed is for personal, non-commercial use only. The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:  imtalnet_feed (38.107.179.210) )</small>
	<h4>Verwandte Artikel</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.im-tal.net/999/wordpress-plugins-verschieben/" title="WordPress Plugins verschieben (22. Dezember 2011)">WordPress Plugins verschieben</a> (0)</li>
	<li><a href="http://www.im-tal.net/723/gzip-komprimierung-aktivieren/" title="gzip-Komprimierung aktivieren (8. August 2010)">gzip-Komprimierung aktivieren</a> (1)</li>
	<li><a href="http://www.im-tal.net/820/etwas-sicherheit-durch-die-htaccess/" title="Etwas Sicherheit durch die .htaccess (18. August 2010)">Etwas Sicherheit durch die .htaccess</a> (1)</li>
	<li><a href="http://www.im-tal.net/745/caching-mit-expires/" title="Caching mit Expires (10. August 2010)">Caching mit Expires</a> (0)</li>
	<li><a href="http://www.im-tal.net/242/schluss-mit-kommentar-spam/" title="Schluss mit Kommentar-Spam (27. Oktober 2008)">Schluss mit Kommentar-Spam</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Caching mit Expires</title>
		<link>http://www.im-tal.net/745/caching-mit-expires/</link>
		<comments>http://www.im-tal.net/745/caching-mit-expires/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 16:32:01 +0000</pubDate>
		<dc:creator>maxe</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Filezilla]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.im-tal.net/?p=745</guid>
		<description><![CDATA[Nachdem wir uns mit &#8220;&#8221; beschäftigt haben, folgt nun das Caching (Gültigkeit). Mit dem Apache Modul Expires ist es möglich gewissen Ressourcen einen Cache-HTTP-Header, sozusagen ein &#8220;Verfallsdatum&#8221; (gültig bis) zu geben. Somit weist das Modul den Browser an die zuvor heruntergeladenen Ressourcen von der lokalen Festplatte zu laden, anstatt erneut über das Internet. Expires geben &#160;...&#160;<a class="readmore" href="http://www.im-tal.net/745/caching-mit-expires/"><img src="http://static.im-tal.net/images/weiterlesen.gif" width="100" height="21" alt="Weiterlesen &#187;" title="Weiterlesen &#187;" /></a>]]></description>
			<content:encoded><![CDATA[<p>Nachdem wir uns mit &#8220;<a href="http://www.im-tal.net/723/gzip-komprimierung-aktivieren/" title="gzip-Komprimierung aktivieren">Webseiten-Komprimierung</a>&#8221; beschäftigt haben, folgt nun das Caching (Gültigkeit).<br />
Mit dem Apache Modul Expires ist es möglich gewissen Ressourcen einen Cache-HTTP-Header, sozusagen ein &#8220;Verfallsdatum&#8221; (gültig bis) zu geben. Somit weist das Modul den Browser an die zuvor heruntergeladenen Ressourcen von der lokalen Festplatte zu laden, anstatt erneut über das Internet.</p>
<p>Expires geben also die &#8220;Lebensdauer&#8221; einer Ressource (i.d.R. Datei) über den Cache-HTTP-Header an. Lebensdauer bedeutet, ein Zeitraum, in dem der Browser die gecachte Ressource ohne zu überprüfen, ob eine neue Version auf dem Web-Server verfügbar ist, anzeigt bzw. von der lokalen Festplatte lädt. Diese Expires sind &#8220;starke&#8221; Cache-Header und gelten unbedingt, das heißt, sobald sie gesetzt sind und die Ressource einmal heruntergeladen wurde, stellt der Browser keine GET-Anfragen für die Ressource bis das Verfallsdatum erreicht ist. Das kann Ladezeit und Traffic sparen.</p>
<p>Hier mal ein Beispiel für den Code, der so dann z. B. in die .htaccess geschrieben werden kann:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;IfModule mod_expires.c&gt;
# BEGIN Expire headers
# Modul aktivieren
  ExpiresActive on
# Fav/Icons sind 1 Monat gültig
  ExpiresByType image/ico A2419200
  ExpiresByType image/x-icon A2419200
# übliche Dateien sind 2 Wochen gültig
  ExpiresByType application/pdf A1209600
  ExpiresByType application/zip A1209600
  ExpiresByType application/javascript A1209600
  ExpiresByType application/x-javascript A1209600
  ExpiresByType application/x-shockwave-flash A1209600
# CSS sind 3 Tage gültig
  ExpiresByType text/css A2592000
# übliche Grafiken sind 3 Tage gültig
  ExpiresByType image/jpg A2592000
  ExpiresByType image/gif A2592000
  ExpiresByType image/jpeg A2592000
  ExpiresByType image/png A2592000
# alle anderen Dateien sind 4 Stunden gültig
  ExpiresDefault A14400
&lt;/IfModule&gt;
</pre>
<p>Über ExpiresByType bestimmt man den Dateityp. Die Lebensdauer wird in Sekunden angegeben, da gibt es 2 Schreibweisen:</p>
<ul>
<li>z. B. <em>&#8220;access plus 2592000 seconds&#8221;</em></li>
<li>z. B. <em>A2592000</em> (wie oben gezeigt)</li>
</ul>
<p>Wer nicht selber rechnen mag <img src='http://www.im-tal.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  , eine Übersicht der Zeitangaben wird im <a href="http://www.askapache.com/htaccess/speed-up-sites-with-htaccess-caching.html#menu0-el4">Time Cheatsheet</a> gezeigt. (z.B. 2592000 = 3 Tage * 24 Stunden * 60 Minuten * 60 Sekunden)</p>
<p>Neben den &#8220;Expires&#8221; gibt es noch &#8220;Header set Cache-Control max-age&#8221;. Hier wird auf ähnliche Weise, aber über das Apache-Modul Headers, das maximale Alter einer Datei bestimmt. Grundsätzlich gilt: Entweder Expires oder Cache-Control, <strong>nicht beides</strong>.</p>
<p>Im Zusammenhang damit sei noch kurz Last-Modified und ETag genannt. Beide geben charakteristische Spezifikationen über eine Ressource aus, sodass der Browser feststellen kann, ob Ressourcen gleich sind. Beim Last-Modified-Header ist dies immer ein Datum. Beim ETag wird die Ressource eindeutig über einen Wert (Datei-Versionen oder Content-Hashes sind typisch) identifiziert.<br />
Last-Modified ist ein &#8220;schwacher&#8221; Cache-Header, er erlaubt dem Browser heuristisch zu bestimmen, ob das Element aus dem Cache zu holen ist oder nicht. Allerdings hat es den Vorteil, dass der Browser bei einem explizitem Neuladen der Seite, auch die Ressource neu ausgibt. Auch hier ist es wieder überflüssig, sowohl ETag und Last-Modified-Header anzugeben, entweder oder.</p>
<p>Wer also Last-Modified verwendet sollte ETag wie folgt über die .htaccess deaktivieren:</p>
<pre class="brush: plain; title: ; notranslate">
# Turn ETags Off
FileETag None
</pre>
<p>Alles zusammen könnte dann so in der .htaccess aussehen:<br />
<a href="http://static.im-tal.net/uploads/htaccess.png" rel="shadowbox[sbpost-745];player=img;" title="htaccess"><img src="http://static.im-tal.net/uploads/htaccess-289x300.png" alt="htaccess" title="htaccess" width="289" height="300" class="alignnone size-medium wp-image-756" /></a></p>
<small>Copyright &copy; 2005-2011<br /> This feed is for personal, non-commercial use only. The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:  imtalnet_feed (38.107.179.210) )</small>
	<h4>Verwandte Artikel</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.im-tal.net/723/gzip-komprimierung-aktivieren/" title="gzip-Komprimierung aktivieren (8. August 2010)">gzip-Komprimierung aktivieren</a> (1)</li>
	<li><a href="http://www.im-tal.net/820/etwas-sicherheit-durch-die-htaccess/" title="Etwas Sicherheit durch die .htaccess (18. August 2010)">Etwas Sicherheit durch die .htaccess</a> (1)</li>
	<li><a href="http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/" title="WordPress: CDN und cookieless domain (15. August 2010)">WordPress: CDN und cookieless domain</a> (3)</li>
	<li><a href="http://www.im-tal.net/999/wordpress-plugins-verschieben/" title="WordPress Plugins verschieben (22. Dezember 2011)">WordPress Plugins verschieben</a> (0)</li>
	<li><a href="http://www.im-tal.net/256/noindex-und-nofollow/" title="noindex und nofollow (2. Dezember 2008)">noindex und nofollow</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.im-tal.net/745/caching-mit-expires/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gzip-Komprimierung aktivieren</title>
		<link>http://www.im-tal.net/723/gzip-komprimierung-aktivieren/</link>
		<comments>http://www.im-tal.net/723/gzip-komprimierung-aktivieren/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 14:44:45 +0000</pubDate>
		<dc:creator>maxe</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Filezilla]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.im-tal.net/?p=723</guid>
		<description><![CDATA[Heute haben wir uns mit dem Thema gzip-Compression / gzip-Kompression beschäftigt. Das Firebug Addon &#8220;YSlow&#8221; von Yahoo und auch das &#8220;Page Speed&#8221; Addon von Google bzw. die Webmaster-Tools von Google raten dazu, die gzip Komprimierung für gewisse Dateien zu aktivieren um so mehr Geschwindigkeit für die Website zu gewinnen. Durch die Kompression ist es möglich &#160;...&#160;<a class="readmore" href="http://www.im-tal.net/723/gzip-komprimierung-aktivieren/"><img src="http://static.im-tal.net/images/weiterlesen.gif" width="100" height="21" alt="Weiterlesen &#187;" title="Weiterlesen &#187;" /></a>]]></description>
			<content:encoded><![CDATA[<p>Heute haben wir uns mit dem Thema gzip-Compression / gzip-Kompression beschäftigt. Das Firebug Addon &#8220;YSlow&#8221; von Yahoo und auch das &#8220;Page Speed&#8221; Addon von Google bzw. die Webmaster-Tools von Google raten dazu, die gzip Komprimierung für gewisse Dateien zu aktivieren um so mehr Geschwindigkeit für die Website zu gewinnen. Durch die Kompression ist es möglich die Website um einige hundert Kilobyte zu entschlacken. Wer kein YSlow und/oder Page Speed hat, kann die Geschwindigkeit auch online testen: <a href="http://gtmetrix.com/">GTmetrix online tool to check website speed</a><br />
Nun gibt es mehrerer Möglichkeiten die Komprimierung zu aktivieren. Genannt seinen da 3 Möglichkeiten, je nach dem wie der Server konfiguriert ist.</p>
<ol>
<li>Für <strong>mod_deflate</strong> muss folgender Code in die .htaccess
<pre class="brush: plain; title: ; notranslate">
&lt;IfModule mod_deflate.c&gt;
&lt;FilesMatch &quot;\\.(js|css|x?html?|html|htm|php|xml)$&quot;&gt;
SetOutputFilter DEFLATE
&lt;/FilesMatch&gt;
&lt;/ifModule&gt;
</pre>
<p>Die Datei-Endungen (js|css|x?html?|html|htm|php|xml) lassen sich beliebig ändern.</p>
</li>
<li>Für <strong>mod_gzip</strong> muss folgender Code in die .htaccess
<pre class="brush: plain; title: ; notranslate">
&lt;ifModule mod_gzip.c&gt;
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
&lt;/ifModule&gt;
</pre>
<p>Auch hier lassen sich die Datei-Endungen (js|css|html|htm|php|xml) wieder beliebig ändern.</p>
</li>
<li>Für <strong>ob_gzhandler</strong> (zlib extension) muss folgender Code am Anfang einer Website stehen
<pre class="brush: php; title: ; notranslate">
&lt;?php
ob_start(&quot;ob_gzhandler&quot;);
?&gt;
</pre>
<p>Tipp1: Für WordPress ist es sinnvoll den Code als allererstes in die functions.php des Themes zu schreiben.<br />
Tipp2: ob_gzhandler komprimiert nur php-Dateien. Falls also ob_gzhandler genutzt wird, können trotzdem auch die css Dateien komprimiert werden. Dazu kopiert man einfach die css-Datei (z.B. style.css) in eine neue php-Datei (z.B. style.php). In diese neue Datei fügt man ganz oben noch folgendes ein:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
if (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) {
header('Content-type: text/css');
ob_start(&quot;ob_gzhandler&quot;);
}
?&gt;
</pre>
<p>und ganz unten noch diesen Code:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
ob_end_flush();
?&gt;
</pre>
<p>Nach dem Upload der style.php in das selbe Verzeichnis wo auch die Ursprungs-CSS liegt, muss noch der Aufruf der css in php geändert werden. Dieses geschieht im head-Teil (z.B. header.php) der Website.</p>
</li>
</ol>
<p>Ob mod_deflate, mod_gzip oder die zlib-extension auf dem Server konfiguriert ist, kann man feststellen, in dem man eine neue Datei phpinfo.php mit dem Inhalt</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
phpinfo();
?&gt;
</pre>
<p>auf den Server hoch lädt und anschließend über den Browser aufruft.</p>
<small>Copyright &copy; 2005-2011<br /> This feed is for personal, non-commercial use only. The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:  imtalnet_feed (38.107.179.210) )</small>
	<h4>Verwandte Artikel</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.im-tal.net/820/etwas-sicherheit-durch-die-htaccess/" title="Etwas Sicherheit durch die .htaccess (18. August 2010)">Etwas Sicherheit durch die .htaccess</a> (1)</li>
	<li><a href="http://www.im-tal.net/745/caching-mit-expires/" title="Caching mit Expires (10. August 2010)">Caching mit Expires</a> (0)</li>
	<li><a href="http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/" title="WordPress: CDN und cookieless domain (15. August 2010)">WordPress: CDN und cookieless domain</a> (3)</li>
	<li><a href="http://www.im-tal.net/999/wordpress-plugins-verschieben/" title="WordPress Plugins verschieben (22. Dezember 2011)">WordPress Plugins verschieben</a> (0)</li>
	<li><a href="http://www.im-tal.net/256/noindex-und-nofollow/" title="noindex und nofollow (2. Dezember 2008)">noindex und nofollow</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.im-tal.net/723/gzip-komprimierung-aktivieren/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FileZilla 3 portabel machen</title>
		<link>http://www.im-tal.net/178/filezilla-3-portabel-machen/</link>
		<comments>http://www.im-tal.net/178/filezilla-3-portabel-machen/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 14:18:25 +0000</pubDate>
		<dc:creator>im-Tal.net</dc:creator>
				<category><![CDATA[Sonstige]]></category>
		<category><![CDATA[Filezilla]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programme]]></category>

		<guid isPermaLink="false">http://www.im-tal.net/?p=178</guid>
		<description><![CDATA[Wer FileZilla schon in der Version 2 kennt, weiß dass es in dieser Version eine FileZilla.xml Datei gibt, worin alle Einstellungen gespeichert werden. Somit kann man diese Version auch bequem portabel auf einem USB-Stick mitnehmen. In der Version 3 werden die Einstellungen aber erst mal nur im Benutzerprofil von Windows gespeichert. Mit einem kleinen Trick &#160;...&#160;<a class="readmore" href="http://www.im-tal.net/178/filezilla-3-portabel-machen/"><img src="http://static.im-tal.net/images/weiterlesen.gif" width="100" height="21" alt="Weiterlesen &#187;" title="Weiterlesen &#187;" /></a>]]></description>
			<content:encoded><![CDATA[<p>Wer FileZilla schon in der Version 2 kennt, weiß dass es in dieser Version eine FileZilla.xml Datei gibt, worin alle Einstellungen gespeichert werden. Somit kann man diese Version auch bequem portabel auf einem USB-Stick mitnehmen.</p>
<p>In der Version 3 werden die Einstellungen aber erst mal nur im Benutzerprofil von Windows gespeichert. Mit einem kleinen Trick kann man die Speicherung der Einstellungen aber wieder im Ordner von FileZilla festlegen. Dazu muss nur eine fzdefaults.xml mit folgendem Inhalt im Ordner von FileZilla erstellt werden:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot; ?&gt;
&lt;FileZilla3&gt;
&lt;Settings&gt;
&lt;Setting name=&quot;Config Location&quot;&gt;Einstellungen/&lt;/Setting&gt;
&lt;/Settings&gt;
&lt;/FileZilla3&gt;
</pre>
<p>Das war es schon. Alle Einstellungen werden nun im Unterordner &#8220;Einstellungen&#8221; des FileZilla-Ordner abgespeichert. Dort findest Du insgesamt 6 Dateien.</p>
<p>Jetzt ist auch die Version 3 portabel.</p>
<small>Copyright &copy; 2005-2011<br /> This feed is for personal, non-commercial use only. The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:  imtalnet_feed (38.107.179.210) )</small>
	<h4>Verwandte Artikel</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/" title="WordPress: CDN und cookieless domain (15. August 2010)">WordPress: CDN und cookieless domain</a> (3)</li>
	<li><a href="http://www.im-tal.net/999/wordpress-plugins-verschieben/" title="WordPress Plugins verschieben (22. Dezember 2011)">WordPress Plugins verschieben</a> (0)</li>
	<li><a href="http://www.im-tal.net/502/fernwartung-mit-teamviewer/" title="Teamviewer (19. März 2009)">Teamviewer</a> (1)</li>
	<li><a href="http://www.im-tal.net/950/private-daten-cookies-beim-schliessen-von-chrome-loeschen/" title="Private Daten und Cookies beim schließen von Chrome löschen (19. Juli 2011)">Private Daten und Cookies beim schließen von Chrome löschen</a> (0)</li>
	<li><a href="http://www.im-tal.net/180/netzwerkfreigaben-mit-kaspersky-kis/" title="Netzwerkfreigaben mit Kaspersky (KIS) (2. Oktober 2008)">Netzwerkfreigaben mit Kaspersky (KIS)</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.im-tal.net/178/filezilla-3-portabel-machen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FileZilla</title>
		<link>http://www.im-tal.net/59/filezilla/</link>
		<comments>http://www.im-tal.net/59/filezilla/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 16:06:39 +0000</pubDate>
		<dc:creator>im-Tal.net</dc:creator>
				<category><![CDATA[Programm-Tipps]]></category>
		<category><![CDATA[Filezilla]]></category>
		<category><![CDATA[Programme]]></category>

		<guid isPermaLink="false">http://www.im-tal.net/?p=59</guid>
		<description><![CDATA[FileZilla ist ein modernes und leistungsstarkes FTP-Programm für Windows, MAC und Linux Betriebssysteme. FileZilla wurde in Hinblick auf einfache Bedienung und kostenlose Verfügbarkeit bei gleichzeitiger Unterstützung möglichst vieler nützlicher Features entwickelt. FileZilla ist &#8220;Open Source&#8221; unter GPL-Lizenz. Einige Features: Abgebrochene Downloads wieder aufnehmen Keep-Alive-System Verbindungen trozt Firewall oder Proxy SSL Warteschlange für Up- und Downloads &#160;...&#160;<a class="readmore" href="http://www.im-tal.net/59/filezilla/"><img src="http://static.im-tal.net/images/weiterlesen.gif" width="100" height="21" alt="Weiterlesen &#187;" title="Weiterlesen &#187;" /></a>]]></description>
			<content:encoded><![CDATA[<p>FileZilla ist ein modernes und leistungsstarkes FTP-Programm für Windows, MAC und Linux Betriebssysteme. FileZilla wurde in Hinblick auf einfache Bedienung und kostenlose Verfügbarkeit bei gleichzeitiger Unterstützung möglichst vieler nützlicher Features entwickelt. FileZilla ist &#8220;Open Source&#8221; unter GPL-Lizenz.</p>
<p>Einige Features:</p>
<ul>
<li> Abgebrochene Downloads wieder aufnehmen</li>
<li> Keep-Alive-System</li>
<li> Verbindungen trozt Firewall oder Proxy</li>
<li> SSL</li>
<li> Warteschlange für Up- und Downloads</li>
</ul>
<p>FTP-Client <a href="http://filezilla-project.org/">LINK</a></p>
<small>Copyright &copy; 2005-2011<br /> This feed is for personal, non-commercial use only. The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:  imtalnet_feed (38.107.179.210) )</small>
	<h4>Verwandte Artikel</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.im-tal.net/178/filezilla-3-portabel-machen/" title="FileZilla 3 portabel machen (2. Oktober 2008)">FileZilla 3 portabel machen</a> (0)</li>
	<li><a href="http://www.im-tal.net/62/xp-antispy/" title="xp-AntiSpy (9. September 2008)">xp-AntiSpy</a> (0)</li>
	<li><a href="http://www.im-tal.net/810/wordpress-cdn-cookieless-domain/" title="WordPress: CDN und cookieless domain (15. August 2010)">WordPress: CDN und cookieless domain</a> (3)</li>
	<li><a href="http://www.im-tal.net/999/wordpress-plugins-verschieben/" title="WordPress Plugins verschieben (22. Dezember 2011)">WordPress Plugins verschieben</a> (0)</li>
	<li><a href="http://www.im-tal.net/179/vlc-videolan-client-media-player-portabel-machen/" title="VLC-VideoLAN Client Media Player portabel machen (2. Oktober 2008)">VLC-VideoLAN Client Media Player portabel machen</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.im-tal.net/59/filezilla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

