<?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/"
	
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>bueltge.de [by:ltge.de] &#187; Sicherheit</title>
	<atom:link href="http://bueltge.de/tag/sicherheit/feed/" rel="self" type="application/rss+xml" />
	<link>http://bueltge.de</link>
	<description>Frank Bültge schreibt auf bueltge.de zu den Themen Webentwicklung &#38; design, WordPress, Literatur und andere Themen bezüglich Internet und Development</description>
	<lastBuildDate>Mon, 06 Feb 2012 12:19:43 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Überdenke die Verwendung von Code Snippets!</title>
		<link>http://bueltge.de/ueberdenke-verwendung-code-snippets/1270/</link>
		<comments>http://bueltge.de/ueberdenke-verwendung-code-snippets/1270/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 11:29:55 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1270</guid>
		<description><![CDATA[ich möchte zum Nachdenken oder einer Diskussion anregen: die Kultur der Snippets und ihre Verwendung. Mein Standpunkt soll als Start in die Überlegung dienen und hat keine Bestrebung in Richtung Vollständigkeit und zu Ende gedacht.]]></description>
			<content:encoded><![CDATA[<p>Mein Blog ist sicher eines der vielen Sites im Netz, das in einer gewissen Form <abbr title="Programmschnipsel, kleines Programm">Code-Snippets</abbr> veröffentlicht &#8211; davon gibt es zu Hauf, egal ob eigene Ideen oder Copy/Paste Version. Aber darüber möchte ich hier keine Worte verlieren - ich möchte zum Nachdenken oder einer Diskussion anregen: die Kultur der Snippets und ihre Verwendung. Mein Standpunkt soll als Start in die Überlegung dienen und hat keine Bestrebung in Richtung Vollständigkeit und zu Ende gedacht.<br />
Mit ist klar, dass meine Meinung eben nur meine Sicht ist und aktuell habe ich dazu keine Diskussion im engeren Kreis geführt; kenne aber die Arbeit im Alltag mit den Freunden, Kollegen und nahe stehenden Entwicklern im WordPress Umfeld.</p>
<p>Mein Standpunkt wird sicher sehr WordPress getrieben sein, da ich mich sehr stark in diesem Umfeld bewege und man verzeihe mir die Einschränkung. Aber so spreche ich sicher einen Großteil der Leser meines Blogs an und kann eventuell ein Nachdenke oder gar Umdenken erreichen. Insbesondere ziele ich auf die Anwender ab, die meinen, dass wenn Sie sämtliche Funktionen irgendwo unüberlegt kopieren und in die <code>functions.php</code> des WordPress Themes ziehen, dass Sie eine besonderes tolle Lösung haben. Ein Schnipsel, ein Snippet ist mehr als die Lösung zum Verwenden, es ist die Basis um eine Ziel schneller zu erreichen &#8211; es ist nicht die fertige Lösung für die jeweilige Anforderung.</p>
<p><img src="http://bueltge.de/wp-content/images/snippets-verwendung.jpg" alt="Snippets überdenken" width="600" height="400" /></p>
<p><span id="more-1270"></span><br />
Jeder der viel zeit mit Code verbringt und Lösungen erstellt, insbesondere wenn er dass mehr oder weniger allein tun, schmort im eigenen Saft, eignet sich Eigenarten an und wiederholt Fehler und Denkweisen. Die alltägliche Arbeit kann durch die Nutzung von Schnipseln erleichtern werden - führen sie doch oft zu der gesuchten Lösung und können entweder das Endergebnis sein oder ein Teil eines entstehenden Etwas. Dabei geht vermutlich jeder Entwickler etwas anders vor. Während dem einen die Variante des Schnipsels genügt und er via Copy/Paste die Lösung übernimmt, überdenkt der Andere die Lösung, lernt daraus, verbessert sie oder kommt damit zu einer Lösung im Sinne seiner Anforderung.</p>
<p>Gerade letzteres ist meine Grundidee beim Bereitstellen von Snippets - ich löse diverse Probleme wöchentlich und mehr, trotz der bisher noch immer nebenberuflichen Tätigkeit im Webumfeld. Die Freunde müssen dabei fast täglich ran und eine Lösung finden. Die bereitgestellten Lösungen sollen zum Nachdenken anregen und zur Lösungsfindung beitragen. Je besser man das eigene System kennt, je besser kann man die Anforderungen im Hinblick auf eine gesamtheitliche Lösung für das Basissystem und das Ziel umsetzen. Das pure Copy/Paste-Verhalten sorgt meines Erachtens für Stillstand und unüberlegtes Handeln. Ohne eine Überlegung dazu wird die vorgestellte Lösung implementiert. Insofern versuche ich auch jedes Snippet mit etwas Erläuterung anzureichern und für Verständnis zu sorgen: Warum habe ich so gehandelt? Warum diese Lösung? Man soll sich selbst zum Lernen und dem Verständnis zwingen und so den eigenen Horizont erweitern.</p>
<p>Dabei ist mir ein Austausch sehr wichtig, darum auch öffentlich. Mir ist klar, dass meine Lösung nur im Rahmen meiner Möglichkeiten entstehen kann. Ich bin im Hinblick auf das Web, WordPress und das Programmieren ein Autodidakt, habe nie eine Unterrichtsstunde zu diesen Themen besucht, es sei denn als Unterrichtender. Das Lernen kam immer aus eigenem Antrieb und der Kritik und dem Austausch mit Freunden und Lesern. Das Blog ist sicher eine wunderbare Quelle für den nachweis meines Lernens und gerade meine Plugins für WordPress spiegeln dies wieder; würde ich viele Sachen heute nicht mehr so schreiben, wie noch in den ersten Plugins. Die Lernkurve ist hoffentlich ersichtlich und gerade die vielen Eindrücke, Erfahrungen und Diskussionen machen meine Idee, so glaube ich, im Kundenumfeld so gefragt. Die Erfahrung macht am Ende einen Großteil der Lösung aus.</p>
<p><img class="alignleftob" src="http://bueltge.de/wp-plugin-sicherheit/pix/03.gif" alt="Codebasteleien" width="300" height="257" /><br />
Code-Schnipsel sind in vielen Blogs zu diversen Themen abgelegt, immer im Hinblick auf den aktuellen Wissenstand und die Zielsetzung des Autors. Darum gehören sie überdacht und auf Gültigkeit geprüft. Sei es um dem eigenen Codingstandard recht zu werden, das explizite Ziel der Anforderung zu erreichen oder eine bessere Lösung zu erstellen.<br />
Ich will Snippets nicht verteufeln, ganz im Gegenteil - teilt eure Ideen und Lösungen, diskutiert sie und seit offen für Verbesserungen! Nur so kann man aus meiner Sicht und Erfahrung zu besseren Lösungen kommen. Fehler sind menschlich - sie sind Teil von uns und wer keine Fehler macht, dem sind einfach die Aufgaben zu gering und die Herausforderung fehlt.</p>
<p>Ich möchte die Leser anregen über das pure Copy/Paste-Verhalten nachzudenken, eventuell umzudenken und beim Veröffentlichen von Schnipseln hier und da einige Worte dazu hinterlegen, so dass der Leser eine Möglichkeit hat, die Lösung zu verstehen und aktiv zu nutzen. Die ständige Verwendung von Schnipseln ohne den geist zerstören die Qualität der Lösung, sorgen für Unsicherheit -, stören die Stabilität im System und machen das Finden von Fehlern schwer. </p>
<p>Im Hinblick auf WordPress und dessen Plugin-API gibt es hier weit mehr auszuholen, aber dann wird es viel und liest das noch jemand? Überdenke gerade im Hinblick auf WordPress die Copy/Paste-Kultur von Snippets, trenne sauber zwischen den Funktionen für das Theme und als Erweiterung für das Gesamtsystem mittels eines Plugins. <a href="http://toscho.de/2011/wordpress-ein-plugin-ist-ein-plugin/" title="den Beitrag WordPress: Ein Plugin ist ein Plugin bei Thomas lesen">Thomas</a> hat dazu gerade ein <a href="http://toscho.de/2011/wordpress-ein-plugin-ist-ein-plugin/" title="den Beitrag WordPress: Ein Plugin ist ein Plugin bei Thomas lesen">wenig ausgeholt</a> und die Zahl der Plugins in einer WordPress Installation ist keine Aussage zur Qualität! Die Performance des Blogs hängt nicht von der Anzahl der Plugins ab, da gehört weit mehr dazu. Insbesondere die Fehlersuche kann mit Plugins vereinfacht werden, da man über die Oberfläche oder via FTP recht einfach deaktivieren kann - insofern man die einzelnen Funktionen sauber trennt. </p>
<p>Also - auf eine neues im Denken zu Snippets und dessen Verwendung im täglichen Arbeiten im Web oder auch nur im Hobby. Gerade die Applikation und die Arbeit damit wird es danken, der Kunde ebenso.<br />
<cite>Bildquelle: <a href="http://radiopuzzle.de/" title="Puzzle im Kopf">Puzzle im Kopf</a></cite></p>
<h4>Hinweis Session zum WordCamp Schweiz</h4>
<p>Philip Hetjens wird zu diesem Thema die Session <a href="http://wordcamp-switzerland.ch/148/session-ein-rant-uber-snippets/">Ein Rant über Snippets</a> auf dem WordCamp am 7. Mai 2011 in der Schweiz halten. Sicher ein schönes Thema zum Diskutieren und Einsichten gewinnen.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/ueberdenke-verwendung-code-snippets/1270/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/ueberdenke-verwendung-code-snippets/1270/feed/</wfw:commentRss>
		<slash:comments>68</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/snippets-verwendung.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/snippets-verwendung.jpg" medium="image">
			<media:title type="html">Snippets überdenken</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-plugin-sicherheit/pix/03.gif" medium="image">
			<media:title type="html">Codebasteleien</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Login unterbinden</title>
		<link>http://bueltge.de/wordpress-login-unterbinden/1220/</link>
		<comments>http://bueltge.de/wordpress-login-unterbinden/1220/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 23:57:12 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1220</guid>
		<description><![CDATA[Nicht immer braucht man das Login in WordPress, zwei Möglochkeiten dies zu verändern möchte ich aufzeigen.]]></description>
			<content:encoded><![CDATA[<p>Nicht immer ist ein Login in WordPress gewollt - so habe ich für meine lokale Entwicklungsumgebung das Login deaktiviert, insofern ich es nicht brauche. Bisher sind mir zwei Möglichkeiten dieser Anforderung begegnet und diese möchte ich euch kurz vorstellen.<br />
Entscheidet selbst, welche für euch der richtige Weg ist, wenn ihr das Login nicht bzw. nicht in dem Standard-Zeitrahmen benötigt.<br />
<span id="more-1220"></span></p>
<h3>Auf die harte Tour</h3>
<p>Im ersten Codeschnippsel möchte ich meine eigene Lösung vorstellen, auf die man als erstes trifft, wenn man nach einer Lösung für diese Anforderung im Core sucht. WordPress gibt die Möglichkeit, einige Funktion direkt zu ersetzen, also ohne Plugin-Schnittstelle via Hooks. Alle Funktionen in diesem Zusammenhang findet man in <code>wp-includes/pluggable.php</code>. Dort findet man seit Version 2.5 von WordPress die Funktion <code>wp_validate_auth_cookie()</code>. Diese kümmert sich um die Prüfung des Login und diese ersetze ich in meiner lokalen Entwicklungsumgebung, die von Außen aus dem Netz nicht erreichbar ist! Die Funktion gibt bei korrektem Login die ID des Users zurück und genau das tue ich - die ID 1 für den Admin, sollte es geben, wenn dieser nach der Installation nicht verändert wurde.<br />
Diese folgende kleine Funktion habe ich in der <code>wp-config.php</code> abgelegt.</p>
<pre><code class="php">
/**
 * Set authentication cookie.
 *
 * @param string $cookie Optional. If used, will validate contents instead of cookie's
 * @param string $scheme Optional. The cookie scheme to use: auth, secure_auth, or logged_in
 * @return bool|int False if invalid cookie, User ID if valid.
 */
//*
function wp_validate_auth_cookie( $cookie = '', $scheme = '' ) {
	$user_ID = (int) 1; // admin user id
	return $user_ID;
}
//*/
</code></pre>
<h4>Der Block-Kommentar-Trick</h4>
<p>Nun braucht man unter bestimmten Bedingungen das Login für verschieden Tests oder Anforderungen und dann muss die Funktion auskommentiert werden. In diesem Zusammenhang erkläre ich kurz die Kommentar-Zeichen in diesem Code, die vielleicht dem einen oder anderen auffallen und nichts sagen.</p>
<p>Es geht um folgende Zeichen:</p>
<pre><code class="php">
//*
function ...
//*/
</code></pre>
<p>Dabei muss ich lediglich die führenden Slashs ändern in <code>/*</code> und der Inhalt ist auskommentiert, mehr nicht. Dieser Tipp stammt von <a href="http://aleembawany.com/2009/01/27/lazy-block-comment-trick/">Aleem Bawany</a>; in seinem Artikel erklärt er es genau.</p>
<p>Alternativ kann man sicher auch eine Option erstellen und viele andere Wege gehen - dies ist mein Weg und der ist einfach und kontrollierbar.</p>
<h3>Die Zeit des Cookie erweitern</h3>
<p>Nun ist mir auf <a href="http://wordpress.stackexchange.com/questions/515/whats-the-easiest-way-to-stop-wp-from-ever-logging-me-out">StackExchange</a> eine weitere Lösung aufgefallen, die wesentlich sicherer ist und eventuell auch in Live-Sites einsetzbar ist. Dazu wird die Zeit des Cookie angesprochen und via Hook verändert. Im Standard von WordPress ist die &#8222;Erinnere dich an mich&#8220;-Checkbox auf 14 Tage gesetzt und die folgende Funktion ändert diesen Zeitrahmen auf ein Jahr. Der eigentliche Login bleibt also, nur die Zeit, wie lange das Login gültig ist, ändert sich.</p>
<pre><code class="php">
function keep_me_logged_in_for_1_year( $expirein ) {
    return 31556926; // 1 year in seconds
}
add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );
</code></pre>
<p>Diese <a href="http://wordpress.stackexchange.com/questions/515/whats-the-easiest-way-to-stop-wp-from-ever-logging-me-out">Lösung wurde von Alex (Viper007Bond)</a> veröffentlicht und es lohnt die Kommentare im Thread zu lesen, insbesondere zu <code>create_function</code> innerhalb des Filter-Hook.<br />
Diese Funktion gehört in ein Plugin oder die <code>functions.php</code> des Themes als Not-Alternativ.</p>
<p>Zwei Lösungen mit sehr unterschiedlichen Ansätzen und Einsetzungsscenarios. Hier ist Verantwortung wichtig beim Einsatz. Vielleicht gibt es andere Lösungen, Hinweise wie immer gern in den Kommentaren.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-login-unterbinden/1220/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-login-unterbinden/1220/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress gehackt - was tun, eine Schnellhilfe</title>
		<link>http://bueltge.de/wordpress-gehackt-was-tun-eine-schnellhilfe/1150/</link>
		<comments>http://bueltge.de/wordpress-gehackt-was-tun-eine-schnellhilfe/1150/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 19:10:48 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Sicherheitslücke]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1150</guid>
		<description><![CDATA[Eine Schnellhilfe für das gehackte WordPress Blog, nutze die Links und mache das Blog sicher.]]></description>
			<content:encoded><![CDATA[<p>... die keinen Anspruch auf Vollständigkeit erhebt und mal eben dem einen oder anderen Leser dienen soll und getrieben aus <a href="http://www.admartinator.de/2010/04/16/gehackt-duemmer-gehts-nimmer/">gegebene Anlass</a>. Das Hacken von Blogs ist keine Eigenart von WordPress Blogs - dies kann jedem CMS passieren. Ebenso kannst du dir nicht sicher sein, dass du nicht betroffen bist, nur weil du irgendein Plugin aktiv hast und weil du die aktuellste Version von WordPress fährst. </p>
<p>Wobei es hier keine Diskussion werden soll, ob WordPress mehr als andere Applikation betroffen ist oder anfälliger ist. Die Unterschiede sind weitreichend - Schwachstellen gehören zur Software und die meisten Standard-Tools sind nur für das Gewissen oder den Geldbeutel.<br />
<span id="more-1150"></span><br />
<strong>Es gibt verschiedene Erkennungsmerkmale, einige sollen helfen:</strong></p>
<ul>
<li>Ein Problem nennt man <a href="http://en.wikipedia.org/wiki/Code_injection">Code Injection</a>, <a href="http://de.wikipedia.org/wiki/Base64">Base 64</a> codierte Inhalte, meist PHP, in deine Dateien.</li>
<li>Popups, Bilder, Frames, Links im Frontend</li>
<li>Unbekannte Links im Source des Frontend</li>
<li>HTML Code in den Tabelle <code>options</code> von WordPress</li>
<li>Rechte größer 644 sind ein Risiko und meist wollen viele Plugins 755</li>
</ul>
<p><strong>Folgende Links können helfen:</strong></p>
<ul>
<li><a href="http://wordpress-buch.bueltge.de/wordpress-sicherer-machen/30/">WordPress sicher machen</a></li>
<li><a href="http://www.cywhale.de/sicherheit-wordpress-absichern/">Sicherheit/WordPress absichern</a></li>
<li><a href="http://wordpress-buch.bueltge.de/wordpress-templates-sicherer-machen/31/">WordPress Templates sicherer machen</a></li>
<li><a href="http://bueltge.de/wordpress-plugin-mehr-sicherheit/637/">WordPress Plugins für mehr Sicherheit</a></li>
<li><a href="http://www.erich-kachel.de/?page_id=133">sseq-lib (PHP security)</a></li>
<li><a href="http://playground.ebiene.de/954/adminbereich-in-wordpress-schuetzen/">10 Schritte zum Schutz des Admin-Bereichs</a></li>
<li><a href="http://bueltge.de/schuetze-deine-wp-configphp/547/">Schütze deine wp-config.php</a></li>
<li><a href="http://t3n.de/magazin/wordpress-wenigen-kniffen-angriffen-schutzen-sicher-223173/">WordPress mit wenigen Kniffen vor Angriffen schützen</a></li>
<li><a href="http://toscho.de/2009/website-gehackt/">Website gehackt – und nun?</a></li>
</ul>
<p><strong>Folgende Schritte sind anzuwenden, wenn das Blog gehackt wurde</strong> und man nur rudimentäre Kenntnisse in WordPress, PHP und mySQL hat. Alle mit dem nötigen Wissen werden gezielter vorgehen.</p>
<ul>
<li>Nutze die Export-Funktion von WordPress und sichere deine Inhalte damit</li>
<li>Export der Datenbank-Inhalte und sichern</li>
<li>Sichere die <code>wp-config.php</code></li>
<li>Sicherung des Ordners <code>wp-content</code> mit allen Inhalten</li>
<li>Prüfe die <code>wp-config.php</code> auf korrekten Inhalt und die Rechte auf dem Webspace, 644 reicht aus</li>
<li>Prüfe die Inhalte des Ordners <code>wp-content</code> - plugins, themes, uploads - auf richtige Inhalte</li>
<li>Ändere alle Passwörter: WP Backend (besser neuen User anlegen und Inhalte übernehmen, so ändert sich die ID), FTP Zugang (Achte auf starke Passwörter)</li>
<li>Ist die Datenbank das Problem, dann gilt es jede Tabelle zu überprüfen, insbesondere die Tabelle <code>options</code>, beschränke dich vorerst auf die WP Standard-Tabellen</li>
<li>Installiere WordPress neu, mit einer neuen Datenbank</li>
<li>Kopiere die Sicherung des gesäuberten Ordners <code>wp-content</code> auf die Neuinstallation</li>
<li>Importiere die Inhalte des bereinigten, falls nötig, WordPress Export-Files und hole so die Inhalte wieder rein (macht das Probleme, dann muss dies via dem SQL Export geschehen, welches du aber ohne die Tabelle <code>options</code> importieren solltest und bereinige auch dieses File</li>
<li>Überprüfe das Blog mit diversen Tools, nutze die Möglichkeiten, die die obige Artikel aufzeigen und nutze die Macht der <code>.htaccess</code> und der Rechtevergabe
<p>Beispiele der Sicherung in der<code> .htaccess</code></p>
<pre><code>
# PROTECT wp-config.php
&lt;files wp-config.php&gt;
 Order deny,allow
 deny from all
&lt;/files&gt;

# PROTECT wp-login.php with password on .htpasswd
&lt;files wp-login.php&gt;
 AuthName &quot;Admin-Bereich&quot;
 AuthType Basic
 AuthUserFile /www/htdocs/w0123123/.htpasswd
 require valid-user
&lt;/files&gt;

# PROTECT readme.html
&lt;Files readme.html&gt;
 Order Allow,Deny
 Deny from all
 Satisfy all
&lt;/Files&gt;

# PROTECT liesmich.html für DE Edition
&lt;Files liesmich.html&gt;
 Order Allow,Deny
 Deny from all
 Satisfy all
&lt;/Files&gt;

# PROTECT install.php
&lt;Files install.php&gt;
 Order Allow,Deny
 Deny from all
 Satisfy all
&lt;/Files&gt;
</code></pre>
<p><cite><a href="http://code.google.com/p/wp-basis-theme/source/browse/trunk/basis/wp-root-tipps/.htaccess">Beispiel .htaccess in WP Basis</a></cite>
</li>
</ul>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-gehackt-was-tun-eine-schnellhilfe/1150/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-gehackt-was-tun-eine-schnellhilfe/1150/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Private WordPress Beiträge für geloggte User zeigen</title>
		<link>http://bueltge.de/private-beitraege-user-zeigen/1063/</link>
		<comments>http://bueltge.de/private-beitraege-user-zeigen/1063/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 08:06:24 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Adventskalender]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1063</guid>
		<description><![CDATA[Mitunter nutzt man die Funktion der privaten Beiträge in WordPress. Diese Beiträge kann nur der User sehen, der sie erstellt hat, bzw. die Rolle des Administrators. Um alle Usern diese Artikel zu zeigen, die im System angemeldet sind, kann man verschiedene Wege gehen. Ich möchte mal zwei unterschiedliche Wege kurz aufzeigen.]]></description>
			<content:encoded><![CDATA[<p><img  class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-08.jpg" alt="WP Adventskalender 08" /><br />
Mitunter nutzt man die Funktion der privaten Beiträge in WordPress. Diese Beiträge kann nur der User sehen, der sie erstellt hat, bzw. die Rolle des Administrators. Um alle Usern diese Artikel zu zeigen, die im System angemeldet sind, kann man verschiedene Wege gehen. Ich möchte mal zwei unterschiedliche Wege kurz aufzeigen.<br />
<span id="more-1063"></span></p>
<h3>Mit Benutzerdefinierten Feldern</h3>
<p>Mit Hilfe der Benutzerdefinierten Feldern wird ein neues Feld <code>private</code> gepflegt; wenn man den Post sehen darf, dann ist dieses Feld mit dem Wert <code>true</code> zu pflegen. Dieses Feld fragen wir dann in der Loop bei der Ausgabe im Frontend ab.</p>
<pre><code>
if ( have_posts() ) :
	while ( have_posts() ) : the_post();
	// the loop
	$private = get_post_custom_values('private'); // read custom field
	if ( isset($private[0]) &#038;& $private == 'true' ) {
		if ( is_user_logged_in() ) {
			// display private post, only logged users
		}
	} else {
		// display public post, for every visitors
	}

	endwhile;
endif;
</code></pre>
<h3>Mit Berechtigungsobjekt</h3>
<p>Eine andere Methode ist es via Funktion das <a href="http://codex.wordpress.org/Roles_and_Capabilities">Berechtigungsobjekt</a> der entsprechenden Rolle zu geben. Dies kann man mit Hilfe eines Plugins tun, zum Beispiel <a href="http://justintadlock.com/archives/2009/09/17/members-wordpress-plugin">Members</a>, oder einfach mit einem kleinen Codeschnipsel in <code>functions.php</code> des Themes. Der jeweilige Schnipsel muss nur einmal aufgerufen werden, danach kann er entfernt bwz. auskommentiert werden, da das Berechtigungsobjekt in der Datenbank abgespeichert wird.</p>
<p>Das Hinzufügen des Berechtigungsobjektes zum Lesen privater Beiträge <code>read_private_posts</code> zur Role des Autors <code>author</code>.</p>
<pre><code>
function fb_add_cap2role() {
	global $wp_roles;

	$wp_roles-&gt;add_cap('author', 'read_private_posts');
}
add_action( 'init', 'fb_add_cap2role' );
</code></pre>
<p>Ebenso können die Rechte natürlich wieder entfernt werden, dies geht beispielsweise mit der folgenden kleinen Lösung.</p>
<pre><code>
function fb_remove_cap2role() {
	global $wp_roles;

	$wp_roles-&gt;remove_cap('author', 'read_private_posts');
}
add_action( 'init', 'fb_remove_cap2role' );
</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/private-beitraege-user-zeigen/1063/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/private-beitraege-user-zeigen/1063/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-08.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-08.jpg" medium="image">
			<media:title type="html">WP Adventskalender 08</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Die WordPress Datenbank Möglichkeiten</title>
		<link>http://bueltge.de/die-wordpress-datenbank-moeglichkeiten/1008/</link>
		<comments>http://bueltge.de/die-wordpress-datenbank-moeglichkeiten/1008/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 23:02:39 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1008</guid>
		<description><![CDATA[Die WordPress Datanbank Klasse ist recht umfangreich und liefert eine ganze Reihe von Methoden um effektiv mit der Datenbank zu arbeiten und dabei auf den WordPress-Standard zuzugreifen.

Zu finden ist die Klasse in <code>/wp-includes/wp-db.php</code>, wo auch die einzelnen Methoden dokumentiert sind.
Ich zeige mal die wichtigsten und lege kleine Beispiele ab. Es ist von größer Bedeutung mit diesen Möglichkeiten zu arbeiten und so die Sicherheit von Plugins zu gewährleisten.]]></description>
			<content:encoded><![CDATA[<p>Die WordPress Datenbank Klasse ist recht umfangreich und liefert eine ganze Reihe von Methoden um effektiv mit der Datenbank zu arbeiten und dabei auf den WordPress-Standard zuzugreifen.</p>
<p>Zu finden ist die Klasse in <code>/wp-includes/wp-db.php</code>, wo auch die einzelnen Methoden dokumentiert sind. Dort sind weitere Methoden zu finden, allerdings sind die wichtigsten oft in Gebrauch und daher sind diese nur ein Teil der Klasse.</p>
<p>Ich zeige mal die wichtigsten und lege kleine Beispiele ab, zum Teil in unterschiedlichen Schreibweisen, um die Möglichkeiten aufzuzeigen. Es ist von größer Bedeutung mit diesen Möglichkeiten zu arbeiten und so die Sicherheit von Plugins zu gewährleisten. Sie geben ausreichend Möglichkeiten in die Hand, schaffen Sicherheit und man nutzt die Standards von WordPress, muss sich also nicht um Abhängigkeiten kümmern.<br />
<span id="more-1008"></span><br />
Zu folgenden vier Methoden sind im Anschluss Syntaxbeispiele hinterlegt.</p>
<ul>
<li><code>insert($table, $data, $format)</code> — insert a row into a table via arrays.</li>
<li><code>update($table, $data, $where, $format, $where_format)</code> — update a row in a table via arrays.</li>
<li><code>get_var($query, $x, $y)</code> — retrieve a single variable from the database.</li>
<li><code>query($query)</code> — perform a MySQL database query with current connection</li>
<li><code>get_results($query, $output)</code> — retrieve SQL result set from database… one or more rows.</li>
<li><code>escape($data)</code> — Escapes content for insertion into the database using addslashes(), for security</li>
</ul>
<p>Ebenso sind die kommenden Methoden interessant.</p>
<ul>
<li><code>set_prefix($prefix)</code> — used to set table prefix for WordPress tables, can be used to override prefix at any time</li>
<li><code>prepare($query)</code> — safely prepares an SQL query for execution with sprintf()-like syntax.</li>
<li><code>get_row($query, $output, $y)</code> — retrieve a single row from the database.</li>
<li><code>get_col($query, $x)</code> — retrieve a single column from the database in array format.</li>
</ul>
<pre><code>
/**
 * insert
 */
$wpdb-&gt;insert( $wpdb-&gt;posts, array( 'post_title' =&gt; $mytitle ) );

$wpdb-&gt;insert( $wpdb-&gt;options, array(
			'option_name',
			'new_option_key',
			'option_value' =&gt; 'New Option Value',
			'autoload' =&gt; 'yes' )
			);

/**
 * update
 */
$wpdb-&gt;update( $wpdb->posts, array( 'post_title' =&gt; $mytitle ),
			array( 'ID' => $myid )
			);

$wpdb-&gt;update( $wpdb-&gt;options,
			array( 'option_value' =&gt; 'New Option Value' ),
			array( 'option_name' =&gt; 'new_option_value' )
			);

/**
 * get_var
 */
$post_id = $wpdb-&gt;get_var(
			$wpdb-&gt;prepare( &quot;SELECT post_id FROM
					$wpdb-&gt;postmeta WHERE
					post_id = %d AND
					meta_key = 'enclosure' AND
					meta_value LIKE (%s)&quot;, $post_ID, $url . '&amp;' )
			);

$content = $wpdb-&gt;get_var(
			$wpdb-&gt;prepare("SELECT post_content FROM " .
					"$wpdb-&gt;posts WHERE " .
					"post_title = %s AND " .
					"ID = %d", $title, $id )
		);

/**
 * query
 */
$wpdb-&gt;query( &quot;DELETE FROM $wpdb-&gt;options WHERE option_name = '$name'&quot; );

$wpdb-&gt;query( &quot;UPDATE $wpdb-&gt;posts SET post_title = '$mytitle' WHERE ID = $myid&quot; );

/**
 * query and escape
 */
$mytitle = $wpdb-&gt;escape( $mytitle );
$myid    = absint( $myid );
$wpdb-&gt;query( &quot;UPDATE $wpdb-&gt;posts SET post_title = '$mytitle' WHERE ID = $myid&quot; );

/**
 * get_results
 */
$type = $wpdb-&gt;get_results( "SELECT post_type FROM " .
				"$wpdb-&gt;posts WHERE ID=$id" );
</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/die-wordpress-datenbank-moeglichkeiten/1008/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/die-wordpress-datenbank-moeglichkeiten/1008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>SSEQ-LIB im Einsatz</title>
		<link>http://bueltge.de/sseq-lib-im-einsatz/1017/</link>
		<comments>http://bueltge.de/sseq-lib-im-einsatz/1017/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 09:29:41 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1017</guid>
		<description><![CDATA[Ich habe hier live im Blog die SSEQ-LIB im Einsatz; nur so kann ich eine ausreichend frequentierte Plattform nutzen um die Library zu testen. Wenn jemanden meiner Leser Fehler, Ungereimtheiten oder einfach Unstimmigkeiten auffallen, dann wäre ich sehr dankbar für eine Mail oder einen Kommentar hier.

Zum Hintergrund: sseq-lib ist eine mächtige PHP-Security Bibliothek]]></description>
			<content:encoded><![CDATA[<p>Ich habe hier live im Blog die <a href="http://code.google.com/p/sseq-lib/">SSEQ-LIB</a> im Einsatz; nur so kann ich eine ausreichend frequentierte Plattform nutzen um die Library zu testen. Wenn jemanden meiner Leser Fehler, Ungereimtheiten oder einfach Unstimmigkeiten auffallen, dann wäre ich sehr dankbar für eine Mail oder einen Kommentar hier.</p>
<p><strong>Zum Hintergrund:</strong> <a href="http://code.google.com/p/sseq-lib/">sseq-lib</a> ist eine mächtige PHP-Security Bibliothek<br />
Security-Themen, die sseq-lib behandelt:</p>
<ul>
<li>XSS (Cross Site Scripting)</li>
<li>SQL-Injection</li>
<li>CSRF (Cross Site Request Forgery)</li>
<li>Session-Fixation</li>
<li>Mail-Header-Injection</li>
<li>File-Injection</li>
<li>HTTP-Header-Manipulation</li>
<li>Response-Splitting</li>
<li>Informative error messages</li>
</ul>
<p>Viele Informationen stehen im <a href="http://code.google.com/p/sseq-lib/">Projektverzeichnis</a> bereit und ebenfalls auf das Blog von <a href="http://www.erich-kachel.de/?page_id=133">Erich Kachel</a>.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/sseq-lib-im-einsatz/1017/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/sseq-lib-im-einsatz/1017/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Dateitypen für die Mediathek freigeben</title>
		<link>http://bueltge.de/dateitypen-fuer-die-mediathek-freigeben/1011/</link>
		<comments>http://bueltge.de/dateitypen-fuer-die-mediathek-freigeben/1011/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 04:52:08 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP2.8]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1011</guid>
		<description><![CDATA[Mit WordPress 2.8.5 wird die Whitelist der erlaubten Mime-Typen für Downloads erstmalig auch für Administratoren gültig. Dies ist ein Schritt in Richtung Sicherheit und wird im <a href="http://talkpress.de/artikel/wordpress-2-8-5-sichere-mediathek">Artikel von Robert</a> hinreichend erklärt.
Robert zeigt auch, dass man mit Hilfe einer Konstanten die Möglichkeit alle Datentypen zu uploaden eröffnen kann.]]></description>
			<content:encoded><![CDATA[<p>Mit WordPress 2.8.5 wird die Whitelist der erlaubten Mime-Typen für Downloads erstmalig auch für Administratoren gültig. Dies ist ein Schritt in Richtung Sicherheit und wird im <a href="http://talkpress.de/artikel/wordpress-2-8-5-sichere-mediathek">Artikel von Robert</a> hinreichend erklärt.<br />
Robert zeigt auch, dass man mit Hilfe einer Konstanten die Möglichkeit alle Datentypen zu uploaden eröffnen kann.<br />
<code>define ('ALLOW_UNFILTERED_UPLOADS', true);</code></p>
<p>Wer aber im Vorfeld schon diverse Projekte mit WordPress umgesetzt hat und das Problem hatte, dass User nicht über die Rechte zum Upload eines bestimmten Formates besaßen, der musste sich auch da was einfallen lassen.</p>
<p>In vielen Fällen wurde dazu via Plugin <a href="http://www.im-web-gefunden.de/wordpress-plugins/role-manager/">Role Manager</a> der Upload aller Mime Typen erlaubt. Aus meiner Sicht nicht der richtige Weg und daher im folgenden ein kleiner Code-Schnipsel, der das Anpassen an die jeweilige Anforderung übernimmt.<br />
<span id="more-1011"></span><br />
<img class="centered" src="http://bueltge.de/wp-content/images/wp/upload-filter.png" alt="Screenshot Mediathek" /></p>
<p>Alle erlaubten Typen findet man in der Whitelist-Funktion <code>wp_check_filetype()</code>, in <code>wp-includes/functions.php</code>.<br />
Diese Funktion besitzt einen Filter <code>upload_mimes</code>, den man erweitern kann. Und dort setzen wir an und geben die Mime Typen mit, die wir benötigen. Im folgenden Beispiel erlaube ich dabei php-, xhtml- und htaccess-Files. Die Möglichkeiten werden in einem Array übergeben und die Zuordnung ist wichtig, damit WordPress auch ein Icon zuordnen kann, siehe Screenshot.</p>
<pre><code>
function my_upload_mimes() {
	$mime_types = array(
		'php|phps'   =&gt; 'text/php',
		'xhtm|xhtml' =&gt; 'text/html',
		'htaccess'    =&gt; 'text/plain'
	);

	return $mime_types;
}

add_filter( 'upload_mimes', 'my_upload_mimes' );
</code></pre>
<h4>Mime Typen</h4>
<p>Um eine Übersicht aller Mime-Typen zu erhalten, kann gern die folgenden Liste genutzt werden. Die Übergabe an WordPress sollte aber nur die enthalten, die man auch explizit braucht, ansonsten kann die obige Konstante genutzt geben.</p>
<pre><code>
$mime_types = array(
'323'     =&gt; 'text/h323',
'acx'     =&gt; 'application/internet-property-stream',
'ai'      =&gt; 'application/postscript',
'aif'     =&gt; 'audio/x-aiff',
'aifc'    =&gt; 'audio/x-aiff',
'aiff'    =&gt; 'audio/x-aiff',
'asf'     =&gt; 'video/x-ms-asf',
'asr'     =&gt; 'video/x-ms-asf',
'asx'     =&gt; 'video/x-ms-asf',
'au'      =&gt; 'audio/basic',
'avi'     =&gt; 'video/x-msvideo',
'axs'     =&gt; 'application/olescript',
'bas'     =&gt; 'text/plain',
'bcpio'   =&gt; 'application/x-bcpio',
'bin'     =&gt; 'application/octet-stream',
'bmp'     =&gt; 'image/bmp',
'c'       =&gt; 'text/plain',
'cat'     =&gt; 'application/vnd.ms-pkiseccat',
'cdf'     =&gt; 'application/x-cdf',
'cer'     =&gt; 'application/x-x509-ca-cert',
'class'   =&gt; 'application/octet-stream',
'clp'     =&gt; 'application/x-msclip',
'cmx'     =&gt; 'image/x-cmx',
'cod'     =&gt; 'image/cis-cod',
'cpio'    =&gt; 'application/x-cpio',
'crd'     =&gt; 'application/x-mscardfile',
'crl'     =&gt; 'application/pkix-crl',
'crt'     =&gt; 'application/x-x509-ca-cert',
'csh'     =&gt; 'application/x-csh',
'css'     =&gt; 'text/css',
'dcr'     =&gt; 'application/x-director',
'der'     =&gt; 'application/x-x509-ca-cert',
'dir'     =&gt; 'application/x-director',
'dll'     =&gt; 'application/x-msdownload',
'dms'     =&gt; 'application/octet-stream',
'doc'     =&gt; 'application/msword',
'dot'     =&gt; 'application/msword',
'dvi'     =&gt; 'application/x-dvi',
'dxr'     =&gt; 'application/x-director',
'eps'     =&gt; 'application/postscript',
'etx'     =&gt; 'text/x-setext',
'evy'     =&gt; 'application/envoy',
'exe'     =&gt; 'application/octet-stream',
'fif'     =&gt; 'application/fractals',
'flr'     =&gt; 'x-world/x-vrml',
'gif'     =&gt; 'image/gif',
'gtar'    =&gt; 'application/x-gtar',
'gz'      =&gt; 'application/x-gzip',
'h'       =&gt; 'text/plain',
'hdf'     =&gt; 'application/x-hdf',
'hlp'     =&gt; 'application/winhlp',
'hqx'     =&gt; 'application/mac-binhex40',
'hta'     =&gt; 'application/hta',
'htc'     =&gt; 'text/x-component',
'htm'     =&gt; 'text/html',
'html'    =&gt; 'text/html',
'htt'     =&gt; 'text/webviewhtml',
'ico'     =&gt; 'image/x-icon',
'ief'     =&gt; 'image/ief',
'iii'     =&gt; 'application/x-iphone',
'ins'     =&gt; 'application/x-internet-signup',
'isp'     =&gt; 'application/x-internet-signup',
'jfif'    =&gt; 'image/pipeg',
'jpe'     =&gt; 'image/jpeg',
'jpeg'    =&gt; 'image/jpeg',
'jpg'     =&gt; 'image/jpeg',
'js'      =&gt; 'application/x-javascript',
'latex'   =&gt; 'application/x-latex',
'lha'     =&gt; 'application/octet-stream',
'lsf'     =&gt; 'video/x-la-asf',
'lsx'     =&gt; 'video/x-la-asf',
'lzh'     =&gt; 'application/octet-stream',
'm13'     =&gt; 'application/x-msmediaview',
'm14'     =&gt; 'application/x-msmediaview',
'm3u'     =&gt; 'audio/x-mpegurl',
'man'     =&gt; 'application/x-troff-man',
'mdb'     =&gt; 'application/x-msaccess',
'me'      =&gt; 'application/x-troff-me',
'mht'     =&gt; 'message/rfc822',
'mhtml'   =&gt; 'message/rfc822',
'mid'     =&gt; 'audio/mid',
'mny'     =&gt; 'application/x-msmoney',
'mov'     =&gt; 'video/quicktime',
'movie'   =&gt; 'video/x-sgi-movie',
'mp2'     =&gt; 'video/mpeg',
'mp3'     =&gt; 'audio/mpeg',
'mpa'     =&gt; 'video/mpeg',
'mpe'     =&gt; 'video/mpeg',
'mpeg'    =&gt; 'video/mpeg',
'mpg'     =&gt; 'video/mpeg',
'mpp'     =&gt; 'application/vnd.ms-project',
'mpv2'    =&gt; 'video/mpeg',
'ms'      =&gt; 'application/x-troff-ms',
'mvb'     =&gt; 'application/x-msmediaview',
'nws'     =&gt; 'message/rfc822',
'oda'     =&gt; 'application/oda',
'p10'     =&gt; 'application/pkcs10',
'p12'     =&gt; 'application/x-pkcs12',
'p7b'     =&gt; 'application/x-pkcs7-certificates',
'p7c'     =&gt; 'application/x-pkcs7-mime',
'p7m'     =&gt; 'application/x-pkcs7-mime',
'p7r'     =&gt; 'application/x-pkcs7-certreqresp',
'p7s'     =&gt; 'application/x-pkcs7-signature',
'pbm'     =&gt; 'image/x-portable-bitmap',
'pdf'     =&gt; 'application/pdf',
'pfx'     =&gt; 'application/x-pkcs12',
'pgm'     =&gt; 'image/x-portable-graymap',
'pko'     =&gt; 'application/ynd.ms-pkipko',
'pma'     =&gt; 'application/x-perfmon',
'pmc'     =&gt; 'application/x-perfmon',
'pml'     =&gt; 'application/x-perfmon',
'pmr'     =&gt; 'application/x-perfmon',
'pmw'     =&gt; 'application/x-perfmon',
'pnm'     =&gt; 'image/x-portable-anymap',
'pot'     =&gt; 'application/vnd.ms-powerpoint',
'ppm'     =&gt; 'image/x-portable-pixmap',
'pps'     =&gt; 'application/vnd.ms-powerpoint',
'ppt'     =&gt; 'application/vnd.ms-powerpoint',
'prf'     =&gt; 'application/pics-rules',
'ps'      =&gt; 'application/postscript',
'pub'     =&gt; 'application/x-mspublisher',
'qt'      =&gt; 'video/quicktime',
'ra'      =&gt; 'audio/x-pn-realaudio',
'ram'     =&gt; 'audio/x-pn-realaudio',
'ras'     =&gt; 'image/x-cmu-raster',
'rgb'     =&gt; 'image/x-rgb',
'rmi'     =&gt; 'audio/mid',
'roff'    =&gt; 'application/x-troff',
'rtf'     =&gt; 'application/rtf',
'rtx'     =&gt; 'text/richtext',
'scd'     =&gt; 'application/x-msschedule',
'sct'     =&gt; 'text/scriptlet',
'setpay'  =&gt; 'application/set-payment-initiation',
'setreg'  =&gt; 'application/set-registration-initiation',
'sh'      =&gt; 'application/x-sh',
'shar'    =&gt; 'application/x-shar',
'sit'     =&gt; 'application/x-stuffit',
'snd'     =&gt; 'audio/basic',
'spc'     =&gt; 'application/x-pkcs7-certificates',
'spl'     =&gt; 'application/futuresplash',
'src'     =&gt; 'application/x-wais-source',
'sst'     =&gt; 'application/vnd.ms-pkicertstore',
'stl'     =&gt; 'application/vnd.ms-pkistl',
'stm'     =&gt; 'text/html',
'svg'     =&gt; 'image/svg+xml',
'sv4cpio' =&gt; 'application/x-sv4cpio',
'sv4crc'  =&gt; 'application/x-sv4crc',
't'       =&gt; 'application/x-troff',
'tar'     =&gt; 'application/x-tar',
'tcl'     =&gt; 'application/x-tcl',
'tex'     =&gt; 'application/x-tex',
'texi'    =&gt; 'application/x-texinfo',
'texinfo' =&gt; 'application/x-texinfo',
'tgz'     =&gt; 'application/x-compressed',
'tif'     =&gt; 'image/tiff',
'tiff'    =&gt; 'image/tiff',
'tr'      =&gt; 'application/x-troff',
'trm'     =&gt; 'application/x-msterminal',
'tsv'     =&gt; 'text/tab-separated-values',
'txt'     =&gt; 'text/plain',
'uls'     =&gt; 'text/iuls',
'ustar'   =&gt; 'application/x-ustar',
'vcf'     =&gt; 'text/x-vcard',
'vrml'    =&gt; 'x-world/x-vrml',
'wav'     =&gt; 'audio/x-wav',
'wcm'     =&gt; 'application/vnd.ms-works',
'wdb'     =&gt; 'application/vnd.ms-works',
'wks'     =&gt; 'application/vnd.ms-works',
'wmf'     =&gt; 'application/x-msmetafile',
'wps'     =&gt; 'application/vnd.ms-works',
'wri'     =&gt; 'application/x-mswrite',
'wrl'     =&gt; 'x-world/x-vrml',
'wrz'     =&gt; 'x-world/x-vrml',
'xaf'     =&gt; 'x-world/x-vrml',
'xbm'     =&gt; 'image/x-xbitmap',
'xla'     =&gt; 'application/vnd.ms-excel',
'xlc'     =&gt; 'application/vnd.ms-excel',
'xlm'     =&gt; 'application/vnd.ms-excel',
'xls'     =&gt; 'application/vnd.ms-excel',
'xlt'     =&gt; 'application/vnd.ms-excel',
'xlw'     =&gt; 'application/vnd.ms-excel',
'xof'     =&gt; 'x-world/x-vrml',
'xpm'     =&gt; 'image/x-xpixmap',
'xwd'     =&gt; 'image/x-xwindowdump',
'z'       =&gt; 'application/x-compress',
'zip'     =&gt; 'application/zip'
);
</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/dateitypen-fuer-die-mediathek-freigeben/1011/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/dateitypen-fuer-die-mediathek-freigeben/1011/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/upload-filter.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/upload-filter.png" medium="image">
			<media:title type="html">Screenshot Mediathek</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>XSS Scanner leicht gemacht</title>
		<link>http://bueltge.de/xss-scanner-leicht-gemacht/923/</link>
		<comments>http://bueltge.de/xss-scanner-leicht-gemacht/923/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 13:00:47 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=923</guid>
		<description><![CDATA[Ein XSS Scanner, der einfach als Bookmark genutzt werden kann &#8211; genau das ist <a href="http://www.thespanner.co.uk/2009/03/25/xss-rays/">XSS Rays</a>.
Das Tool ist ein Open-Source-Werkzeug, wurde in JavaScipt geschrieben und kann browserübergreifend XSS-Anfälligkeiten finden.

Im Entwicklungsprozess kann so schnell, einfach und unkompliziert die Sicherheit erhöht werden. Das Tool ist schnell als Lesezeichen im Browser abgelegt und scannt Links und Pfade. Alternativ kann man neue Angriffsvektoren hinzufügen. Definitiv ein Bookmark wert.]]></description>
			<content:encoded><![CDATA[<p>Ein XSS Scanner, der einfach als Bookmark genutzt werden kann &#8211; genau das ist <a href="http://www.thespanner.co.uk/2009/03/25/xss-rays/">XSS Rays</a>.<br />
Das Tool ist ein Open-Source-Werkzeug, wurde in JavaScipt geschrieben und kann browserübergreifend XSS-Anfälligkeiten finden.<br />
<span id="more-923"></span><br />
Zum Thema XSS habe ich bereits einiges an Infos veröffentlicht, was mir im Lernprozess geholfen hat, siehe Beitrag <a href="http://bueltge.de/cross-site-scripting-xss/477/">Cross Site Scripting (XSS)</a>. Bisher habe ich andere Tools eingesetzt, die mir ein wenig Sicherheit nach dem Coden geben. Mit diesem Tool bin ich daher sofort infiziert, infiziert von einer Idee, die es wirklich einfach macht, eine kleine weitere Prüfung beim Entwickeln aufzunehmen.</p>
<p>Im Entwicklungsprozess kann so schnell, einfach und unkompliziert die Sicherheit erhöht werden. Das Tool ist schnell als Lesezeichen im Browser abgelegt und scannt Links und Pfade. Alternativ kann man neue Angriffsvektoren hinzufügen. Definitiv ein Bookmark wert. Download und Anwendung finden sich auf der Webseite zum Tool <a href="http://www.thespanner.co.uk/2009/03/25/xss-rays/">XSS Rays</a>.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/xss-scanner-leicht-gemacht/923/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/xss-scanner-leicht-gemacht/923/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Update Info nur für Admins</title>
		<link>http://bueltge.de/wordpress-update-info-nur-fuer-admins/855/</link>
		<comments>http://bueltge.de/wordpress-update-info-nur-fuer-admins/855/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 08:03:18 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=855</guid>
		<description><![CDATA[Nicht selten setzt man WordPress für Nicht-Administratoren ein, sei es als CMS oder Weblog, - darum sollten auch nicht alle Nutzerrollen eine Informationen über Plugin- und Core-Updates bekommen. Um dies einfach und schnell zu realisieren, nutze ich eine kleine Abfrage in der functions.php des Themes. Mit Hilfe des Objektes edit_plugins (Rechte für Userlevel und Objekte [...]]]></description>
			<content:encoded><![CDATA[<p>Nicht selten setzt man WordPress für Nicht-Administratoren ein, sei es als CMS oder Weblog, - darum sollten auch nicht alle Nutzerrollen eine Informationen über Plugin- und Core-Updates bekommen.<br />
Um dies einfach und schnell zu realisieren, nutze ich eine kleine Abfrage in der <code>functions.php</code> des Themes. Mit Hilfe des Objektes <code>edit_plugins</code> (Rechte für Userlevel und Objekte lassen sich im <a href="http://codex.wordpress.org/Roles_and_Capabilities ">Codex</a> nachlesen) prüfe ich, ob es sich um einen User handelt, der diese Möglichkeit besitzt und die im Standard nur Administratoren zu Teil wird. Damit stelle ich sicher, dass auch nur diese Nutzer die Information über Aktualisierungen von Plugins und dem Core bekommen.</p>
<p>Nicht jeder will die Form der Funktionalitäten in ein Theme integrieren, wo sie sicher auch nicht unbedingt perfekt aufgehoben sind. Alternativ werde ich diese Lösung im Plugin &#8222;<a href="http://bueltge.de/wordpress-login-sicherheit-plugin/652/">Secure WordPress</a>&#8220; integriert, so dass man sie dort über eine Auswahlseite aktivieren kann.<br />
<span id="more-855"></span></p>
<pre><code>
/**
 * remove core-Update-Information
 * @rights: http://codex.wordpress.org/Roles_and_Capabilities
 */
if ( !current_user_can( 'edit_plugins' ) ) {
	// core update
	add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ) );
	add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
	// plugin update
	add_action( 'admin_menu', create_function( '$a', "remove_action( 'load-plugins.php', 'wp_update_plugins' );" ) );
	add_action( 'admin_init', create_function( '$a', "remove_action( 'admin_init', 'wp_update_plugins' );" ), 2 );
	add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_update_plugins' );" ), 2 );
	add_filter( 'pre_option_update_plugins', create_function( '$a', "return null;" ) );
}
</code></pre>
<p>Wer also den obigen Codeschnippsel nicht nutzen möchte und eine komfortable Verwaltung sucht, <del datetime="2009-02-04T15:30:16+00:00">der wartet bitte ein wenig - die aktuelle Version kommt sicher in den nächsten Tagen</del> der nutzt das Plugin <a href="http://bueltge.de/wordpress-login-sicherheit-plugin/652/">Secure WordPress</a>, in dem ich die Erweiterung nun drin habe.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-update-info-nur-fuer-admins/855/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-update-info-nur-fuer-admins/855/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Angst vor dem IE 8?</title>
		<link>http://bueltge.de/angst-vor-ie-8/771/</link>
		<comments>http://bueltge.de/angst-vor-ie-8/771/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 07:34:15 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Mashup]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=771</guid>
		<description><![CDATA[Der Internet Explorer der Version 8 steht in den Startlöchern und es wurde schon <a href="http://www.google.de/search?q=internet+explorer+8+beta+2">viel darüber berichtet</a>. Für Microsoft ist es aus meiner Sicht eine sehr starke Veränderung, für Webentwickler ist es ein Fortschritt in jeder Hinsicht. Der IE war in der Vergangenheit nicht gerade der Liebling der Webentwickler. Allerdings sollte man auch nicht verschweigen, dass Microsoft eine ganze <a href="http://www.drunkenfist.com/304/2008/08/11/some-internet-explorer-innovations-you-probably-forgot-about-while-waiting-for-ie6-to-die/">Reihe von Möglichkeiten</a> im Web geschaffen hat, die den Internet Explorer zumindest im Bereich von Administration und Business-Anwendungen schon vor AJAX und Web 2.0 zu Möglichkeiten verhalf, die mit anderen Browsern damals nicht denkbar waren.]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/internet_explorer.jpg" alt="IE" /><br />
Der Internet Explorer der Version 8 steht in den Startlöchern und es wurde schon <a href="http://www.google.de/search?q=internet+explorer+8+beta+2">viel darüber berichtet</a>. Für Microsoft ist es aus meiner Sicht eine sehr starke Veränderung, für Webentwickler ist es ein Fortschritt in jeder Hinsicht. Der IE war in der Vergangenheit nicht gerade der Liebling der Webentwickler. Allerdings sollte man auch nicht verschweigen, dass Microsoft eine ganze <a href="http://www.drunkenfist.com/304/2008/08/11/some-internet-explorer-innovations-you-probably-forgot-about-while-waiting-for-ie6-to-die/">Reihe von Möglichkeiten</a> im Web geschaffen hat, die den Internet Explorer zumindest im Bereich von Administration und Business-Anwendungen schon vor AJAX und Web 2.0 zu Möglichkeiten verhalf, die mit anderen Browsern damals nicht denkbar waren.</p>
<p>Und auch beim Internet Explorer 8 führt Microsoft wieder Neuerungen ein, die der Webwelt vorerst in zwei Lager spalten. In diesem Artikel will ich mich daher nicht über Webstandards und Microsoft auslassen, sondern über die neuen Funktionen gegen das Ausspähen von Nutzern.<br />
<span id="more-771"></span><br />
Den Schwenk von proprietärem Standard, hin zu offenen Webstandards und Vorgaben des W3C sorgen bei einigen Unternehmen schon jetzt für Unbehagen. Noch können Sie sich eine Weile gegen den neuen Browsers wehren, aber ewig werden sie das Lager des IE 6 doch nicht halten können und müssen auch dem Druck der Anwender im Unternehmen nachgeben. Der eingeführte Meta-Tag, der den IE 8 mit der Darstellungsfunktion des IE 7 fahren lässt, wird uns wohl noch geraume Zeit begleiten.</p>
<pre><code>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
</code></pre>
<p>Seit der Beta 2 des IE 8 ist nun aber ein zweiter Punkt im Browser, der nicht nur die Unternehmen für die Verwendung des Browsers intern verärgert, sondern auch für die Funktion vieler Webservices und Websiten kann mit der neuen Funktion InPrivate viel Unbehagen gestreut werden.</p>
<h3>InPrivat</h3>
<p>In einigen Medien auch als <a href="http://www.spiegel.de/netzwelt/tech/0,1518,574872,00.html">Porno-Modus</a> bekannt, soll die InPrivate-Funktion dem Nutzer mehr Sicherheit geben. Die Privatsphäre des Nutzers wird gewahrt. Wissbegierige Anbieter werden ausgesperrt. Die neue Funktion sammelt eine ganze Reihe von Funktionen, die man auch aus anderen Browsern kennt, die aber im IE 8 gebündelt werden und der Unternehmensführung das Leben sehr erschweren können. Eine einfache Funktion ist dabei beispielsweise, dass man via Klick die Spuren des Surfverhaltens löschen kann. Dies ist aber so nicht immer erwünscht, denn dabei können auch für den Nutzer wichtige Informationen verloren gehen. Im IE 8 öffnet der InPrivate Modus ein neues Fenster und wendet in diesem Browser alle Mechanismen an, die die Privatsphäre schützen. Alle Informationen, die im Vorfeld im &#8222;normalen&#8220; Modus gespeichert wurden, bleiben dabei aber erhalten. Alle Daten werden also nur temporär bis zum Ende dieser Sitzung gespeichert. Cookies und Cache-Dateien, Suchanfragen, Formulare und Passwörter werden damit nicht gespeichert, ebenso die Historie der URLs.<br />
<img class="centered" src="http://bueltge.de/wp-content/images/inprivate.jpg" alt="about:inprivate" /></p>
<h3>Auswirkungen</h3>
<p>Um das Surfverhalten eines Nutzers zu erhalten, nutzen eine ganze Reihe von Firmen die Cookies; bekanntestes Beispiel ist wohl Google, die mit einer vielen Services unter diesem Modus leiden werden. Die Werbung, die Google finanziert und auf den Nutzer abstimmt, wäre dann nicht mehr so lukrativ und Google hat mit Sicherheit einen geringeren Interessenkreis von Werbenden, wenn sie diese Funktion nicht umgehen können.<br />
Wie bei so vielen Sicherheitsthemen sind die Lösungen/Alternativen nicht weit und auch in diesem Bereich gibt es Möglichkeiten, die schon jetzt Anwendung finden - die <a href="http://de.wikipedia.org/wiki/Flash-Cookie">Adobe Flash Cookies</a>. Diese Form der Cookies lassen sich nicht über die Konfiguration des Browsers auslesen oder löschen. Eine anderen Lösung ist die Zuordnung eines &#8222;<a href="http://my.affiliate-life.at/fingerprint-tracking-was-ist-das">Fingerprint</a>&#8220;, der ebenfalls schon jetzt von diversen Anwendungen genutzt wird. Mit der Veröffentlichung des IE 8 wird dieser Trend sicher enorm an Potenzial gewinnen.</p>
<p>Eine weitere Funktion des IE 8 wird aber sicher viele Anbieter im Web vor eine Veränderung stellen bzw. zum Umdenken bewegen, die Funktion &#8222;Blocking&#8220;. Auch diese Funktion wird mit dem InPrivate-Modus aktiviert. Sie richtet sich in erster Linie gegen die Angebote Dritter in Websites. Dem Anwender ist aktuell nicht bewusst, wo die Daten herkommen. Im einfachsten Fall geht der Nutzer davon aus, dass die alle Inhalte von der Website kommen, dessen URL in der Adresszeile steht. Vielen Websiten und Services nutzen aber die Möglichkeit Inhalte von anderen Seiten bereit zu stellen, ohne die angesurfte Website zu verlassen. Auf dem <a href="http://blogs.msdn.com/ie/">Blog von Microsoft zum IE</a> wird dieser Modus diskutiert und im Sinne des Web ist die Zusammenführung von Inhalten legitim. Für die Privatsphäre des Nutzers ist das aber eine Verletzung, so Dean Hachamovitch, Gerneral Manager des IE. Denken wir an Analysetools und Anzeigenvermarktung, dann ist diese Technik nicht weg zu denken. Im Zeitalter des Web 2.0 ist diese Technologie richtig populär geworden. Websites sind keine abgeschlossenen Container, viele Schnittstellen wie z.B. XML machen die Integration externer Services einfach. Auch hier trifft es den Riesen Google besonders, denke ich nur an Google Maps. Viel genutzt um Informationen auf der Website zu bereichern, ist es doch ein Dienst außerhalb der eigentlichen Website. Ebenfalls trifft dieser Modus viele Services des Web 2.0 und Unternehmen, die ihre Website mit externen Daten füttern, um die Inhalte attraktiver zu gestalten.<br />
Diese Funktion erhält seitens Microsoft sogar noch einen Bonus, denn die Suchmuster des Browsers können gesammelt und importiert werden. Damit kann jeder Nutzer des IE seine eigene Liste erstellen und diese zum Download anbieten. Ähnlich kennt man das vom Add on <a href="http://adblockplus.org/de/">Adblock Plus</a> im Firefox. Dabei handelt es sich aber um eine Erweiterung, was die Nutzerzahl reduziert; der Laie nutzt den Browser in seiner reinsten Form und kennt oft diverse  und Möglichkeiten nicht.</p>
<h3>Fazit</h3>
<p>Microsoft bringt einen neuen Browser und zum ersten mal macht man den Webentwicklern wohl eine Freude damit, dass man offene Standards unterstützt. Im gleichen Atemzug werden aber diverse Entwicklungen erschwert, da Microsoft dem Nutzer mit InPrivate einen neuen Service bietet. Die berechtigte Sorge vieler Nutzer, dass ihre Gewohnheiten und Interessen durch kommerzielle Websites ausgespäht werden, kann damit genommen werden und jeder Nutzer kann selbst entscheiden, was er frei geben will. Ein zweischneidiges Schwert - einerseits genießen Nutzer die zugeschnittenen Angebote oder bessere Suchergebnisse, andererseits wollen sie ihre Privatsphäre behalten. Mit diesem neuen Modus im IE 8 bündelt Microsoft viele bisher verstreute Funktionen und macht die Nutzung einfach, auch für wenige versierte Anwender. In Private sorgt nicht nur dafür, dass Inhalte aus dem WWW lokal gespeichert werden, sondern hält Drittinhalte außen vor. Mit der letzteren Funktion werden sicher viele Anbieter im Web ein Problem haben und Auswirkungen lassen sich heute noch nicht absehen. Wird also der IE 8 nur annähernd so viele Nutzer wie der viel verhasste IE 6 haben, dann setzt Microsoft die Webanbieter unter Zugzwang. Google muss also mehr als eine Alternative im Browsermarkt bieten, denn nur sehr wenige Unternehmen werden von der Hauptstraße Microsoft abbiegen und einen alternativen Browser nutzen. Alternativ können die Anbieter hoffen, dass die Nutzung Angebote Dritter schon so weit fortgeschritten ist, dass die Nutzer diesen Service nicht mehr wissen wollen und diesen Modus im IE 8 keine Chance geben.</p>
<p>Mal wieder zeigt Microsoft, dass sie ein berechtigtes Mitspracherecht auch über und im Web haben. Mit der Veröffentlichung der Beta 2 des IE 8 ist das Interesse nicht nur seitens der Webentwickler da, denn InPrivate betrifft viel größere Kreise und könnte den aktuellen Trend zu Integration immer mehr Mashups ändern.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/angst-vor-ie-8/771/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/angst-vor-ie-8/771/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/internet_explorer.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/internet_explorer.jpg" medium="image">
			<media:title type="html">IE</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/inprivate.jpg" medium="image">
			<media:title type="html">about:inprivate</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress 2.6, ohne XML-RPC &amp; Atom</title>
		<link>http://bueltge.de/wordpress-26-ohne-xmlrpc-atom/686/</link>
		<comments>http://bueltge.de/wordpress-26-ohne-xmlrpc-atom/686/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 16:43:07 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Atom]]></category>
		<category><![CDATA[Install]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP2.6]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=686</guid>
		<description><![CDATA[Einige Neuerungen wurden schon in hier im Blog, bei WP Deutschland und bei TalkPress vorgestellt, unter anderem gibt es Veränderungen in Richtung Sicherheit der Installation. In diese Richtung geht auch die neuste Änderung des Core. Die Standard-Installation ist geliebtes Kind von WordPress und die Einfachheit soll erhalten bleiben. Trotzdem geht man dazu über, dass im [...]]]></description>
			<content:encoded><![CDATA[<p>Einige Neuerungen wurden schon in <a href="http://bueltge.de/tag/wp26/">hier im Blog</a>, bei <a href="http://blog.wordpress-deutschland.org/tag/wp26/">WP Deutschland</a> und bei <a href="http://talkpress.de/kategorie/wordpress-2-6/">TalkPress</a> vorgestellt, unter anderem gibt es Veränderungen in Richtung Sicherheit der Installation. In diese Richtung geht auch die neuste Änderung des Core. Die Standard-Installation ist geliebtes Kind von WordPress und die Einfachheit soll erhalten bleiben.<br />
Trotzdem geht man dazu über, dass im zukünftigen Standard die <a href="http://de.wikipedia.org/wiki/XMLRPC">XMLRPC</a>-Schnittstelle und das <a href="http://de.wikipedia.org/wiki/Atom_(XML-Format)">Atom</a>-Protokoll nicht aktiv sind. Aber keine Angst vor großen Eingriffen, zwei Felder in den Optionen genügen und schon ist man wieder aktiv in der Welt der Blogs unterwegs. Zu finden sind die Einstellungen im Bereich Einstellungen > Schreiben.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp26/wp26_xmlrpc.png" alt="Einstellungen XML-RPC und Atom" /></p>
<p>Aktiv oder nicht, dass wird im übrigen ab 2.6 schon in der Installation abgefragt, so dass Neuinstallationen direkt darauf gestoßen werden.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-26-ohne-xmlrpc-atom/686/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-26-ohne-xmlrpc-atom/686/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp26/wp26_xmlrpc.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp26/wp26_xmlrpc.png" medium="image">
			<media:title type="html">Einstellungen XML-RPC und Atom</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Login Sicherheit - Secure WP (Plugin)</title>
		<link>http://bueltge.de/wordpress-login-sicherheit-plugin/652/</link>
		<comments>http://bueltge.de/wordpress-login-sicherheit-plugin/652/#comments</comments>
		<pubDate>Mon, 19 May 2008 03:47:20 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Login]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=652</guid>
		<description><![CDATA[WordPress gibt dem Anwender Information in die Hand, wenn er/sie sich falsch versucht hat einzuloggen. Die Ausgabe der Informationen sind recht vielschichtig und stellen ein Sicherheitsrisiko dar, denn mit diesen Informationen kann ein potenzieller Eindringling seinen Algorithmus beeinflussen.

Im Bereich Usability ist das auch ein feiner Zug und viele &#8222;normale Anwender&#8220; sind für diese Information sicher dankbar. Im Bereich eines Privatblogs oder mit Nutzern die mit der Umgebung vertraut sind sind diese Informationen nicht sonderlich relevant. Darum deaktiviere ich sie und mache so ein weiteres Hilfsmittel für potentielle Eindringlinge dicht. Das geht recht einfach, denn WordPress benutzt auch hier einen Filter-Hook und somit kann man diesen Filter recht einfach deaktivieren.]]></description>
			<content:encoded><![CDATA[<div class="landingsites">
<p>Für dieses Plugin gibt es keinen Support mehr von mir, die Version wurde komplett übernommen und wird von <a href="http://www.sitesecuritymonitor.com/secure-wordpress-plugin">Site Security Monitor</a> betreut. Bitte nutzt diese Version und meldet euch über die <a href="http://wordpress.org/extend/plugins/secure-wordpress/">Plugin-Seite</a> mit Fehlern, Wünschen und Hinweisen.</p>
<p>I don't provide support anymore for this plugin. This version has been completely taken over and will be maintained by <a href="http://www.sitesecuritymonitor.com/secure-wordpress-plugin">Site Security Monitor</a>. Please use this version and send emails via the <a href="http://wordpress.org/extend/plugins/secure-wordpress/">plugin page</a> about errors, wishes and tips.
</div>
<p>WordPress gibt dem Anwender Information in die Hand, wenn er/sie sich falsch versucht hat einzuloggen. Die Ausgabe der Informationen sind recht vielschichtig und stellen ein Sicherheitsrisiko dar, denn mit diesen Informationen kann ein potenzieller Eindringling seinen Algorithmus beeinflussen.</p>
<p>Im Bereich Usability ist das auch ein feiner Zug und viele &#8222;normale Anwender&#8220; sind für diese Information sicher dankbar. Im Bereich eines Privatblogs oder mit Nutzern die mit der Umgebung vertraut sind sind diese Informationen nicht sonderlich relevant. Darum deaktiviere ich sie und mache so ein weiteres Hilfsmittel für potentielle Eindringlinge dicht. Das geht recht einfach, denn WordPress benutzt auch hier einen Filter-Hook und somit kann man diesen Filter recht einfach deaktivieren.<br />
<span id="more-652"></span><br />
<img class="centered" src="http://bueltge.de/wp-content/images/wp25/wp25-login-error.png" alt="Login Fehlermeldung deaktivieren" /></p>
<p>Je nach Kenntnisstand kann man das auf zwei verschiedene Varianten tun. Entweder der folgende Code kommt in die <code>functions.php</code> des Themes oder man aktiviert einfach das nachstehend angebotene Plugin.</p>
<p>Das Plugin werde ich nach und nach mit weiteren Lösungen ausbauen, je nach Zeit und Kenntnisstand. Aktuell habe ich viele Lösungen auf unterschiedlichem Wege realisiert und will diese in diesem Plugin ablegen. Mit wenig Aufwand soll man so die gängigen Probleme lösen können. Ich werde aber sicher keinen Optionsbereich einbauen, denn zusätzliche Daten in der Datenbank für derartige Lösungen halte ich für überflüssig. Alles weitere dokumentiere ich dann hier im Beitrag und im Quellcode.</p>
<pre><code>
/**
 * remove Error-information
 */
add_filter( 'login_errors', create_function( '$a', "return null;" ) );
</code></pre>
<h3>Was macht das Plugin ?</h3>
<ol>
<li>Error Informationen aus dem Login-Bereich entfernen</li>
<li>WordPress Version aus allen Bereich, außer Backend, entfernen; auch im Feed (<a href="http://bueltge.de/wordpress-version-verschleiern-plugin/602/">weitere Info's</a>)</li>
<li>Versionsinformation für Nicht-Admins auch im Backend nicht ersichtlich.</li>
<li>erstellt eine virtuelle <em>index.html</em> im Plugin-Verzeichnis und eventuell das Listen des Inhaltes zu verhindern.</li>
<li>Entfernt Link für Windows Live Writer</li>
<li>Entfernt Link zum Really Simple Discovery Service</li>
<li>Entfernt die Update-Info zur WordPress Version für Nicht-Admins</li>
<li>Entfernt die Update-Info zu Plugin Updates für Nicht-Admins</li>
<li>Ergänzt um den String um den <a href="http://blogsecurity.net/wpscan">WP Scanner</a> zu nutzen</li>
<li>WordPress gegen bösartige URL-Anforderungen schützen</li>
</ol>
<h3>Anforderungen</h3>
<p>Secure WordPress arbeitet ab WP 2.6 und wurde getestet bis Version 2.9-rare.</p>
<h3>Installation</h3>
<ul>
<li>Die gepackte Datei downloaden und lokal entpacken</li>
<li>Die Datei in dein Plugin-Verzeichnis kopieren (/wp-content/plugins/)</li>
<li>Aktivieren des Plugins im Adminbereich deines WP</li>
</ul>
<h3>Download:</h3>
<p>Der Download ist auf der zugehörigen <a href="http://wordpress.org/extend/plugins/secure-wordpress/">Plugin-Seite</a> zu finden; dort steht die jeweils letzte Version zur Verfügung.</p>
<h3 id="historie">Historie</h3>
<ul>
<li>0.1 - Idee und Umsetzung</li>
<li>0.2 - Hinzugekommen: Entfernt WP-Version in allen Bereichen, außer Admin; fügt die <code>index.html</code> zum Plugin-Verzeichnis hinzu (damit kann das Plugin <a href="http://bueltge.de/wordpress-version-verschleiern-plugin/602/">Replace WP-Version</a> entfallen)</li>
<li>0.3 - WP 2.7 ready, alle Funktionen optional, Optionsbereich, ital. Sprachfile, etc.</li>
<li>0.3.1/2 - fix für WP <2.7; neue Funktion RSD und WLW</li>
<li>0.3.3 - Bugfix für WLW</li>
<li>0.3.4 - Erweiterung um zwei neue Option, Code verfeinert, mehr Möglichkeiten aus dem Core genutzt; optimiert für >=2.7; CSS ergänzt um auch das Markup der Error-Meldung zu entfernen</li>
<li>0.3.5 - Korrigieren Rechtschreibung in der dt. Sprachdatei; eine Abfrage hinzugefügt, die sicher stellt, dass diverse Hooks nur genutzt werden, wenn die Seite auch aktiv ist</li>
<li>0.3.6 - Erweiterung um WP Scanner, Bugfix für Mehrsprachigkeit (08/05/2009)</li>
<li>0.3.7 - Erweiterung für WP 2.8; Meta Links der Plugin-Seite (10/06/2009)</li>
<li>0.3.8 - add function to remove theme-update information for non-admins, rescan language file; edit de_DE (22/06/2009)</li>
<li>Bitte nutzt das <a href="http://wordpress.org/extend/plugins/secure-wordpress/changelog/">Changelog zum Plugin</a>, welches aktuell immer gepflegt wird.</li>
</ul>
<p><img src="http://vg04.met.vgwort.de/na/8a6b60fbc19642018fc84e67d1b58c98" width="1" height="1" alt="" class="ob"><br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-login-sicherheit-plugin/652/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-login-sicherheit-plugin/652/feed/</wfw:commentRss>
		<slash:comments>117</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp25/wp25-login-error.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp25/wp25-login-error.png" medium="image">
			<media:title type="html">Login Fehlermeldung deaktivieren</media:title>
		</media:content>
		<media:content url="http://vg04.met.vgwort.de/na/8a6b60fbc19642018fc84e67d1b58c98" medium="image" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Plugins für mehr Sicherheit</title>
		<link>http://bueltge.de/wordpress-plugin-mehr-sicherheit/637/</link>
		<comments>http://bueltge.de/wordpress-plugin-mehr-sicherheit/637/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 10:41:30 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Sicherheitslücke]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/wordpress-plugin-mehr-sicherheit/637/</guid>
		<description><![CDATA[Im weiteren haben sich aber auch eine ganze Reihe an Plugin-Autoren um die Sicherheit bemüht und entsprechende Plugins veröffentlicht.]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/wordpress-logo.png" alt="WordPress Logo" /></p>
<p>In den letzten Tagen und Wochen wurden vermehrt Weblogs gehackt, die mit WordPress betrieben werden. Die Ursachen können sehr unterschiedlich sein, einer der letzten Punkte waren angreifbare freie Themes.</p>
<p>Ich wünsche, dass die Nutzer durch solche Themen sensibler werden und nicht blind jedes Plugin oder Theme in ihr Live-System kopieren und nutzen.</p>
<p>Ein ganz anderer Punkt ist die Sicherheit zu erhöhen, dass kann man mit einigen Punkte in der Installation, die ich hinreichend in den Artikeln &#8222;<a href="http://wordpress-buch.bueltge.de/wordpress-sicherer-machen/30/">WordPress sicherer machen</a>&#8220; und &#8222;<a href="http://wordpress-buch.bueltge.de/wordpress-templates-sicherer-machen/31/">WordPress Templates sicherer machen</a>&#8220; erläutere.</p>
<p>Im weiteren haben sich aber auch eine ganze Reihe an Plugin-Autoren um die Sicherheit bemüht und entsprechende Plugins veröffentlicht.<span id="more-637"></span></p>
<ol>
<li><a href="http://www.ilfilosofo.com/blog/wp-db-backup/">WordPress Database Backup</a></li>
<li><a href="http://jamesmallen.net/2007/09/16/semisecure-login/">Semisecure Login</a></li>
<li><a href="http://www.askapache.com/wordpress/htaccess-password-protect.html">AskApache Password Protect</a></li>
<li><a href="http://almosteffortless.com/wordpress/force-ssl/">Force SSL</a></li>
<li><a href="http://wordpress.org/extend/plugins/wp-security-scan/">WP Security Scan</a></li>
<li><a href="http://wordpress.org/extend/plugins/secure-files/#post-271">Secure Files</a></li>
<li><a href="http://wordpress.designpraxis.at/plugins/backupwordpress/">BackUpWordPress</a></li>
<li><a href="http://f00f.de/blog/2007/10/02/plugin-anonymous-wordpress-plugin-updates.html">Anonymous WordPress Plugin Updates</a></li>
<li><a href="http://wordpress.org/extend/plugins/replace-wp-version/#post-2859">Replace WP-Version</a></li>
</ol>
<p>Eine ausführliche Liste mit Hintergründen zu den Plugins hat <a href="http://speckyboy.com/2008/04/08/top-10-security-and-protection-plugins-for-wordpress/">speckyboy.com</a> veröffentlicht. In jeden Fall eine Lese-Empfehlung.</p>
<h3>Update: Weitere Plugins</h3>
<ol>
<li><a href="http://horttcore.de/2008/03/29/wp-adminprotection/">WP-Adminprotection</a></li>
<li><a href="http://www.bad-neighborhood.com/login-lockdown.html">Login LockDown</a></li>
<li><a href="http://wordpress.org/extend/plugins/digowatchwp/">DigoWatchWP</a></li>
<li><a href="http://www.codehooligans.com/2008/03/01/check-wordpress-core-files-for-hacks/">Hash Checker</a></li>
<li><a href="http://www.village-idiot.org/archives/2008/04/16/postlogger-for-wordpress/">Postlogger</a></li>
<li><a href="http://bueltge.de/wordpress-login-sicherheit-plugin/652/">Secure WordPress</a> - im laufe dieser Aktionen entstanden und erschwert es unerlaubten Personen Informationen zu erhalten</li>
<li><a href="http://ocaoimh.ie/exploit-scanner/">WordPress Exploit Scanner</a> Scannt die Datenbank oder die Dateien nach klassischen Hack-Eingriffen, zum Beispiel Spamlinks im Theme.</li>
</ol>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-plugin-mehr-sicherheit/637/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-plugin-mehr-sicherheit/637/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wordpress-logo.png" />
		<media:content url="http://bueltge.de/wp-content/images/wordpress-logo.png" medium="image">
			<media:title type="html">WordPress Logo</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Plugin Sicherheitsmöglichkeiten</title>
		<link>http://bueltge.de/wordpress-plugin-sicherheitsmoeglichkeiten/539/</link>
		<comments>http://bueltge.de/wordpress-plugin-sicherheitsmoeglichkeiten/539/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 12:51:04 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/wordpress-plugin-sicherheitsmoeglichkeiten/539/</guid>
		<description><![CDATA[In der Nachbearbeitung meines Eindrucks und Aufenthaltes des WordCamp08 habe ich es schon anklingen lassen - es gibt ein paar Hinweise für das Erstellen sicherer Plugins für WordPress, wobei ich in kurzer und knapper Form vorgehe. Ich denke, dass jeder, der sich mit der Entwicklung eigener Plugins beschäftigt, die kurze und einfache Form geniest, ohne [...]]]></description>
			<content:encoded><![CDATA[<p>In der <a href="http://bueltge.de/wordcamp08-der-tag-danach/603/">Nachbearbeitung meines Eindrucks und Aufenthaltes des WordCamp08</a> habe ich es schon anklingen lassen - es gibt ein paar Hinweise für das Erstellen sicherer Plugins für WordPress, wobei ich in kurzer und knapper Form vorgehe.<br />
Ich denke, dass jeder, der sich mit der Entwicklung eigener Plugins beschäftigt, die kurze und einfache Form geniest, ohne viel Drumherum. Außerdem fehlt mir aktuell die Zeit für lange und tiefe Texte, ich hoffe, dass man das versteht.</p>
<p>In der <a href="http://bueltge.de/wp-plugin-sicherheit/">Präsentation</a> sind eine ganze Reihe von Möglichkeiten hinterlegt, vor allem zum Thema Verantwortung und Bewusstsein im Bezug auf den PHP- und WordPress-Coding-Standard, die man immer beherzigen sollte.</p>
<p>Die einzelnen Punkte der Präsentation spreche ich hier nicht mehr an, gebe aber nochmal Infos zu Möglichkeiten und Referenzen.<span id="more-539"></span></p>
<h3>PHP Möglichkeiten</h3>
<p>PHP bietet eine ganze Reihe von Funktionen, die das Validieren und Filtern von Daten erlaubt. Einige Beispiele die im täglichen Umfeld sehr nützlich sind.</p>
<ul>
<li><code>htmlspecialchars()</code></li>
<li><code>strip_tags()</code></li>
<li><code>urlencode()</code></li>
<li><code>intval()</code></li>
<li><code>addslashes()</code></li>
<li><code>mysql_escape_string()</code></li>
</ul>
<p>Als Lektüre dient der <a href="http://de2.php.net/manual/de/security.php">PHP.net Security Guide</a> und <a href="http://jens.familie-ferner.de/plugin/dlfile_3">PHP Security Guide</a> (PDF, 311kByte) mit 12 wichtigen Punkten.</p>
<h3>WordPress Möglichkeiten, Konstanten</h3>
<p>Aber auch WordPress bringt einige Möglichkeiten mit, dabei sind zwei Funktionen besonders nützlich und hilfreich: <code>attribute_escape()</code> und <code>wp_nonce()</code>.</p>
<p>Unerwähnt sollen aber nicht die Konstanten bleiben, die es bereits in den Core-Files von WP gibt und die gerade zur Anwendung prädestiniert sind.</p>
<ul>
<li><code>TEMPLATEPATH</code></li>
<li><code>STYLESHEETPATH</code></li>
<li><code>ABSPATH</code></li>
<li><code>WPINC</code></li>
<li><code>PLUGINDIR</code></li>
<li><code>COOKIEPATH</code>, <code>COOKIEHASH</code>, <code>USER_COOKIE</code>, <code>PASS_COOKIE</code>, <code>AUTH_COOKIE</code> und weitere Cookie-Konstanten</li>
</ul>
<p>Einer Konstante kommt dabei eine Sonderrolle zu: <code>WP_DEBUG</code>.<br />
Diese Konstante muss in der <code>wp-config.php</code> auf <code>TRUE</code> gesetzt werden und schon ist WordPress im Debug-Modus (<code>error_reporting(E_ALL)</code>) und gibt alle Informationen nach außen.</p>
<pre><code>define('WP_DEBUG', true);</pre>
<h3><code>attribute_escape</code></h3>
<p>Die erste der beiden Funktionen dient dem Filtern von Daten und sollte vorrangig Verwendung bei der Ausgabe von Daten (<code>echo</code>'s) finden, vor allem wenn sie per <code>_POST</code> oder <code>_GET</code> übertragen werden.</p>
<h3><code>wp_nonce</code></h3>
<p>Die zweite Funktion bringt eine ganze Reihe weiterer Funktionen mit, die das Übergeben einer Signatur beim Absenden von Formularen ermöglicht. Nähers im folgenden Syntax.</p>
<pre><code>
/*
Plugin Name: Security Example
Plugin URI: http://bueltge.de/
Description: fbSecurity Example
Author: Frank Bueltge
Version: 0.1
Author URI: http://bueltge.de/
*/

/**
  * Function definieren
  * fbexample_ ersetzen
  *
  */
if ( !function_exists('wp_nonce_field') ) {
	function fbexample_nonce_field($action = -1) {
		return;
	}
	$fbexample_nonce = -1;
} else {
	function fbexample_nonce_field($action = -1) {
		return wp_nonce_field($action);
	}
	$fbexample_nonce = 'fbexample_update_key';
}

/**
  * POST Uebergabe, Admin-Page
  * fbexample_ ersetzen
  *
  */
function fbexample_page() {
	global $fbexample_nonce, $fbexample_key;

	if ($_POST['action'] == 'submit') {

		if ( function_exists('current_user_can') &#038;& current_user_can('edit_plugins') ) {
			check_admin_referer($fbexample_nonce);

			$fbexample1 = $_POST['fbexample1'];
			. . .

		} else {
			wp_die('

'.__('You do not have sufficient permissions to edit plugins for this blog.').'

');
		}
	}
?&gt;
<div class="wrap">
<h2>&lt;?php _e('FB Example', 'fbexample') ?&gt;</h2>
<form method="post">
		&lt;?php fbexample_nonce_field($fbexample_nonce) ?&gt;

		. . .
<input type="hidden" name="action" value="submit" />
<input type="submit"/>
	</form>
</div>

&lt;?php
}

/**
  * Installation von options-Feldern
  * fbexample* ersetzen
  *
  */
function fbexample_install(){
	global $wpdb;

	add_option('fbexample1', 'fbexample1_wert');
}

/**
  * Admin-Page hinzufuegen
  * fbexample* ersetzen
  *
  */
function fbexample_menu() {
	add_submenu_page('plugins.php', 'FB Example', 'FB Example Title', 10, __FILE__, 'fbexample_page');
	add_options_page('FB Example', 'FB Example Title', 8, basename(__FILE__), 'fbexample_page');
}

/**
  * Hooks nutzen und Admin-Page aktivieren
  * fbexample* ersetzen
  *
  */
if (function_exists('add_action')) {
	if (isset($_GET['activate']) &#038;& $_GET['activate'] == 'true') {
		add_action('init', 'fbexample_install');
	}
	add_action('admin_menu', 'fbexample_menu');
}
?&gt;
</code></pre>
<h3>WordPress Plugin Framework</h3>
<p>Als letzten Punkt noch der Hinweis zu einer Idee, die ich für sehr gelungen halte - in Punkte Entwicklung und Umsetzung, das <a href="http://wordpress.org/extend/plugins/wordpress-plugin-framework/">WordPress Plugin Framework</a>.</p>
<p>Dieses Framework bringt die gängigen Möglichkeiten mit, die im Bereich Plugin erforderlich sind und hat die typischen Sicherheitspunkte, wie oben angesprochen, im Syntax. Das Framework steht als Klasse bereit und kann einfach eingesetzt werden.<br />
Eine <a href="http://code.google.com/p/wordpress-plugin-framework/">Dokumentation</a> steht bereit und die deutsche Übersetzung ist in Vorbereitung.</p>
<h3>Referenzen und weitere Links</h3>
<ul>
<li><a href="http://jens.familie-ferner.de/plugin/dlfile_3">PHP Security Guide</a> (PDF, 311kByte)</li>
<li><a href="http://de2.php.net/manual/de/security.php">PHP.net Security Guide</a></li>
<li><a href="http://michaeldaw.org/papers/securing_wp_plugins/">Writing Secure WordPress Plugins</a></li>
<li><a href="http://markjaquith.wordpress.com/2006/06/02/wordpress-203-nonces/">WordPress 2.0.3: Nonces</a></li>
<li><a href="http://www.phpblogger.net/2008/01/31/php-sicherheit-gross-schreiben/">PHP Blogger mit weiteren Tipps zu PHP-Sicherheit</a></li>
</ul>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-plugin-sicherheitsmoeglichkeiten/539/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-plugin-sicherheitsmoeglichkeiten/539/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Version verschleiern (Plugin)</title>
		<link>http://bueltge.de/wordpress-version-verschleiern-plugin/602/</link>
		<comments>http://bueltge.de/wordpress-version-verschleiern-plugin/602/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 09:04:20 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Version]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/wordpress-version-verschleiern-plugin/602/</guid>
		<description><![CDATA[Bild: Noticiastech Wie man WordPress in 11 Punkten sicherer macht, dass habe ich im Artikel &#8222;WordPress sicherer machen&#8220; auf dem Blog zu meinen Buch &#8222;WordPress - Weblogs einrichten und administrieren&#8220; in kurzer und knapper Form erläutert. Dabei erläutere ich in Punkt 4 des Artikels, dass man dem Außenstehenden nicht unbedingt die Version seiner Installation verraten [...]]]></description>
			<content:encoded><![CDATA[<dl class="ImgRight">
<dt><img class="ob" src="http://bueltge.de/wp-content/images/wpflame.jpg" alt="WP Flame" /></dt>
<dd><em>Bild: <a href="http://noticiastech.com/wordpress/?p=9499">Noticiastech</a></em></dd>
</dl>
<p>Wie man WordPress in 11 Punkten sicherer macht, dass habe ich im Artikel &#8222;<a href="http://wordpress-buch.bueltge.de/wordpress-sicherer-machen/30/">WordPress sicherer machen</a>&#8220; auf dem Blog zu meinen Buch &#8222;WordPress - Weblogs einrichten und administrieren&#8220; in kurzer und knapper Form erläutert.</p>
<p>Dabei erläutere ich in Punkt 4 des Artikels, dass man dem Außenstehenden nicht unbedingt die Version seiner Installation verraten sollte. Dies ist vor allem relevant, wenn man das Blog nicht immer auf dem neusten Stand hält/ halten kann.<br />
Dafür kann es eine ganze Reihe von Gründen geben. Nehmen wir beispielsweise ein Kundenprojekt, aufgesetzt mit WordPress. Nach besten Wissen und Gewissen eingerichtet und administriert. Allerdings möchte der Kunde keinen weiteren Pflegevertrag und so liegt das Blog in der Regel mit der einmalig installieren Version auf dem Webspace.</p>
<p>Allerdings ist es nicht für jeden Anwender einfach, die Versionsnummer zu entfernen bzw. zu ändern, deshalb habe ich mir eine Lösung via Plugin überlegt.<span id="more-602"></span></p>
<p>Im WWW werden in der Regel Sicherheitslücken mitgeteilt und auch potenziell böswillige Interessenten nutzen diese Information und suchen nach den entsprechenden Versionen mit ihren Schwachstellen.</p>
<p>Eine Webapplikation wirklich sicher zu bekommen, so dass auch die Arbeit damit nicht zur Last fällt, ist sicher immer schwierig, aber die Verschleierung der Version ist sicher ein weiterer Schritt zu mehr Sicherheit.</p>
<p>Nun aber wieder zur Ausgabe der WP-Verison, die in der Regel im Feed und im Theme zu finden ist. Das Entfernen im Theme stellt keine großen Probleme dar, dazu genügt das entfernen der folgenden Zeile.</p>
<pre><code>&lt;meta name="generator" content="WordPress &lt;?php bloginfo('version'); ?&gt;" /&gt;</code></pre>
<p>Aber auch das kann für den einen oder anderen schon zum Problem werden.</p>
<p>Um nun aber die Version der WP-Installation auch noch aus dem Feed zu bekommen, muss man in die Core-Dateien von WordPress eingreifen. Dies erschwert Updates und ist aus den unterschiedlichsten Gründen nicht zu empfehlen, zumindest für den Laien.</p>
<p>Ab Version 2.5 von WordPress wird der Generator-Tag mit Hilfe einer neuen Funktion (<code>the_generator()</code>) in die jeweiligen Funktionen, wie RSS, ATOM oder RDF, eingebracht, was es ein wenig einfacher macht, die Ausgabe der Installations-Versions-Nummer zu unterbinden.<br />
Derzeit wird es in der Datei zum Erstellen des RSS und Atom-Feeds via <code>bloginfo_rss()</code> eingefügt und ansonsten wird direkt die Variable ausgelesen.</p>
<p>Ich habe nun ein Plugin erstellt, dass alle drei Möglichkeiten beachtet und die Versionsnummer im Backend auch weiterhin ausgibt, denn sie ist für das eine oder andere Plugin relevant.</p>
<h3>Update</h3>
<p>Im weiteren Verlauf ist ein Plugin entstanden, welches weitere Sicherheitsprobleme schließt - <a href="http://bueltge.de/wordpress-login-sicherheit-plugin/652/">Secure WordPress</a>. Dieses <a href="http://bueltge.de/wordpress-login-sicherheit-plugin/652/">Plugin</a> hat diese Lösung im Kern und kann es damit ersetzen.</p>
<h3>Replace WP-Version (Plugin)</h3>
<p>Das Plugin ersetzt die WordPress-Versionsnummer mit einer Zufallszahl zwischen 0 und 9999 bei  einer WordPress-Installation <strong>kleiner Version 2.4</strong>.</p>
<p><strong>Ab</strong> WordPress <strong>Version 2.4</strong> wird der Tag komplett entfernt.</p>
<h4>Anforderungen:</h4>
<p>Das Plugin wurde unter WP 2.0.2, WP 2.3.* und WP 2.4beta getestet.<br />
Achtung: Ich habe das Plugin nach bestem Wissen erstellt und getestet incl. Validierung der Feeds. Trotzdem kann es zu Problemen kommen, denn es ist kein Filter, den man in WordPress deaktivieren kann. Sollte es also zu Problemen mit dem einen oder anderen Plugin kommen - ich würde mich über Feedback freuen. Aber ich kann und will keine Garantie für die problemlose Funktion übernehmen!</p>
<h4>Installation:</h4>
<ol>
<li>Die zip-Datei downloaden und entpacken</li>
<li>Kopiere die Datei in dein Plugin-Verzeichnis (/wp-content/plugins/)</li>
<li>Aktiviere das Plugin im Adminbereich deines Blogs</li>
</ol>
<h4>Download:</h4>
<form class="spenden" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="amount" id="eins" value="" />
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="business" value="frank@bueltge.de" />
<input type="hidden" name="item_name" value="Spende bueltge.de" />
<input type="hidden" name="no_shipping" value="1" />
<input type="hidden" name="return" value="http://bueltge.de/" />
<input type="hidden" name="cancel_return" value="http://bueltge.de/" />
<input type="hidden" name="currency_code" value="EUR" />
<input type="hidden" name="tax" value="0" />
<input type="hidden" name="bn" value="PP-DonationsBF" />
<input type="image" src="http://bueltge.de/wp-content/images/donate.png" style="border:0" name="submit" alt="Zahlen Sie mit PayPal - schnell, kostenlos und sicher!" />
</form>
<p><strong>Ist die Arbeit nicht 1 Euro wert?</strong><br />
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.<br />
Möchtest du mehr oder anders spenden, so besuche meine <a href="http://bueltge.de/wunschliste/">Wunschliste</a>.</p>
<p>
Download als zip-Datei: <a href="http://downloads.wordpress.org/plugin/replace-wp-version.zip" >downloads.wordpress.org/plugin/replace-wp-version.zip</a> - 1 kByte</p>
<h3>Historie</h3>
<ul>
<li>v0.1 - Idee und Umsetzung</li>
<li>v0.2 - 0.3 - Codeverbesserung, Testphase mit DB-Änderung</li>
<li>v1.0 - Stabiler Stand in allen WordPress-Versionen, test bis 2.6entw.</li>
</ul>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-version-verschleiern-plugin/602/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-version-verschleiern-plugin/602/feed/</wfw:commentRss>
		<slash:comments>52</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wpflame.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wpflame.jpg" medium="image">
			<media:title type="html">WP Flame</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress sicher installieren/ machen</title>
		<link>http://bueltge.de/wordpress-sicher-installieren-machen/600/</link>
		<comments>http://bueltge.de/wordpress-sicher-installieren-machen/600/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 11:13:09 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/wordpress-sicher-installieren-machen/600/</guid>
		<description><![CDATA[Immer wieder bekomme ich Fragen zum Thema Sicherheit einer WordPress-Installation, vorrangig via E-Mail. Ebenso werde ich darauf hingewiesen, dass das Thema in meinem Buch &#8222;WordPress - Weblogs einrichten und administrieren&#8220; keinen Raum fand. Dem muss ich leider zustimmen und der Kritik nehme ich mich gerne an. Deshalb habe ich nun den Entwurf auf dem SVN [...]]]></description>
			<content:encoded><![CDATA[<p>Immer wieder bekomme ich Fragen zum Thema Sicherheit einer WordPress-Installation, vorrangig via E-Mail. Ebenso werde ich darauf hingewiesen, dass das Thema in meinem Buch &#8222;<a href="http://wordpress-buch.bueltge.de/das-buch/">WordPress - Weblogs einrichten und administrieren</a>&#8220; keinen Raum fand.</p>
<p>Dem muss ich leider zustimmen und der Kritik nehme ich mich gerne an.<br />
Deshalb habe ich nun den Entwurf auf dem SVN geholt und stark vereinfacht auf das zugehörige Blog gesetzt.</p>
<p>Da ich glaube, dass ich eine ganze Reihe von Sicherheitsaspekten dort hinterlegt habe und in kurzer Form erläutere, möchte ich den Lesern dieses privaten Blogs hier den Artikel &#8222;<a href="http://wordpress-buch.bueltge.de/wordpress-sicherer-machen/30/">WordPress sicher machen</a>&#8220; nicht vorenthalten.</p>
<p><img class="alignright" src="http://bueltge.de/wp-content/images/wordcamp.jpg" alt="WordCamp08" /></p>
<p>In diesem Zusammenhang noch ein kleiner Hinweis in eigener Sache. Auf Einladung der Organisatoren, werde ich auf dem <a href="http://www.wordcamp08.de/">WordCamp08</a> einen kleinen Vortrag zum Thema Sicherheit<span id="more-600"></span> halten, allerdings vorrangig im Bezug auf WordPress Plugins. Nicht viel, nichts besonderes, aber vielleicht für den einen oder anderen interessant, da ich einige Möglichkeiten zeigen möchte, wie man Plugins recht sicher gestallten kann - ohne große Aufwand. Viele Ansätze kann man dabei auf die Erstellung von Themes ebenfalls einsetzen.</p>
<p>Sollte der eine oder andere leider nicht auf dem <a href="http://www.wordcamp08.de/">WordCamp</a> erscheinen können, ich werden die Präsentation im Anschluss sicher hier hochladen und einige Punkte dazu erläutern.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-sicher-installieren-machen/600/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-sicher-installieren-machen/600/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wordcamp.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wordcamp.jpg" medium="image">
			<media:title type="html">WordCamp08</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Update 2.3.2</title>
		<link>http://bueltge.de/wordpress-update-232/580/</link>
		<comments>http://bueltge.de/wordpress-update-232/580/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 07:04:01 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/wordpress-update-232/580/</guid>
		<description><![CDATA[Wer noch vor den Feiertagen einige Bugs und Sicherheitslöcher schließen will - Version 2.3.2 beta steht zum Download bereit. This packages up some of the recent security issues, including the is_admin() fix and the display of DB errors. We now suppress display of DB errors by default. They appear only in the error log. Added [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/wp_blue.png" alt="WP" /></p>
<p>Wer noch vor den Feiertagen einige Bugs und Sicherheitslöcher schließen will - Version 2.3.2 beta steht zum Download bereit.</p>
<blockquote><p>This packages up some of the recent security issues, including the<br />
<code>is_admin()</code> fix and the display of DB errors.  We now suppress display<br />
of DB errors by default.  They appear only in the error log.</p>
<p>Added bonus, you can now create a custom DB error page at<br />
wp-content/db-error.php.  This is displayed when WP can't connect to<br />
the DB, for whatever reason.</p></blockquote>
<p><cite>Ryan Boren</cite></p>
<p>Der Sprung auf die neue 2.4 wird erst im neuen Jahr erfolgen, wobei es viele Veränderungen geben wird. Unter anderem bekommt die Passwortverschlüsselung eine neue Funktion und<span id="more-580"></span> das Admin erstrahlt im neuen Glanz. Lassen wir uns also überraschen, was das kommende Jahr bringt in Sachen WordPress.</p>
<p>Version 2.3.2 Beta2 <a href="http://wordpress.org/wordpress-2.3.2-beta2.zip">Download der zip-Datei</a> (1 MByte)</p>
<p><a href="http://trac.wordpress.org/query?status=closed&#038;milestone=2.3.2">Bugfixes der 2.3.2 sind im Trac</a> zu finden.</p>
<h3>Update</h3>
<p><a href="http://wordpress.org/wordpress-2.3.2-RC1.zip">2.3.2 RC1</a> ist fertig<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-update-232/580/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-update-232/580/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp_blue.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp_blue.png" medium="image">
			<media:title type="html">WP</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Schütze deine wp-config.php</title>
		<link>http://bueltge.de/schuetze-deine-wp-configphp/547/</link>
		<comments>http://bueltge.de/schuetze-deine-wp-configphp/547/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 13:19:48 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/schuetze-deine-wp-configphp/547/</guid>
		<description><![CDATA[Ronald Huereca erklärt in einem Artikel auf Devlounge, wie man dafür sorgt, dass die wp-config.php der WordPress-Installation nicht für Hacker einfach erreichbar ist um so die Möglichkeit eines Hackerangriffs auf das eigene Blog zu erschweren. Die wp-config.php ist der Schlüssel zur Datenbank und damit stehen einem Eindringen in die Datenbank nur wenige Handgriffe bevor und [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/wp_blue.png" alt="WP" /><br />
<a href="http://www.ronalfy.com/">Ronald Huereca</a> erklärt in einem Artikel auf <a href="http://www.devlounge.net/articles/protect-your-wordpress-wp-config-so-you-dont-get-hacked">Devlounge</a>, wie man dafür sorgt, dass die <code>wp-config.php</code> der WordPress-Installation nicht für Hacker einfach erreichbar ist um so die Möglichkeit eines Hackerangriffs auf das eigene Blog zu erschweren.</p>
<p>Die <code>wp-config.php</code> ist der Schlüssel zur Datenbank und damit stehen einem Eindringen in die Datenbank nur wenige Handgriffe bevor und schon liegt die DB offen, Damit kann ein &bdquo;Bösewicht&ldquo; die Daten verändern oder gar alle Daten löschen. Also liegt es nahe, diese Datei vor fremden Zugriff zu schützen. Wie und und mit welchen Mitteln man dies machen kann, das erklärt der Artikel auf zwei unterschiedliche Wegen.</p>
<p>Ich habe die jeweiligen Code-Schnippsel im Anschluss nochmal hinterlegt, da ich die Idee für sinnvoll und machbar, auch für den &bdquo;Laien&ldquo;, erachte, so dass man auch mit deutschen Sprachkenntnissen der Idee folgen und umsetzen kann.<span id="more-547"></span></p>
<h3>.htaccess erweitern</h3>
<p>Ronald erklärt zwei unterschiedliche Ansätze. Im ersten Schritt sichert er den Zugriff via <code>.htaccess</code>, was schnell und einfach erledigt ist.</p>
<pre><code>
# protect wpconfig.php
&lt;files wp-config.php&gt;
Order deny,allow
deny from all
&lt;/files&gt;
</code></pre>
<p>Damit könnte eine .htaccess für WordPress folgenden Aufbau und Inhalt haben, wobei ich gleich einige mehr Regeln integriert habe, kleine Erläuterungen dazu im Syntax.</p>
<pre><code>
&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On
RewriteBase /

# www2nowww
RewriteCond %{HTTP_HOST} ^([^.]+)\.bueltge\.de$ [NC]
RewriteRule ^(.*)$ http://bueltge.de/$1 [R=301,L]

# Hinzufuegn von Slash
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
&lt;/IfModule&gt;

# Schutz der wp-config.php
&lt;files wp-config.php&gt;
Order deny,allow
deny from all
&lt;/files&gt;

# Datei zum Regeln von IP-Bereichen
Order deny,allow
Allow from all
# Sperre folgende IPs
deny from 83.246.96.42
deny from 82.103.133.221
deny from 74.86.15.2
</code></pre>
<h3>Auslagern der <code>wp-config.php</code></h3>
<p>Die zweite Idee geht davon aus, dass die Datei an einen Ort des Servers verschoben wird, der nicht öffentlich zugänglich ist. Ein Beispiel soll es verdeutlichen: die Datei liegt im Normalfall im absoluten Pfad <code>/home/deinname/public_html/</code>, dies ändert sich nun, denn die Datei wird eine Ebene tiefer abgelegt <code>/home/deinname/</code>. Dies ist nicht bei allen Webhostern so, so dass die Möglichkeit nicht bei allen WordPress-Installationen möglich ist.</p>
<p>Die klassische <code>wp-config.php</code> enthält folgenden Syntax.</p>
<pre><code>
&lt;?php
// ** MySQL settings ** //
define('DB_NAME', 'wpbeta');    // The name of the database
define('DB_USER', 'root');     // Your MySQL username
define('DB_PASSWORD', ''); // ...and password
define('DB_HOST', 'localhost');    // 99% chance you won't need to change this value
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

// You can have multiple installations in one database if you give each a unique prefix
$table_prefix  = 'wp_';   // Only numbers, letters, and underscores please!

// Change this to localize WordPress.  A corresponding MO file for the
// chosen language must be installed to wp-content/languages.
// For example, install de.mo to wp-content/languages and set WPLANG to 'de'
// to enable German language support.
define ('WPLANG', 'de_DE');

/* That's all, stop editing! Happy blogging. */

define('ABSPATH', dirname(__FILE__).'/');
require_once(ABSPATH.'wp-settings.php');
?&gt;
</code></pre>
<p>Mit diesen Daten erstellt ihr eine neue Datei <code>config.php</code>.</p>
<pre><code>
&lt;?php
// ** MySQL settings ** //
define('DB_NAME', 'wpbeta');    // The name of the database
define('DB_USER', 'root');     // Your MySQL username
define('DB_PASSWORD', ''); // ...and password
define('DB_HOST', 'localhost');    // 99% chance you won't need to change this value

// You can have multiple installations in one database if you give each a unique prefix
$table_prefix  = 'wp_';   // Only numbers, letters, and underscores please!
?&gt;
</code></pre>
<p>Diese Datei wird nun per FTP in das nicht öffentliche Verzeichnis des Servers kopiert, in unserem Beispiel ist das <code>/home/deinname/</code></p>
<p>Die originale <code>wp-config.php</code> wird nun verändert. Dabei werden die Datenbank-Verbindungsdaten mit Hilfe der include-Anweisung eingebunden.</p>
<pre><code>
&lt;?php
include('/home/deinname/config.php');

// Change this to localize WordPress.  A corresponding MO file for the
// chosen language must be installed to wp-content/languages.
// For example, install de.mo to wp-content/languages and set WPLANG to 'de'
// to enable German language support.
define ('WPLANG', 'de_DE');

/* That's all, stop editing! Happy blogging. */

define('ABSPATH', dirname(__FILE__).'/');
require_once(ABSPATH.'wp-settings.php');
?&gt;
</code></pre>
<p>Damit stehen WordPress die Daten für die Datenbank zur Verfügung und die Datei kann nicht einfach als Text angezeigt werden, denn sie liegt in einem nicht öffentlichen Bereich.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/schuetze-deine-wp-configphp/547/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/schuetze-deine-wp-configphp/547/feed/</wfw:commentRss>
		<slash:comments>72</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp_blue.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp_blue.png" medium="image">
			<media:title type="html">WP</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Scanner für mehr Sicherheit</title>
		<link>http://bueltge.de/wordpress-scanner-fuer-mehr-sicherheit/453/</link>
		<comments>http://bueltge.de/wordpress-scanner-fuer-mehr-sicherheit/453/#comments</comments>
		<pubDate>Mon, 25 Jun 2007 12:55:32 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/wordpress-scanner-fuer-mehr-sicherheit/453/</guid>
		<description><![CDATA[BlogSecurity bietet die Online-Version des WP-Scanners schon eine geraume Zeit an - dann nutzt ihn auch und checkt eurer WordPress-Installation! Nicht immer liegt es an den Dateien von WordPress, auch das Theme kann Sicherheitslücken, zum Beispiel durch PHP-Fehler, enthalten. Der Scan ist kritisch zu sehen aber er hilft und erleichtert die Arbeit. zum WP Scanner [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogsecurity.net/">BlogSecurity</a> bietet die <a href="http://blogsecurity.net/cgi-bin/wp-scanner.cgi">Online-Version des WP-Scanners</a> schon eine geraume Zeit an - dann nutzt ihn auch und checkt eurer WordPress-Installation!<br />
Nicht immer liegt es an den Dateien von WordPress, auch das Theme kann Sicherheitslücken, zum Beispiel durch PHP-Fehler, enthalten.</p>
<p>Der Scan ist kritisch zu sehen aber er hilft und erleichtert die Arbeit.</p>
<p>zum <strong><a href="http://blogsecurity.net/cgi-bin/wp-scanner.cgi">WP Scanner</a></strong></p>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-scanner-fuer-mehr-sicherheit/453/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-scanner-fuer-mehr-sicherheit/453/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Stille im Netz</title>
		<link>http://bueltge.de/stille-im-netz/288/</link>
		<comments>http://bueltge.de/stille-im-netz/288/#comments</comments>
		<pubDate>Tue, 05 Dec 2006 07:47:54 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Literatur]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[Sicherheit]]></category>

		<guid isPermaLink="false">http://bueltge.de/stille-im-netz/288</guid>
		<description><![CDATA[Der Sicherheitsexperte Michal Zalewski schreibt in seinem neuen Buch über verschiedene Methoden, Computerdaten direkt am Rechner oder über Netze auszuspähen. Der Experte Zelewski berät verschiedene Unternehmen zum Thema Computersicherheit und ist der Szene kein Unbekannter. Außerdem ist sein kostenloses Tool „p0f“, mit dem man Aktivitäten im Netz und im Betriebssystem beobachten kann, recht populär. Die [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.de/gp/redirect.html%3FASIN=3446408002%26tag=buedebyltgde-21%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/3446408002%253FSubscriptionId=0EMV44A9A5YT1RVDGZ82" title="View product details at Amazon"><img class="alignright" src="http://ec1.images-amazon.com/images/P/3446408002.01._SCMZZZZZZZ_V39396133_.jpg" alt="Stille im Netz" /></a>Der Sicherheitsexperte Michal Zalewski schreibt in seinem neuen Buch über verschiedene Methoden, Computerdaten direkt am Rechner oder über Netze auszuspähen. Der Experte Zelewski berät verschiedene Unternehmen zum Thema Computersicherheit und ist der Szene kein Unbekannter. Außerdem ist sein kostenloses Tool <a href="http://lcamtuf.coredump.cx/p0f.shtml">„p0f“</a>, mit dem man Aktivitäten im Netz und im Betriebssystem beobachten kann, recht populär.</p>
<p>Die Schreibweise des Buches ist angenehm und es lässt sich flüssig lesen und verstehen, was für derartige Themen nicht selbstverständlich ist. Die Übersichtlichkeit der Kapitel könnte besser sein, stört aber den Lesefluss nicht. Das Fachwissen des Autors sorgt im Buch nicht für fachchinesisch, sondern ist auch für „normale“ Interessenten, die mit der Funktionsweise von Rechnern und Netzen vertraut sind, verständlich.</p>
<p>Was das Buch ein wenig anders macht? - der Blickwinkel: beginnend mit einer Exkursion in das Sicherheitsthema und der Möglichkeit die Tastaturaktivitäten des Nutzers zu überwachen geht es weiter über TCP/IP und Methoden, das Verhalten von Websurfern zu analysieren. Lesenswert und informativ ist ebenso der Bereich Fingerprinting in der Datenkommunikation. Bei allen Themen werden die Gefahren angesprochen und entsprechende Ratschläge vergeben.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/stille-im-netz/288/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/stille-im-netz/288/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://ec1.images-amazon.com/images/P/3446408002.01._SCMZZZZZZZ_V39396133_.jpg" />
		<media:content url="http://ec1.images-amazon.com/images/P/3446408002.01._SCMZZZZZZZ_V39396133_.jpg" medium="image">
			<media:title type="html">Stille im Netz</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Gründe für Single Sign-on im Unternehmen</title>
		<link>http://bueltge.de/gruende-fuer-single-sign-on-im-unternehmen/201/</link>
		<comments>http://bueltge.de/gruende-fuer-single-sign-on-im-unternehmen/201/#comments</comments>
		<pubDate>Fri, 07 Jul 2006 05:58:57 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Single Sign-on]]></category>

		<guid isPermaLink="false">http://www.bueltge.de/?p=201</guid>
		<description><![CDATA[So ist es in vielen Unternehmen: Die Anwender müssen sich viele Passwörter und Zugangsmöglichkeiten zu den unterschiedlichsten Plattformen, Applikationen und Webzugriffen merken. Oft führt eine derartige Vielfalt von Passwörtern dazu, daß die sensiblen Daten gespeichert werden, ob auf Papier oder Digitalmedien, und der Anwender versucht, möglichst in allen Login-Bereichen, ein Passwort zu haben. Nachteile: Dadurch [...]]]></description>
			<content:encoded><![CDATA[<h3>So ist es in vielen Unternehmen:</h3>
<p>Die Anwender müssen sich viele Passwörter und Zugangsmöglichkeiten zu den unterschiedlichsten Plattformen, Applikationen und Webzugriffen merken. Oft führt eine derartige Vielfalt von Passwörtern dazu, daß die sensiblen Daten gespeichert werden, ob auf Papier oder Digitalmedien, und der Anwender versucht, möglichst in allen Login-Bereichen, ein Passwort zu haben.</p>
<p><strong>Nachteile:</strong></p>
<ul>
<li>Dadurch entsteht eine Sicherheitslücke. </li>
<li>Die Helpdesk-Anfragen steigen.</li>
<li>Das Zurücksetzen von Passwörtern steigt.</li>
<li>Die Kosten sind hoch, denn es entsteht Zeitaufwand und Kosten bei der IT, aber auch beim Anwender.</li>
</ul>
<h3>So wäre es besser:</h3>
<p>Mit einem einzigen Log-On entfallen derartige Probleme! Als Lösung dafür bietet sich die Enterprise Single Sign-On-Technologie an. Durch diese Technik wird ein einziger Log-On beim Anwender benötigt und der Zugriff ist sicher und automatisch. Wichtig ist es, diese Technik mit einer Zwei-Faktor-Authentifizierung einzusetzen. Nur diese Technik bietet die höchste Sicherheit. Dabei bieten sich unter anderem folgende drei Möglichkeiten an: Hardware Token, Smart Cards, USB-Authentifikation.</p>
<p><strong>Prinzip (kurz und knapp):</strong><br />
Ein persönliches Kennwort als Basis in Zusammenhang mit einer Authentifizierungsmethode.</p>
<p><strong>Vorteile dieser Technik:</strong></p>
<ul>
<li>Vereinfachung des Passwort-Managements</li>
<li>Die Benutzerfreundlichkeit der Applikationen etc. steigt</li>
<li>Die Sicherheit steigt</li>
<li>Keine notierten Passwörter nötig</li>
<li>Die Helpdesk-Anfragen sinken und mindern die Kosten</li>
<li>Erhöhte Zugriffssicherheit auf Desktop, auch bei Fernzugriffen</li>
<li>Produktivität der Anwender steigt</li>
<li>Akzeptanz für viele Anwendungen steigt</li>
<li>Kosten senken im allgemeinen</li>
</ul>
<p><strong>Nachteile dieser Technik:</strong></p>
<ul>
<li>Wenn der Anwender die nötige Hardware vergisst, den Token etc., dann geht nichts mehr bzw. muss auf eine Fallbacklösung erstellt werden.</li>
<li>Das grundsätzliche Problem - Passwort merken - bleibt. Aber in dem Fall nur ein Passwort.</li>
<li>Die Kosten, die beim Einführen entstehen sind nicht zu vernachlässigen.</li>
</ul>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/gruende-fuer-single-sign-on-im-unternehmen/201/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/gruende-fuer-single-sign-on-im-unternehmen/201/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WK - 12 goldene Suchmaschinen-Regeln</title>
		<link>http://bueltge.de/wk-12-goldene-suchmaschinen-regeln/141/</link>
		<comments>http://bueltge.de/wk-12-goldene-suchmaschinen-regeln/141/#comments</comments>
		<pubDate>Fri, 10 Feb 2006 07:41:27 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Regeln]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Suche]]></category>
		<category><![CDATA[WWW]]></category>

		<guid isPermaLink="false">http://www.bueltge.de/wk-12-goldene-suchmaschinen-regeln/141/</guid>
		<description><![CDATA[Das Internet besteht aus einer Fülle von Informationen, die leider nicht immer so gefunden werden. Das liegt daran, dass der große Vorzug der vielen Informationen gleichzeitig der Nachteil ist - aus den vielen Daten die richtigen zu filtern ist für den alltäglichen Anwender schwierig. Zum Suchen in Netz wurden die Suchmaschinen entwickelt, die auf den [...]]]></description>
			<content:encoded><![CDATA[<p>Das Internet besteht aus einer Fülle von Informationen, die leider nicht immer so gefunden werden. Das liegt daran, dass der große Vorzug der vielen Informationen gleichzeitig der Nachteil ist - aus den vielen Daten die richtigen zu filtern ist für den alltäglichen Anwender schwierig.<br />
Zum Suchen in Netz wurden die Suchmaschinen entwickelt, die auf den unterschiedlichsten Kriterien aufbauen. Ohne diese Helfer wären viele Seiten überhaupt nicht auffindbar. Leider spüren diese Helfer nicht nur Ergebnisse aus, die für den Nutzer relevant sind,<br />
Um dem Internet-Nutzer das leben eine wenig zu vereinfachen und seinen Blick für mögliche Probleme zu schärfen wurde eine Broschüre von der Landesanstalt für Medien (>lfm:) herausgegeben, in Kooperation mit klicksafe.de. Die zwölf goldenen Regeln wurden von Univ.-Prof. Dr. Marcel Machill erarbeitet und verstehen sich als Ratgeber für Verbraucher(innen).</p>
<p>Der Download der Broschüre ist auf der <a href="http://www.lfm-nrw.de/presse/index.php3?id=382">Seite der LfM </a>zu finden.</p>
<h3>Die 12 Regeln kurzgefasst</h3>
<p><cite>aus: Landesanstalt für Medien NRW (LfM): 12 goldene Suchmaschinen-Regeln. Düsseldorf 2005.<br />
Herausgegeben von der <a href="http://www.lfm-nrw.de">LfM</a> in Kooperation mit <a href="http://www.klicksafe.de">klicksafe.de</a>.<br />
Autor: Marcel Machill.</cite></p>
<blockquote>
<h4>1. Verlassen Sie sich nicht auf eine Quelle</h4>
<p>Verwenden Sie gerade bei komplexen Themenrecherchen immer mehrere Suchmaschinen.<br />
Denn: Unterschiedliche Suchmaschinen verwenden unterschiedliche Kriterien für ihre Rankinglisten. Somit können völlig verschiedene Websites als die relevantesten aufgeführt werden. Vergleichen Sie die Auswahl, die Ihnen angeboten wird  und dann treffen Sie Ihre eigene.</p>
<h4>2. Achten Sie auf versteckte Werbung</h4>
<p>Werbung ist nicht immer als solche gekennzeichnet, sondern kann sich in den Ergebnislisten verstecken. Schauen Sie sich daher eine Ergebnisseite immer erst in Ruhe an, bevor Sie etwas klicken.</p>
<h4>3. Hüten Sie sich vor den Spammern im Netz</h4>
<p>Das Wort Spam wird bei den Suchmaschinen verwendet, wenn findige Webmaster ihre eigenen Websites so manipulieren, dass sie in den Ergebnislisten der Suchmaschinen höher eingestuft werden. Gehen Sie nicht denen auf den Leim, die durch diese Manipulation ihre eigenen vielleicht kommerziellen, politischen oder gar pornografischen Botschaften unter die Leute bringen wollen.<br />
Deshalb: Formulieren Sie Ihre Suchanfragen möglichst genau und lesen Sie den Vorschautext gut durch. Sind dort nur Schlagwörter und keine Sätze zu sehen, verbirgt sich hinter der Webseite wahrscheinlich Spam.</p>
<h4>4. Denken Sie bei der Auswahl aus der Suchmaschinen-Liste an Viren und den Schutz dagegen</h4>
<p>Nicht jedes Suchergebnis ist vertrauenswürdig, nur weil es von einer Suchmaschine angezeigt wird. Manche Leute denken, dass sie schnell einen von der Suchmaschine angezeigten Link aktivieren können  und vergessen dabei die normalen Vorsichtsmaßnahmen, die im Internet sowieso gelten sollten. Das Internet ist auch ein globaler Tummelplatz, in dem sich wie auch im wahren Leben Betrüger oder schräge Spaßvögel finden.<br />
Einen Virenschutz sollten Sie beim Surfen im Netz mindestens installiert haben, ebenso hilft die Installation einer Firewall.</p>
<h4>5. Lesen Sie den Vorschautext gut durch</h4>
<p>Oftmals mogeln sich unseriöse Angebote mit unerlaubten Praktiken auf die vordersten Ergebnisplätze in den Suchmaschinen. Der Vorschautext kann bei der Einordnung helfen: Er zeigt einen kleinen Textausschnitt der Seite, in dem die Suchbegriffe auftauchen. Lesen Sie diesen Text gut durch, denn oftmals erkennt man schlechte Ergebnisse bereits auf den ersten Blick.</p>
<h4>6. Geben Sie Wucher-Websites keine Chance</h4>
<p>Ein falscher Klick, ein falscher Tastendruck, und schon können 30 Euro und mehr fällig werden; es installieren sich Dialer oder Spyware auf Ihrem Rechner. Tippen Sie also nicht gutgläubig Antworten in Felder, die Sie nicht kennen, z. B. OK. Dieses OK kann nämlich Ihre Einverständniserklärung für einen Mehrwertdienst sein.</p>
<h4>7. Trauen Sie niemals der erstbesten Information  es könnten Verleumdung und Propaganda dahinterstecken</h4>
<p>Manchmal verstecken sich rassistische Äußerungen dem Wolf im Schafspelz gleich in einem auf den ersten Blick seriösen Angebot. Prüfen Sie genau, wer für Informationen verantwortlich ist, bevor Sie sich Ihre Meinung bilden.</p>
<h4>8. Schützen Sie Ihre Kinder beim Suchmaschinengebrauch</h4>
<p>Gerade für Kinder kann es gefährlich oder schädlich sein, mit bestimmten Internetinhalten konfrontiert zu werden. Denken Sie daran, dass Suchmaschinen bei bestimmten Wörtern und Themen vielfach auf solche problematischen Sites verweisen.</p>
<h4>9. Vorsicht bei Wörtern mit Doppelbedeutung und bei Tippfehlern  auch so können Ihre Kinder ungewollt auf Pornoseiten landen</h4>
<p>Manche Wörter sind doppeldeutig, obwohl man es gar nicht erwartet. Viele ungewöhnliche Sexualpraktiken haben Codenamen, die eigentlich harmlos klingen. Aber Suchmaschinen verweisen auch auf diese Sex-Sites, obwohl man etwas anderes gesucht hat.</p>
<h4>10. Vertrauen Sie nicht allein dem Jugendschutzfilter bei den Suchmaschinen</h4>
<p>Denken Sie daran, dass sich Filter leicht abschalten lassen. Dazu reicht es zum Beispiel aus, statt der deutschen Google-Seite unter www.google.de die amerikanische Originalversion unter www.google.com aufzurufen.</p>
<h4>11. Zeigen Sie Ihren Kindern Alternativen zu den allgemein bekannten Suchmaschinen</h4>
<p>Ein Kind muss nicht unbedingt Google, Yahoo oder Microsoft benutzen, um interessante und kindgerechte Webseiten zu finden. Es gibt genügend Alternativen, die besser auf die Bedürfnisse von Kindern abgestimmt sind. Ein hervorragendes Beispiel hierfür ist die Kindersuchmaschine Blinde Kuh, die sich unter <a href="http://www.blinde-kuh.de">www.blinde-kuh.de</a> findet. Als generellen Einstieg in die Welt des Internets bietet sich zum Beispiel die Seite <a href="http://www.internet-abc.de">www.internet-abc.de</a> an.</p>
<h4>12. Nachrichtensuchmaschinen sind weder neutral noch vollständig</h4>
<p>Noch viel stärker als in der normalen Medienwelt sollte man sich bei den Nachrichtensuchmaschinen Gedanken über die Auswahl der Meldungen machen. Denken Sie nicht, dass die Maschinen einen vollständigen Überblick über die Nachrichtenlage bieten. Längst nicht alle (Online-)Medien werden von den Suchrobotern der Nachrichtensuchmaschinen erfasst; außerdem reagieren die News Search Engines stärker auf aktuelle Kurzmeldungen als auf Hintergrundberichte.
</p></blockquote>
<p><cite>aus: Landesanstalt für Medien NRW (LfM): 12 goldene Suchmaschinen-Regeln. Düsseldorf 2005.<br />
Herausgegeben von der <a href="http://www.lfm-nrw.de">LfM</a> in Kooperation mit <a href="http://www.klicksafe.de">klicksafe.de</a>.<br />
Autor: Marcel Machill.</cite></p>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wk-12-goldene-suchmaschinen-regeln/141/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wk-12-goldene-suchmaschinen-regeln/141/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
	</channel>
</rss>

