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

<channel>
	<title>Web Zeiger</title>
	<atom:link href="http://www.web-zeiger.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.web-zeiger.de</link>
	<description>Rund um XHTML, HTML, CSS &#038; Co</description>
	<lastBuildDate>Sat, 21 Aug 2010 10:08:31 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha-19861</generator>
		<item>
		<title>Javascript: Unload verhindern</title>
		<link>http://www.web-zeiger.de/2008/09/10/javascript-unload-verhindern/</link>
		<comments>http://www.web-zeiger.de/2008/09/10/javascript-unload-verhindern/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 08:29:31 +0000</pubDate>
		<dc:creator>Roger Sennert</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[beforeunload]]></category>
		<category><![CDATA[fenster]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[onbeforeunload]]></category>
		<category><![CDATA[onunload]]></category>
		<category><![CDATA[preventunload]]></category>
		<category><![CDATA[schließen]]></category>
		<category><![CDATA[unload]]></category>
		<category><![CDATA[verhindern]]></category>
		<category><![CDATA[window]]></category>

		<guid isPermaLink="false">http://www.web-zeiger.de/?p=28</guid>
		<description><![CDATA[Manchmal ist man in der Situation, dass man das verlassen einer Seite verhindern möchte. Meist in dem Fall wo man ein komplex Form aufgebaut hat und dem Benutzer eigentlich ersparen möchte, dass er die Seit unabsichtlich verlässt in dem er &#8230; <a href="http://www.web-zeiger.de/2008/09/10/javascript-unload-verhindern/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Manchmal ist man in der Situation, dass man das verlassen einer Seite verhindern möchte. Meist in dem Fall wo man ein komplex Form aufgebaut hat und dem Benutzer eigentlich ersparen möchte, dass er die Seit unabsichtlich verlässt in dem er Back(Zurück) im Browser drückt.</p>
<p>Allerdings steckt darin auch ein kleines Problem: Spammer könnten diese Feature missbrauchen um einen dauerhaft auf der Seite zu halten. Also gab es lange Zeit nicht wirklich eine Lösung zu diesem Problem. Doch in Zeiten von Ajax &#038; Co ist eine solche Funktion notwendig. Nur, dass sie halt etwas anders funktioniert, als man vermuten würde.<span id="more-28"></span></p>
<p>Anstatt ein eigenes Event dafür zu schaffen gibt es eine Art Zwischending. Dem Benutzer wird vom Browser eine Dialogbox präsentiert, welche ihn darauf hinweist, dass er dabei ist die Seite zu verlassen. Diese Meldung ist Standard vom Browser und kann nicht designet werden. Lediglich einen eigenen Zusatztext kann man angeben. Aber für unsere Zwecke reicht dies völlig!!! Wir können so den User daran erinnern, dass es vielleicht wertvolle Arbeit verlieren würden, wenn er nun die Seite verlässt. Und mehr wollen wir ja auch gar nicht.</p>
<p>Das schöne an der Sache ist, dass alle Navigation von der Seite weg dadurch abgefangen werden: Back, Close, Form-Post und neuen Link klicken! Wenn ich also etwas davon \&#8221;erlauben\&#8221; möchte, dann muss ich den Hook vorher wieder entfernen.<br />
Das Zauberwort heißt in diesem Fall <strong>onbeforeunload</strong> und ist kein wirkliches Event. Es muss über <strong>window.onbeforeunload</strong> eine Funktion gesetzt werden, welche eine Zeichenkette zurück gibt. Dieser String wird zusätzlich mit angezeigt. Wird <strong>window.onbeforeunload</strong> auf <strong>null</strong> gesetzt wird der Dialog wieder deaktiviert. Ich habe eine kleine Funktion geschrieben, welche mit true aktiviert werden kann und mit false deaktiviert. </p>
<p>Im Beispiel wird direkt beim Laden der Seite die Funktion aufgerufen, um so zu verhindern, dass der Benutzer die Seite verlassen kann, ohne eine Warnung zu bekommen. Man beachte, dass ich ein <strong>onclick</strong> beim Submit des Forms hinzugefügt habe, welches die preventUnload vor dem eigentlich Abschicken deaktiviert. Denn sonst kommt hier natürlich auch die entsprechende Meldung!</p>
<pre class="brush: xml;">
&lt;html&gt;
&lt;head&gt;
&lt;script&gt;
	function preventUnload( state )
	{
		unloadMessage = &quot;Es wurden Daten geändert\nSind Sie sicher?&quot;;
		window.onbeforeunload = state ? function() { return unloadMessage; } : null;
	}

	preventUnload( true );
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
	Gehe Zu:
	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.google.de&quot;&gt;Google&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.heise.de&quot;&gt;Heise&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;br&gt;
	&lt;form methode=&quot;post&quot;&gt;
		Name:  &lt;input type=&quot;text&quot; name=&quot;name&quot;&gt;&lt;br&gt;
		Email: &lt;input type=&quot;text&quot; name=&quot;name&quot;&gt;&lt;br&gt;
		&lt;input type=&quot;submit&quot; value=&quot;Eintragen&quot; onclick=&quot;preventUnload(false)&quot; &gt;
	&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.web-zeiger.de/2008/09/10/javascript-unload-verhindern/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Weiterleitungen: Meta Refresh, .htaccess oder Javascript</title>
		<link>http://www.web-zeiger.de/2008/09/10/weiterleitungen-meta-refresh-htaccess-oder-javascript/</link>
		<comments>http://www.web-zeiger.de/2008/09/10/weiterleitungen-meta-refresh-htaccess-oder-javascript/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 07:32:52 +0000</pubDate>
		<dc:creator>Roger Sennert</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Suchmaschinen]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[head]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[refresh]]></category>
		<category><![CDATA[weiterleiten]]></category>

		<guid isPermaLink="false">http://www.web-zeiger.de/?p=20</guid>
		<description><![CDATA[Wenn es um die Weiterleitung auf eine andere Seite geht, dann gibt es viele Möglichkeiten dies zu tun. Zu einem kann man dies über .htaccess erledigen. Zum anderen über Javascript oder aber halt über reines HTML. Suchmaschinen mögen übrigens nur &#8230; <a href="http://www.web-zeiger.de/2008/09/10/weiterleitungen-meta-refresh-htaccess-oder-javascript/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wenn es um die Weiterleitung auf eine andere Seite geht, dann gibt es viele Möglichkeiten dies zu tun. Zu einem kann man dies über .htaccess erledigen. Zum anderen über Javascript oder aber halt über reines HTML.<br />
Suchmaschinen mögen übrigens nur die Methode mit der .htaccess-Datei.</p>
<h3>HTML:</h3>
<p>Dabei wird zwischen das HEAD-Tag ein META-Tag geschrieben. Die 5 gibt die Zeit in Sekunden an, wann die Weiterleitung erfolgen soll. Auch 0 (also direkt) wäre ein gültiger Wert. \&#8221;Url\&#8221; gibt dann die eigentliche Adresse an. Auch relative Angaben sind möglich.</p>
<pre class="brush: css;">
&lt;head&gt;
&lt;meta http-equiv=\&quot;refresh\&quot; content=\&quot;5; url=http://www.my-weiterleitung.de/\&quot;&gt;
&lt;/head&gt;
</pre>
<h3>.htaccess</h3>
<p>Um eine Weiterlung mit .htaccess zu machen muss man dazu einfach nur einen kleinen Eintrag in der .htaccess machen. Die Zahl 302 gibt dabei den Statuscode der Weiterleitung an. <strong>302 </strong>bedeutet temporär, <strong>301 </strong>für immer. Es folgt die Adresse welche weitergeleitet werden soll. \&#8221;/\&#8221; steht dabei für alles \&#8221;/undweg\&#8221; würde alles was mit \&#8221;/undweg\&#8221; anfängt weiterleiten. Und letztlich die eigentliche URL wohin die Weiterleitung gehen soll</p>
<pre class="brush: css;">
Redirect 302 / http://www.my-weiterleitung.de/
</pre>
<h3>JavaScript</h3>
<p>Weiterleitungen mit Javacsript haben den Nachteil, dass der Nutzer Javascript in seinem Browser aktiviert haben muss. Sonst funktionieren Sie einfach nicht. Zudem sollte man Sie nicht für Downloads nutzen. Der IE7 (und somit auch IE8) bringen eine Sicherheitswarnung, wenn man versucht auf eine Datei weiterzuleiten. Dies kann der Nutzer zwar erlauben, aber oft übersieht er diese! Also sollten solche Downloads anders gelöst werden (Redirect auf Scriptseite z.B.).<br />
Der kleinen Funktion übergibt man einfach die neue URL und diese führt dann die Weiterleitung aus.</p>
<pre class="brush: jscript;">
function weiterleiten( url )
{
   window.location.href = url;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.web-zeiger.de/2008/09/10/weiterleitungen-meta-refresh-htaccess-oder-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Redirect auf https per .htaccess</title>
		<link>http://www.web-zeiger.de/2008/03/14/redirect-auf-https-per-htaccess/</link>
		<comments>http://www.web-zeiger.de/2008/03/14/redirect-auf-https-per-htaccess/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 14:45:23 +0000</pubDate>
		<dc:creator>Roger Sennert</dc:creator>
				<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Suchmaschinen]]></category>

		<guid isPermaLink="false">http://www.web-zeiger.de/?p=19</guid>
		<description><![CDATA[Wenn man irgendwann einaml eine Zertifikat für seine Website erstanden hat und möchste, dass die Domain nur noch über eine SSL Verbindung ausgeliefert wird, dann kann man folgendes in die .htaccess schreiben: RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://www.my-domain.com/$1 &#8230; <a href="http://www.web-zeiger.de/2008/03/14/redirect-auf-https-per-htaccess/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wenn man irgendwann einaml eine Zertifikat für seine Website erstanden hat und möchste, dass die Domain nur noch über eine SSL Verbindung ausgeliefert wird, dann kann man folgendes in die .htaccess schreiben:</p>
<pre class="brush: css;">
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.my-domain.com/$1 [R=301,L]
</pre>
<p>Dies prüft ob man über https auf die Seite zugreift. Wenn nicht wird ein permanenter Redirect zu der SSL Seite gemacht.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-zeiger.de/2008/03/14/redirect-auf-https-per-htaccess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alte Domain auf Neue Domain umleiten</title>
		<link>http://www.web-zeiger.de/2008/01/08/alte-domain-auf-neue-umleiten/</link>
		<comments>http://www.web-zeiger.de/2008/01/08/alte-domain-auf-neue-umleiten/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 23:15:05 +0000</pubDate>
		<dc:creator>Roger Sennert</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.web-zeiger.de/2008/01/08/alte-domain-auf-neue-umleiten/</guid>
		<description><![CDATA[Wenn man mit einer Site komplett auf eine neue Domain umzieht und auch möchte, dass die Suchergebnisse nicht mehr die alte Domain aufzeigen sollte man einfach folgendes in die Apache .htacess eintragen: RewriteEngine On RewriteCond %{HTTP_HOST} ^www.old-domain.com$ [NC] RewriteRule ^(.*)$ &#8230; <a href="http://www.web-zeiger.de/2008/01/08/alte-domain-auf-neue-umleiten/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wenn man mit einer Site komplett auf eine neue Domain umzieht und auch möchte, dass die Suchergebnisse nicht mehr die alte Domain aufzeigen sollte man einfach folgendes in die Apache .htacess eintragen:</p>
<pre class="brush: css;">
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.old-domain.com$ [NC]
RewriteRule ^(.*)$ http://www.new-domain.com/$1 [L,R=301]
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.web-zeiger.de/2008/01/08/alte-domain-auf-neue-umleiten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buttons im IE erscheinen zu groß</title>
		<link>http://www.web-zeiger.de/2007/11/13/buttons-im-ie-erscheinen-zu-gros/</link>
		<comments>http://www.web-zeiger.de/2007/11/13/buttons-im-ie-erscheinen-zu-gros/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 16:49:38 +0000</pubDate>
		<dc:creator>Roger Sennert</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Layout]]></category>

		<guid isPermaLink="false">http://www.web-zeiger.de/2007/11/13/buttons-im-ie-erscheinen-zu-gros/</guid>
		<description><![CDATA[Mal wieder eines der leidigen Sachen vom IE. Man möchte einfach nur eine Submit Schaltfläche erstellen, welche sich dynamisch anpasst. Je mehr Text drin steht, desto breiter soll sie werden. Ist ja auch alles kein Problem &#8211; zumindest im Firefox &#8230; <a href="http://www.web-zeiger.de/2007/11/13/buttons-im-ie-erscheinen-zu-gros/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Mal wieder eines der leidigen Sachen vom IE. Man möchte einfach nur eine Submit Schaltfläche erstellen, welche sich dynamisch anpasst. Je mehr Text drin steht, desto breiter soll sie werden. Ist ja auch alles kein Problem &#8211; zumindest im Firefox &#038; Co nicht. Aber unser lieber Freund IE muss mal wieder aus der Rolle fallen. Sobald ein Leerzeichen in dem Text vorkommt verbreitert er den rechten und linken Rand &#8211; unnötiger Weise! Und das natürlich pro Leerzeichen <img src='http://www.web-zeiger.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Doch was tun?</p>
<p>Ein Möglichkeit ist es eine feste Breite zu setzen, was aber irgend der Anforderung entgegen läuft, dass er sich anpassen soll. Man muss also &#8211; wieder einmal &#8211; mit CSS tricksen.<br />
Einfach dem entsprechenden Button dieses CSS per Class oder Style zuweisen und schon passt es.</p>
<pre class="brush: css;">
.buttonIEFIX {
  overflow:visible;
  padding: 0 2px;
  width: auto;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.web-zeiger.de/2007/11/13/buttons-im-ie-erscheinen-zu-gros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script zum checken des Apache error_log</title>
		<link>http://www.web-zeiger.de/2007/09/25/script-zum-checken-des-apache-error_log/</link>
		<comments>http://www.web-zeiger.de/2007/09/25/script-zum-checken-des-apache-error_log/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 09:13:03 +0000</pubDate>
		<dc:creator>Roger Sennert</dc:creator>
				<category><![CDATA[Sicherheit]]></category>

		<guid isPermaLink="false">http://www.web-zeiger.de/2007/09/25/script-zum-checken-des-apache-error_log/</guid>
		<description><![CDATA[In der heutigen Zeit ist man vor nichts mehr sicher. Kaum, dass man eine Webapplication nicht auf den aktuellen Stand hat (also unmittelbar nach dem Veröffentlichen von Updates plus eine Stunde) kann es passieren, dass darüber Angriffe gefahren werden. Und &#8230; <a href="http://www.web-zeiger.de/2007/09/25/script-zum-checken-des-apache-error_log/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In der heutigen Zeit ist man vor nichts mehr sicher. Kaum, dass man eine Webapplication nicht auf den aktuellen Stand hat (also unmittelbar nach dem Veröffentlichen von Updates plus eine Stunde) kann es passieren, dass darüber Angriffe gefahren werden. Und das schlimmste: Man bekommt es noch nicht einmal mit. Da hilft es nur Vorsorge zu treffen, damit man immerhin weiß, was auf dem Server abgeht.<br />
<span id="more-15"></span><br />
Die meisten der Attacken gehen heute über irgendwelche Web Applikationen. Dabei ist es ziemlich egal ob PHP, Perl, Ruby oder sonst was. Passen die Programmierer einmal kurz nicht auf haben sie schon ein riesige Lücke \&#8221;eingebaut\&#8221;. Und die Hacker sind ziemlich schnell und finden meist die Lücke vor den Programmierern. Zu meist wird die Lücke so genutzt, dass ein fremdes Skript von irgendeinen Server geladen wird, welches dann im eignen Webspace ausgeführt wird. Über diese Skript können dann weitere Dateien nachgeladen und andere böse Sachen gemacht werden. Ein ziemlich bekannte PHP Shell ist ist die r57shell. Ist die Datei erst einmal auf dem Webspace geht es erst richtig los. Man kann dann nur hoffen (oder selbst machen), dass er Server gut gesichert ist und nicht zu viele Informationen nach \&#8221;außen\&#8221; getragen werden. Aber selbst dann ist man nicht sicher, ob über den Account DoS-Angriffe gefahren werden. Dazu reicht schon ein einfaches Script. Über diese Shell kann man auch Quellcodes kompilieren und die Programm ggf starten. Ganze böse Sache. Denn dadurch wird der Rechner zum Bot und/oder Dateiserver.<br />
Wie auch immer die Operationen müssen zumeist im \&#8221;Blindflug\&#8221; gemacht werden. Und hier kommt das Script zum Tragen. Alle Ausgaben von PHP und sonstigen Sprachen welche auf Stderr gehen werde im globalen Apache error_log geschrieben und nicht in dem vom vhost. Regelmäßige Kontrolle dieser Datei ist also angesagt damit man immerhin weiß, dass eingebrochen wurde und man schnell reagieren kann.<br />
Normal sollte in diesem error_log nur die normalen Zugriffsfehler sein, welche immer nach dem gleichen Schema beginnen. Wenn jedoch ein Script auf Stderr schreibt dann wird diese Schema unterbrochen und der String wird direkt in die Datei geschrieben. Dies macht sich diese Checkskript zur Nutze. Es schaut einfach, ob es solche Einträge vorhanden sind und gibt diese auf Stdout aus. Es ist also ideal um es als Cronjob laufen zu lassen. So lange nichts passiert gibt es keine Ausgabe, ansonsten bekommt man eine Mail mit den Einträge <img src='http://www.web-zeiger.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> <br />
Einträge, wo man weiß, dass diese ab und an vorkommen kann man in einem Array definieren und diese werden dann nicht gemeldet. Wie oft man das Skript laufen lässt muss man selbst entscheiden. Einmal am Tag sollte aber Pflicht sein. Öfters ist besser, denn dann kann man schneller reagieren <img src='http://www.web-zeiger.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<pre class="brush: php;">
&lt;?
	// (c) 2007 by Roger Sennert
	// www.bluestarsoftware.de

	$errorLog		= \'/var/log/apache2/error_log\';
	$confFile		= \'/root/checkErrorLog.conf\';
	$startChar	= \'[\';
	$allowedStrings	= array
	(
		\'Allowed memory size of \',
		\'cat: write error: Broken pipe\',
	);

	// --- Start of program ---
	// don\'t modify here unless you know what you are doing
	$seekStart = 0;

	// read config file (if any)
	$conf = @fopen( $confFile, \'r\' );
	if ( $conf )
	{
		$seekStart = trim( fgets($conf) );
		fclose( $conf );
	}

	// read log file
	$handle = @fopen( $errorLog, \'r\' );
	if ($handle)
	{
		fseek( $handle, 0, SEEK_END );
		$maxSize = ftell( $handle );
		fseek( $handle, 0 );		

		// seek only to the old position if the file has grown
		// Otherwiese we think it\'s a new file and we\'ll start form the beginning
		if ( $maxSize &gt;= $seekStart )
			fseek( $handle, $seekStart );			

		while ( !feof($handle) )
		{
			$buffer = fgets($handle);
			if ( $buffer[0] != $startChar )
			{
				$found=false;
				foreach( $allowedStrings as $str )
				{
					if ( stristr( $buffer, $str ) !== FALSE )
					{
						$found=true;
						break;
					}
				}

				if ( $found==false)
					echo $buffer;
			}
		}

		// remeber the current position
		$seekStart = ftell($handle);

		// write config file
		$conf = @fopen( $confFile, \'w\' );
		if ( $conf )
		{
			fputs( $conf, $seekStart );
			fclose( $conf );
		}

		fclose($handle);
	}
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.web-zeiger.de/2007/09/25/script-zum-checken-des-apache-error_log/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generator für CSS Menüs</title>
		<link>http://www.web-zeiger.de/2007/09/21/generator-fur-css-menus/</link>
		<comments>http://www.web-zeiger.de/2007/09/21/generator-fur-css-menus/#comments</comments>
		<pubDate>Fri, 21 Sep 2007 13:34:51 +0000</pubDate>
		<dc:creator>Roger Sennert</dc:creator>
				<category><![CDATA[Layout]]></category>

		<guid isPermaLink="false">http://www.web-zeiger.de/2007/09/21/generator-fur-css-menus/</guid>
		<description><![CDATA[Generator scheinen im Moment In zu sein. Warum auch nicht. Immerhin bekommt man so eine großen Teil der Leute dazu konformen Code zu erstellen. Ok &#8230; die meisten Menschen werden nicht verstehen was Sie da überhaupt machen und für die &#8230; <a href="http://www.web-zeiger.de/2007/09/21/generator-fur-css-menus/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Generator scheinen im Moment In zu sein. Warum auch nicht. Immerhin bekommt man so eine großen Teil der Leute dazu konformen Code zu erstellen. Ok &#8230; die meisten Menschen werden nicht verstehen was Sie da überhaupt machen und für die Profis wird meist zu viel Code erzeugt (also machen Sie es lieber selbst)<br />
Aber immerhin: Es sieht gut aus <img src='http://www.web-zeiger.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  und wenn es mal schnell gehen muss, dann ist es auf jeden Fall eine Alternative.<br />
<br />
Viel Spaß beim Probieren!<br />
<a href=\"http://cssmenumaker.com/index.php\">http://cssmenumaker.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-zeiger.de/2007/09/21/generator-fur-css-menus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YAML Builder</title>
		<link>http://www.web-zeiger.de/2007/08/21/yaml-builder/</link>
		<comments>http://www.web-zeiger.de/2007/08/21/yaml-builder/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 19:28:26 +0000</pubDate>
		<dc:creator>Roger Sennert</dc:creator>
				<category><![CDATA[Layout]]></category>

		<guid isPermaLink="false">http://www.web-zeiger.de/2007/08/21/yaml-builder/</guid>
		<description><![CDATA[Eine schnelle und einfach Art an ein angepasst YAML Layout zu kommen bietet nun der YAML Builder. Damit lässt sich schnell und einfach ein Layout erstellen, welches den Bedürfnissen angepasst ist. Einfach mal ausprobieren!]]></description>
			<content:encoded><![CDATA[<p>Eine schnelle und einfach Art an ein angepasst YAML Layout zu kommen bietet nun der <a href=\"http://builder.yaml.de\">YAML Builder</a>. Damit lässt sich schnell und einfach ein Layout erstellen, welches den Bedürfnissen angepasst ist.<br />
Einfach mal ausprobieren!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-zeiger.de/2007/08/21/yaml-builder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stoppt den SPAM &#8211; reCAPTCHA</title>
		<link>http://www.web-zeiger.de/2007/05/30/stoppt-den-spam-recaptcha/</link>
		<comments>http://www.web-zeiger.de/2007/05/30/stoppt-den-spam-recaptcha/#comments</comments>
		<pubDate>Wed, 30 May 2007 08:01:00 +0000</pubDate>
		<dc:creator>Roger Sennert</dc:creator>
				<category><![CDATA[SPAM]]></category>
		<category><![CDATA[Webservice]]></category>

		<guid isPermaLink="false">http://www.web-zeiger.de/2007/05/30/stoppt-den-spam-recaptcha/</guid>
		<description><![CDATA[Eine vielerorts im Web anzutreffende Methode um SPAM in Foren, Blogs &#038; Co zu stoppen sind CAPTCHAs. Unter CAPTCHA versteht man eine Methode um sicherzustellen, dass es auch wirklich eine Mensch ist, welcher die Eingabe macht. Dies hat in der &#8230; <a href="http://www.web-zeiger.de/2007/05/30/stoppt-den-spam-recaptcha/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Eine vielerorts im Web anzutreffende Methode um SPAM in Foren, Blogs &#038; Co zu stoppen sind CAPTCHAs. Unter CAPTCHA versteht man eine Methode um sicherzustellen, dass es auch wirklich eine Mensch ist, welcher die Eingabe macht. Dies hat in der Anfangszeit auch ganz gut geklappt, aber die Spammer sind nicht dumm und haben Texterkennungssoftware eingebaut, um die Systeme auszutricksen. Es wurden also immer aufwendigere CAPTCHA Systeme entwickelt und das Wettrüsten ging weiter.</p>
<p>Einen interessanten Ansatz bietet jetzt <a href=\"http://recaptcha.net/\">reCAPTCHA</a>. Es werden dem Benutzer Texte gezeigt, wo eine Texterkennungssoftware versagt hat. Das <a href=\"http://www.archive.org/\">Internet Archive</a> digitalisiert derzeit Bücher um diese online durchsuchbar zu machen. Die Erkennung funktioniert aber leider nicht perfekt. So kam man auf die Idee &#8211; ganz im Sinne von Web2.0 &#8211; die Nutzer zu fragen was denn nun das richtige Wort sein könnte. Dadraus entstand das Projekt reCAPTCHA.</p>
<p><img src=\'http://www.web-zeiger.de/wp-content/uploads/2007/05/recaptcha.jpg\' alt=\'reCAPTCHA Demo\' /></p>
<p>Es werden dabei immer zwei Wörter abgefragt. Das erste Wort wurde bereits ermittelt und das zweite Wort ist noch fraglich. Die Kombination aus beidem ergibt dann die Lösung und man darf seinen Kommentar in die Welt schicken. Für das zweite Wort sind allerdings nicht beliebige Lösungen möglich. Zum einen muss die Länge ungefähr mit der übereinstimmen, welche das zweite Wort hat (die Länge eines Wortes bekommt die Texterkennung normal noch ganz gut hin) und zum anderen werden auch andere Nutzer gefragt. Jedes Wort wird also mehreren Menschen gezeigt und die Ergebnisse abgeglichen. Als positiver Nebeneffekt wird so die Qualität der gescannten Bücher verbessert. </p>
<p>Ich finde dies ist einen interessanter Ansatz, welchen man mal im Augen behalten sollte. So kann jeder Betreiber was für die Community tun und bekommt nebenbei einen guten Spamschutz. Für die großen Softwaresysteme (WordPress, Typo, usw.) gibt es bereits einfache einzubindende Plugins. Und auch ansonsten ist die Abfrage schnell in die Homepage eingebunden. Für die zahlreichen Programmiersprachen des Webs gibt gut dokumentierte Beispiele.<br />
Ob es allerdings wirklich so funktioniert wie gewünscht wird sich erst noch zeigen müssen. Denn &#8211; zugegebenermaßen &#8211; sind die Wörter einerseits englisch und zum anderen manchmal mehr als schwer zu lesen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-zeiger.de/2007/05/30/stoppt-den-spam-recaptcha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yahoo führt \&#8217;robots-nocontent\&#8217;Tag ein</title>
		<link>http://www.web-zeiger.de/2007/05/06/yahoo-fuhrt-robots-nocontent-tag-ein/</link>
		<comments>http://www.web-zeiger.de/2007/05/06/yahoo-fuhrt-robots-nocontent-tag-ein/#comments</comments>
		<pubDate>Sun, 06 May 2007 10:05:59 +0000</pubDate>
		<dc:creator>Roger Sennert</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Suchmaschinen]]></category>

		<guid isPermaLink="false">http://www.web-zeiger.de/2007/05/06/yahoo-fuhrt-robots-nocontent-tag-ein/</guid>
		<description><![CDATA[Es war lange Zeit still in der Welt der Standards und Abarten derer. Nun beglückt uns Yahoo mit einem neuen Feature: robots-nocontent! Die Idee von Yahoo liest sich eigentlich ganz gut. Damit die Suchmaschine endlich weiß, was wirklich relevanter Inhalt &#8230; <a href="http://www.web-zeiger.de/2007/05/06/yahoo-fuhrt-robots-nocontent-tag-ein/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Es war lange Zeit still in der Welt der Standards und Abarten derer. Nun beglückt uns Yahoo mit einem neuen Feature: <code><a href=\"http://www.ysearchblog.com/archives/000444.html\">robots-nocontent</a></code>!<br />
Die Idee von Yahoo liest sich eigentlich ganz gut. Damit die Suchmaschine endlich weiß, was wirklich relevanter Inhalt (Content) ist, sollen die Webdesigner &#038; Co all das markieren, was das schöne Suchergebnis stören könnte. Also Navigationenselemente, Werbung (!!!) und wiederkehrende Elemente.<br />
Die einzige Frage, welche man sich nun dabei stellt ist: Warum??? Ok, dadurch kann ich die Aufmerksamkeit auf einen inhaltlich wichtigen Bereich lenken. Aber&#8230;: Ist meine Navigation in der Regel nicht auch wichtig? Vor allem weil dort die eventuellen Unterseiten zu dem angezeigten Thema zu finden sind. Oder aber verwandte Themen, welche den Nutzer eventuell auch helfen könnten? Ober aber bei der Werbung. Der Betreiber hat ja bewusst die Werbung geschaltet, also möchtet er diese auch in den Seiten haben. Und er freut sich total, wenn diese auch noch von der Suchmaschine mit gefunden wird. Warum sollte er also diesen Bereich rausnehmen? Eben!</p>
<p>Viel bessere wäre es gewesen, wenn sich die Betreiber der Suchmaschinen (ja genau, auch die anderen!) mal darangesetzt hätten Verknüpfungen im Sinne vom <a href=\"http://de.wikipedia.org/wiki/Semantic_Web\">Semantic Web</a> besser zu erfassen.</p>
<p>PS: Für alle die jetzt Angst haben, dass Sie mit dem Einsatz des Tags dem (X)HTML-Standard nicht mehr entsprechen: Das Tag ist in Wirklichkeit eine Auszeichnung als CSS-Style Klasse.<br />
<code><br />
 &lt;div class=\"robots-nocontent\"&gt;Das ist aber uninteressant&lt;/div&gt;<br />
</code><br />
Würde den entsprechenden Bereich also für Yahoo uninteressant machen.<br />
Dazu, dass wir damit CSS missbrauchen sage ich jetzt lieber mal nichts weiter. Ich denke jeder der sich damit auskennt weiß genau was daran so schlimm ist. </p>
<p>Hoffen wir mal das die anderen Suchmaschinen <strong>nicht </strong>nachziehen werden, sondern besser programmieren können und relevante Informationen <strong>selbst </strong>erkennen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-zeiger.de/2007/05/06/yahoo-fuhrt-robots-nocontent-tag-ein/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

