<?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>TYPO3 Blogger &#187; Extension</title>
	<atom:link href="http://typo3blogger.de/category/extension/feed/" rel="self" type="application/rss+xml" />
	<link>http://typo3blogger.de</link>
	<description>TYPO3 News, Development &#38; Insider Infos</description>
	<lastBuildDate>Tue, 22 May 2012 19:04:05 +0000</lastBuildDate>
	<language>de-de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Extension Updates Liste als RSS</title>
		<link>http://typo3blogger.de/extension-updates-liste-als-rss/</link>
		<comments>http://typo3blogger.de/extension-updates-liste-als-rss/#comments</comments>
		<pubDate>Wed, 16 May 2012 21:48:40 +0000</pubDate>
		<dc:creator>Tim Lochmüller</dc:creator>
				<category><![CDATA[Extension]]></category>
		<category><![CDATA[TYPO3blogger]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=8098</guid>
		<description><![CDATA[Nach der Umstellung von typo3.org sind die mir bekannten RSS Feeds der Extension Updates nicht mehr up2date. Zufälliger weise habe ich die Tage eine E-Mail von Frank bekommen, in der er mir gesagt hat, dass er eine Yahoo Pipe dafür erstellt hat. Nach einer kurzen Suche, habe ich erst einmal gemerkt wie cool Yahoo Pipes [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Nach der Umstellung von typo3.org sind die mir bekannten RSS Feeds der Extension Updates nicht mehr up2date. Zufälliger weise habe ich die Tage eine E-Mail von Frank bekommen, in der er mir gesagt hat, dass er eine Yahoo Pipe dafür erstellt hat. Nach einer kurzen Suche, habe ich erst einmal gemerkt wie cool Yahoo Pipes und YQL ist <img src='http://typo3blogger.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Wenn ihr somit einen Feed der Extension Updates haben möchtet, so bekommt ihr <a href="http://pipes.yahoo.com/pipes/pipe.info?_id=167a9be2135bfff4bddbcaa2c7d0eb56" target="_blank">hier alle nötigen Informationen</a>.</p>
<p>PS: Der RSS Feed ist auch bei uns auf der Startseite unten rechts eingebunden. Viel Spaß damit.</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/extension-updates-liste-als-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unsichere Extensions &amp; SEO vertragen sicht nicht</title>
		<link>http://typo3blogger.de/unsichere-extension-suchmaschinenoptimierungen-vertragen-sicht-nicht/</link>
		<comments>http://typo3blogger.de/unsichere-extension-suchmaschinenoptimierungen-vertragen-sicht-nicht/#comments</comments>
		<pubDate>Mon, 14 May 2012 18:25:56 +0000</pubDate>
		<dc:creator>Georg Ringer</dc:creator>
				<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Extension]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=8091</guid>
		<description><![CDATA[Als Mitglied des TYPO3 Security Team liegt einem die Sicherheit des Webs und insbesonders von TYPO3 am Herzen. Gerade eben bin ich auf eine einfache Tatsache gestoßen: Unsichere Extensions und Suchmaschinenoptimierungen vertragen sich nicht. Ein Bericht von gerade eben Man surft so vor sich hin, kommt auf eine TYPO3-Seite und sieht an den Parametern in [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Als Mitglied des TYPO3 Security Team liegt einem die Sicherheit des Webs und insbesonders von TYPO3 am Herzen. Gerade eben bin ich auf eine einfache Tatsache gestoßen: Unsichere Extensions und Suchmaschinenoptimierungen vertragen sich nicht.<br />
<span id="more-8091"></span><br />
<strong>Ein Bericht von gerade eben</strong><br />
Man surft so vor sich hin, kommt auf eine TYPO3-Seite und sieht an den Parametern in der URL dass es sich a) um eine pibase-Extension handelt, dass es b) keinen cHash gibt und daher eher gepfuscht wurde (USER_INT wird nicht benötigt). Testweise ein <code>'x'</code> an die ID angehängt zeigt, dass aufgrund eines nichtvorhandnenen Extension-Inhaltes  entweder sehr genau kontrolliert wird oder gar nicht. Ein <code>' AND 1=1'</code> zeigt den Inhalt wieder und bestätigt zweiteres. </p>
<p>Und hier ein Aufruf, besonders an Agenturen und alle die interne Extension über Kundenprojekte hinweg einsetzen: Hier sollte ganz besonders wert darauf gelegt werden, dass die Extension sauber ist, weil sonst rächen sich die verkauften SEO-Zusatzpakete. Google sagt bei der Suche nach &#8216;inurl:tx_extensionkey_pi1&#8242;: Mehr als 640.000 Treffer &#8230; ooops (ja ich weiß, es sind nicht 640.000 Unique Kunden, aber es sind noch genügende).</p>
<p>Extension ist nicht im TER, sonst würd ich das hier nicht schreiben, Agentur ist informaiert, ich bin gespannt &#8212; könnten arbeitsreiche Tage werden</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/unsichere-extension-suchmaschinenoptimierungen-vertragen-sicht-nicht/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Newsletterabmeldung mit Formhandler</title>
		<link>http://typo3blogger.de/newsletterabmeldung-mit-formhandler/</link>
		<comments>http://typo3blogger.de/newsletterabmeldung-mit-formhandler/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 22:13:03 +0000</pubDate>
		<dc:creator>Alois Rainbacher</dc:creator>
				<category><![CDATA[Extension]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[TypoScript]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=7824</guid>
		<description><![CDATA[Für ein Projekt habe ich die Newsletteranmeldung mit Formhandler, wie im Türchen 14 Tutorial beschrieben, verwendet. Natürlich war auch eine Newsletterabmeldung notwendig, die ich auch, basierend auf Formhandler, umgesetzt habe. Ablauf der Abmeldung Im Formular ist nur die E-Mail Adresse anzugeben, die aus dem Newsletterverteiler entfernt werden soll. Nach dem Absenden wird die eingetragenen E-Mail [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Für ein Projekt habe ich die Newsletteranmeldung mit Formhandler, wie im <a href="http://typo3blogger.de/newsletteranmeldung-mit-formhandler-turchen-14/" title="Newsletteranmeldung mit Formhandler – Türchen 14" target="_blank">Türchen 14</a> Tutorial beschrieben, verwendet. Natürlich war auch eine Newsletterabmeldung notwendig, die ich auch, basierend auf Formhandler, umgesetzt habe.<span id="more-7824"></span></p>
<p><strong>Ablauf der Abmeldung</strong><br />
Im Formular ist nur die E-Mail Adresse anzugeben, die aus dem Newsletterverteiler entfernt werden soll. Nach dem Absenden wird die eingetragenen E-Mail Adresse zunächst validiert (Tx_Formhandler_Validator_Default (gültige E-Mail Adresse und ob sie in der Tabelle tt_address existiert)) und bei Erfolg wird in der Tabelle tt_address für den existierenden Datensatz, basierend auf der angegebenen E-Mail Adresse, das Feld hidden auf 1 gesetzt (Finisher_DB).</p>
<p>Alle weiteren Schritte, wie versenden von E-Mails an User und Admin, habe ich in diesem Tutorial weggelassen, da sie genau wie im <a href="http://typo3blogger.de/newsletteranmeldung-mit-formhandler-turchen-14/" title="Newsletteranmeldung mit Formhandler – Türchen 14" target="_blank">Tutorial Newsletteranmeldung</a>, umgesetzt werden können.</p>

<div class="wp_syntax"><div class="code"><pre class="typoscript" style="font-family:monospace;"><span style="color: #990000; font-weight: bold;">plugin</span><span style="color: #339933; font-weight: bold;">.</span>Tx_Formhandler<span style="color: #339933; font-weight: bold;">.</span>settings<span style="color: #339933; font-weight: bold;">.</span>predef<span style="color: #339933; font-weight: bold;">.</span>newsletter <span style="color: #009900;">&#123;</span>
	<span style="color: #aaa; font-style: italic;"># Common configuration</span>
	name <span style="color: #339933; font-weight: bold;">=</span> Newsletterabmeldung
	addErrorAnchors <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">1</span>
	templateFile <span style="color: #339933; font-weight: bold;">=</span> fileadmin<span style="color: #339933; font-weight: bold;">/</span>templates<span style="color: #339933; font-weight: bold;">/</span>formhandler<span style="color: #339933; font-weight: bold;">/</span>newsletter_unsubscribe<span style="color: #339933; font-weight: bold;">.</span>html
	langFile<span style="color: #339933; font-weight: bold;">.</span>1 <span style="color: #339933; font-weight: bold;">=</span> fileadmin<span style="color: #339933; font-weight: bold;">/</span>templates<span style="color: #339933; font-weight: bold;">/</span>formhandler<span style="color: #339933; font-weight: bold;">/</span>newsletter_unsubscribe<span style="color: #339933; font-weight: bold;">.</span>xml
	cssFile<span style="color: #339933; font-weight: bold;">.</span>1 <span style="color: #339933; font-weight: bold;">=</span> fileadmin<span style="color: #339933; font-weight: bold;">/</span>css<span style="color: #339933; font-weight: bold;">/</span>my<span style="color: #339933; font-weight: bold;">.</span>css
	formValuesPrefix <span style="color: #339933; font-weight: bold;">=</span> formhandler
&nbsp;
	requiredSign <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #990000; font-weight: bold;">TEXT</span>
	requiredSign<span style="color: #339933; font-weight: bold;">.</span>value <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #339933; font-weight: bold;">*</span>
	requiredSign<span style="color: #339933; font-weight: bold;">.</span>wrap <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #3366CC;">&lt;span style=&quot;color: <span style="color: #3366CC;">#DF9707</span>;&quot;&gt;</span><span style="color: #339933; font-weight: bold;">|</span><span style="color: #3366CC;">&lt;/span&gt;</span>
&nbsp;
	<span style="color: #aaa; font-style: italic;">#isErrorMarker.default = class=&quot;errorField&quot;</span>
	isErrorMarker<span style="color: #339933; font-weight: bold;">.</span>default <span style="color: #339933; font-weight: bold;">=</span>
&nbsp;
	<span style="color: #aaa; font-style: italic;"># HTML wrapping by validation error</span>
	errorListTemplate <span style="color: #009900;">&#123;</span>
		totalWrap <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #3366CC;">&lt;div class=&quot;error&quot;&gt;</span><span style="color: #339933; font-weight: bold;">|</span><span style="color: #3366CC;">&lt;/div&gt;</span>
		singleWrap <span style="color: #339933; font-weight: bold;">=</span> &amp;nbsp;<span style="color: #339933; font-weight: bold;">|</span>&amp;nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #aaa; font-style: italic;">#PreProcessors</span>
	preProcessors <span style="color: #009900;">&#123;</span>
		<span style="color: #cc0000;">1</span><span style="color: #339933; font-weight: bold;">.</span>class <span style="color: #339933; font-weight: bold;">=</span> PreProcessor_LoadGetPost
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #aaa; font-style: italic;"># Validators configuration</span>
	validators <span style="color: #009900;">&#123;</span>
		<span style="color: #cc0000;">1</span> <span style="color: #009900;">&#123;</span>
			class <span style="color: #339933; font-weight: bold;">=</span> Tx_Formhandler_Validator_Default
			<span style="color: #000066; font-weight: bold;">config</span> <span style="color: #009900;">&#123;</span>
				fieldConf <span style="color: #009900;">&#123;</span>
					emailunsubscribe <span style="color: #009900;">&#123;</span>
						errorCheck<span style="color: #339933; font-weight: bold;">.</span>1 <span style="color: #339933; font-weight: bold;">=</span> required
						errorCheck<span style="color: #339933; font-weight: bold;">.</span>2 <span style="color: #339933; font-weight: bold;">=</span> email
						errorCheck<span style="color: #339933; font-weight: bold;">.</span>3 <span style="color: #339933; font-weight: bold;">=</span> isInDBTable
						errorCheck<span style="color: #339933; font-weight: bold;">.</span>3 <span style="color: #009900;">&#123;</span>
							table <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #000066; font-weight: bold;">tt_address</span>
							<span style="color: #000066; font-weight: bold;">field</span> <span style="color: #339933; font-weight: bold;">=</span> email
							fields <span style="color: #009900;">&#123;</span>
								email<span style="color: #339933; font-weight: bold;">.</span>mapping <span style="color: #339933; font-weight: bold;">=</span> emailunsubscribe
							<span style="color: #009900;">&#125;</span>
						<span style="color: #009900;">&#125;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #aaa; font-style: italic;"># Finishers configuration</span>
	finishers <span style="color: #009900;">&#123;</span>
		<span style="color: #cc0000;">1</span><span style="color: #339933; font-weight: bold;">.</span>class <span style="color: #339933; font-weight: bold;">=</span> Finisher_DB
		<span style="color: #cc0000;">1</span><span style="color: #339933; font-weight: bold;">.</span>config <span style="color: #009900;">&#123;</span>
		  debug <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">1</span>
			table <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #000066; font-weight: bold;">tt_address</span>
			updateInsteadOfInsert <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">1</span>
			key <span style="color: #339933; font-weight: bold;">=</span> email
			key_value <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #990000; font-weight: bold;">TEXT</span>
			key_value<span style="color: #339933; font-weight: bold;">.</span>data <span style="color: #339933; font-weight: bold;">=</span> GPvar<span style="color: #339933; font-weight: bold;">:</span>formhandler<span style="color: #339933; font-weight: bold;">|</span>emailunsubscribe
			fields <span style="color: #009900;">&#123;</span>
				hidden<span style="color: #339933; font-weight: bold;">.</span>ifIsEmpty <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">1</span>
				email<span style="color: #339933; font-weight: bold;">.</span>mapping <span style="color: #339933; font-weight: bold;">=</span> emailunsubscribe
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #cc0000;">2</span><span style="color: #339933; font-weight: bold;">.</span>class <span style="color: #339933; font-weight: bold;">=</span> Finisher_Redirect
		<span style="color: #cc0000;">2</span><span style="color: #339933; font-weight: bold;">.</span>config <span style="color: #009900;">&#123;</span>
			redirectPage <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">97</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;!-- ###TEMPLATE_FORM1### begin --&gt;
&lt;div id=&quot;formhandler_newsletter_unsubscribe_form&quot;&gt;
	&lt;form method=&quot;post&quot; action=&quot;###REL_URL###&quot;&gt;
	&lt;table&gt;
		&lt;tr&gt;
			&lt;td&gt;###LLL:newsletter_intro_unsubscribe###&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
				&lt;table&gt;
					&lt;tr&gt;
						&lt;td class=&quot;newsletterlabel&quot;&gt;###LLL:emailunsubscribe### ###required_emailunsubscribe###&lt;/td&gt;
						&lt;td&gt;&lt;input type=&quot;text&quot; ###is_error_emailunsubscribe### name=&quot;formhandler[emailunsubscribe]&quot; id=&quot;emailunsubscribe&quot; value=&quot;###value_emailunsubscribe###&quot; size=&quot;30&quot; class=&quot;newsletterinput&quot;/&gt;&lt;/td&gt;
					&lt;/tr&gt;
			  &lt;/table&gt;
			&lt;/td&gt;
		&lt;tr&gt;
			&lt;td class=&quot;newslettertext&quot;&gt;###LLL:required_fields###&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td class=&quot;newslettertext&quot;&gt;###LLL:newsletter_text_1###&lt;/td&gt;
		&lt;/tr&gt;
    &lt;tr&gt;
    	&lt;td&gt;&amp;nbsp;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
    	&lt;td&gt;&lt;input type=&quot;submit&quot; value=&quot;###LLL:submit###&quot; ###submit_nextStep###/&gt;&lt;/td&gt;
	  &lt;/tr&gt;
    &lt;tr&gt;
    	&lt;td&gt;###ERROR###&lt;/td&gt;
	  &lt;/tr&gt;
	&lt;/table&gt;
	&lt;/form&gt;
&lt;/div&gt;
&lt;!-- ###TEMPLATE_FORM1### end --&gt;
&nbsp;
&lt;!-- ###TEMPLATE_SUBMITTEDOK### begin --&gt;
&lt;table&gt;
  &lt;tr&gt;
    &lt;td&gt;###LLL:emailunsubscribe###&lt;/td&gt;
    &lt;td&gt;###value_emailunsubsrcibe###&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;!-- ###TEMPLATE_SUBMITTEDOK### end --&gt;</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span> <span style="color: #000066;">standalone</span>=<span style="color: #ff0000;">&quot;yes&quot;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;T3locallang<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;data</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;array&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;languageKey</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;default&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;array&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;emailunsubscribe&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>E-Mail<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;required_fields&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>* Pflichtfelder<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;newsletter_text_1&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Die Daten werden nicht an Dritte weitergegeben.<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;submit&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Formular senden<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;error_emailunsubscribe_required&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Gültige E-Mail Adresse bitte eingeben.<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;error_emailunsubscribe_email&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Gültige E-Mail Adresse bitte eingeben.<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;error_emailunsubscribe_isInDBTable&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Diese E-Mail Adresse ist nicht registriert.<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/languageKey<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/data<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/T3locallang<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p><em>Dies ist ein Gast-Beitrag von Alois Rainbacher. Vielen Dank dafür.</em></p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/newsletterabmeldung-mit-formhandler/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sicherheitslücken in sr_feuser_register und anderen TYPO3 Extensions</title>
		<link>http://typo3blogger.de/sicherheitslucken-in-sr_feuser_register-und-anderen-typo3-extensions/</link>
		<comments>http://typo3blogger.de/sicherheitslucken-in-sr_feuser_register-und-anderen-typo3-extensions/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 12:18:53 +0000</pubDate>
		<dc:creator>Peter Kraume</dc:creator>
				<category><![CDATA[Extension]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=7674</guid>
		<description><![CDATA[Das TYPO3 Security Team hat heute zwei Security Bulletins veröffentlicht: Die Extension sr_feuser_register gibt bei der Nutzung des Autologin Features den Benutzernamen und das Passwort des Frontend Benutzers preis. Eine aktualisierte Version 2.6.2 steht im TER bereit. Das zweite Bulletin behandelt eine ganze Reihe von Extensions: Crop and Square Thumbnails (tkcropthumbs) Typo3 eXtplorer (t3extplorer) TC [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Das TYPO3 Security Team hat heute zwei Security Bulletins veröffentlicht:</p>
<p>Die Extension sr_feuser_register gibt bei der Nutzung des Autologin Features den Benutzernamen und das Passwort des Frontend Benutzers preis. Eine aktualisierte Version 2.6.2 steht im TER bereit.</p>
<p>Das zweite Bulletin behandelt eine ganze Reihe von Extensions:</p>
<ul>
<li>Crop and Square Thumbnails (tkcropthumbs)</li>
<li>Typo3 eXtplorer (t3extplorer)</li>
<li>TC BE User Admin (tc_beuser)</li>
<li>Predigtsammlung (an_predigten)</li>
<li>Apache Solr for TYPO3 (solr)</li>
<li>PDF Controller (pdfcontroller)</li>
<li>Share Your Car (cc20)</li>
<li>JW Player (jwplayer)</li>
</ul>
<p>Details finden sich in den jeweiligen Bulletins:</p>
<ul>
<li><a href="http://typo3.org/teams/security/security-bulletins/typo3-extensions/typo3-ext-sa-2012-002/">TYPO3-EXT-SA-2012-002</a></li>
<li><a href="http://typo3.org/teams/security/security-bulletins/typo3-extensions/typo3-ext-sa-2012-003/">TYPO3-EXT-SA-2012-003</a></li>
</ul>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/sicherheitslucken-in-sr_feuser_register-und-anderen-typo3-extensions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EXT:Maintenance &#8211; TYPO3 Wartungsmodus mit einem Klick aktivieren</title>
		<link>http://typo3blogger.de/extension-maintenance-typo3-wartungsmodus-mit-einem-klick-aktivieren/</link>
		<comments>http://typo3blogger.de/extension-maintenance-typo3-wartungsmodus-mit-einem-klick-aktivieren/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 19:50:12 +0000</pubDate>
		<dc:creator>Andy Grunwald</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Extension]]></category>
		<category><![CDATA[myExt]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=7651</guid>
		<description><![CDATA[Am 28. April 2011 hat Peter Kraume einen Beitrag zum Thema &#8220;TYPO3 vorübergehend in den Wartungsmodus schalten&#8221; veröffentlicht. In den dortigen Kommentaren wurde gefragt, warum dies nicht einfacher zu aktivieren wäre. Diese Frage ist bei mir auf Interesse gestoßen. Ich habe daraufhin eine kleine Extension entwickelt, die genau dies tut: Den TYPO3 Wartungsmodus mit einem Klick [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Am 28. April 2011 hat Peter Kraume einen Beitrag zum Thema <a title="TYPO3 vorübergehend in den Wartungsmodus schalten" href="http://typo3blogger.de/typo3-vorubergehend-in-den-wartungsmodus-schalten/">&#8220;TYPO3 vorübergehend in den Wartungsmodus schalten</a>&#8221; veröffentlicht. In den dortigen Kommentaren wurde gefragt, warum dies nicht einfacher zu aktivieren wäre. Diese Frage ist bei mir auf Interesse gestoßen. Ich habe daraufhin eine kleine Extension entwickelt, die genau dies tut: Den TYPO3 Wartungsmodus mit einem Klick zu aktivieren. Zugegeben: Ich habe länger als fünf Minuten benötigt (siehe Kommentare im verlinken Artikel). Dennoch funktioniert diese Extension ab TYPO3 4.5 aufwärts.</p>
<p><span id="more-7651"></span>Aber was ist zu tun um das ganze zum laufen zu bringen? Gar nicht so viel!</p>
<ol>
<li>Extension <a title="TYPO3 Extension Repository: Maintenance" href="http://typo3.org/extensions/repository/view/maintenance/current/">&#8220;maintenance&#8221; aus dem TER</a> installieren</li>
<li>Im Extension Manager das Setting &#8220;adminOnly&#8221; konfigurieren. Dieses Setting wird bei Aktivierung des Wartungsmodus automatisch gesetzt. Dort ist Einstellbar, wer sich während der Wartung in das Backend einloggen kann (alle User, nur Administratoren, Administratoren und CLI Benutzer)</li>
<li>Zur Kontrolle sollten die Einstellungen &#8220;DevIpMask&#8221;, &#8220;pageUnavailable_handling&#8221; und &#8220;pageUnavailable_handling_statheader&#8221; im Install-Tool überprüft werden</li>
<li>Um ganz sicher zu gehen, kann man seine getätigten Einstellungen noch im Report-Module im Bereich &#8220;maintenance&#8221; überprüfen</li>
<li>Danach einfach mal das TYPO3 Backend neu laden. In der rechten oberen Ecke sollte nun ein neues Icon auftauchen, was den Wartungsmodus aktiviert / deaktiviert</li>
</ol>
<p>Schritt zwei, drei und vier sind nicht wirklich nötig um die Extension zu testen. Dennoch sind diese sinnvoll und empfehlenswert. Denn wie schon im verlinken Artikel beschrieben sollte die &#8220;DevIpMask&#8221; auf die aktuelle IP-Adresse zutreffen um weiterhin die richtige Seite zu sehen. &#8220;pageUnavailable_handling&#8221; sollte mittels READFILE, REDIRECT, USER_FUNCTION, oder ähnliches auf einen vernünftigen und aussagekräftigen Wert gesetzt werden, damit der Benutzer auch weiß warum die Seite für kurze Zeit nicht verfügbar ist. Und zu guter letzt sollten alle automatischen Anfragen mittels &#8220;pageUnavailable_handling_statheader&#8221; informiert werden (HTTP Header 503).</p>
<p>Bereits kurz nach dem ersten Release im TER hat Josef Florian Glatz vom österreichischen <a title="TYPO3Blog" href="http://typo3blog.at">TYPO3Blog</a> die Extension aufgegriffen, getestet und <a title="TYPO3Blog.at: Extension &quot;maintenance&quot; im TER veröffentlicht" href="http://typo3blog.at/videos/artikel/extension-maintenance-im-ter-veroeffentlicht/">einen Artikel darüber verfasst</a>. Dazu wurde ein kleiner Screencast erstellt, den er uns freundlicherweise zur Verfügung gestellt hat. Vielen Dank dafür!<br />
[Im Feed kann dieses Video nicht angezeigt werden.<a href="http://typo3blogger.de/extension-maintenance-typo3-wartungsmodus-mit-einem-klick-aktivieren/">Klicke zum Blogeintrag um das Video anzusehen.]</a></p>
<p>Wie immer würde ich mich als Entwickler über Feedback sehr freuen (auch negatives!). Gefundene Bugs sowie weitere Features werden gerne im Forge-Issue-Tracker entgegen genommen. Auch eine Bewertung (Rating) im TYPO3 Extension Repository zaubert einem Entwickler ein grinsen ins Gesicht <img src='http://typo3blogger.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Und nun eine Frage aus eigenem Interesse: Werdet Ihr diese Extension einsetzen oder ist diese &#8220;unnütz&#8221;, weil TYPO3 alles von Haus aus mit bringt?</p>
<p>Weitere Links:</p>
<ul>
<li><a title="EXT:maintenance auf Forge" href="http://forge.typo3.org/projects/extension-maintenance">EXT:maintenance auf Forge</a></li>
<li><a title="EXT:maintenance im TER" href="http://typo3.org/extensions/repository/view/maintenance/current/">EXT:maintenance im TER</a></li>
<li><a title="Extension-Review auf TYPO3blog.at" href="http://typo3blog.at/videos/artikel/extension-maintenance-im-ter-veroeffentlicht/">Extension-Review auf TYPO3blog.at</a></li>
<li><a title="EXT:maintenance-Review auf Vimeo" href="http://vimeo.com/37218330">EXT:maintenance-Review auf Vimeo</a></li>
</ul>
<p>&nbsp;</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/extension-maintenance-typo3-wartungsmodus-mit-einem-klick-aktivieren/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Fundstücke: individuelles cObject Caching</title>
		<link>http://typo3blogger.de/fundstucke-individuelles-cobject-caching/</link>
		<comments>http://typo3blogger.de/fundstucke-individuelles-cobject-caching/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 14:45:35 +0000</pubDate>
		<dc:creator>Peter Kraume</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Extension]]></category>
		<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[TypoScript]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=7647</guid>
		<description><![CDATA[Fabrizio Branca stellt in seinem Blog die neue Extension cObj Cache vor, die ein individuelles Caching von cObjects ermöglicht. Inspiriert wurde die Extension, die das TYPO3 Caching Framework nutzt, durch das Block Caching in Magento. Dabei wird die TypoScript Funktion stdWrap um weitere Konfigurationsmöglichkeiten erweitert. Die Extension funktioniert ab TYPO3 4.5 und ist aktuell nur [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Fabrizio Branca stellt in <a href="http://www.fabrizio-branca.de/typo3-individual-cobject-caching.html">seinem Blog</a> die neue Extension <a href="http://forge.typo3.org/projects/extension-cobjcache">cObj Cache</a> vor, die ein individuelles Caching von cObjects ermöglicht. Inspiriert wurde die Extension, die das TYPO3 Caching Framework nutzt, durch das Block Caching in Magento. Dabei wird die TypoScript Funktion stdWrap um weitere Konfigurationsmöglichkeiten erweitert. Die Extension funktioniert ab TYPO3 4.5 und ist aktuell nur auf <a href="http://forge.typo3.org/projects/extension-cobjcache/repository">Forge</a> zu haben. Der Autor der Extension freut sich über jedes Feedback.</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/fundstucke-individuelles-cobject-caching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neuer Autor für EXT:realurlmanagement gesucht</title>
		<link>http://typo3blogger.de/neuer-autor-fur-extrealurlmanagement-gesucht/</link>
		<comments>http://typo3blogger.de/neuer-autor-fur-extrealurlmanagement-gesucht/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 15:43:11 +0000</pubDate>
		<dc:creator>Andy Grunwald</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Extension]]></category>
		<category><![CDATA[Jobs]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=7511</guid>
		<description><![CDATA[Die Extension RealURL Management ist einer der &#8220;urgesteine&#8221; aus dem TER. Zurzeit hat diese 13407 (total) / 6589 (aktuelle Version) Downloads (die Dunkelziffer wird noch höher liegen, da der TER Counter eine Zeit lang nicht funktioniert hat). Die aktuelle Version ist 0.3.4 und wurde am 21.02.2008 das letzte mal released. Wie also unschwer zu erkennen ist, war die Entwicklung [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Die Extension <a title="RealURL Management" href="http://forge.typo3.org/projects/show/extension-realurlmanagement">RealURL Management</a> ist einer der &#8220;urgesteine&#8221; aus dem <a title="RealURL management im TER" href="http://typo3.org/extensions/repository/view/realurlmanagement/current/">TER</a>. Zurzeit hat diese 13407 (total) / 6589 (aktuelle Version) Downloads (die Dunkelziffer wird noch höher liegen, da der TER Counter eine Zeit lang nicht funktioniert hat). Die aktuelle Version ist 0.3.4 und wurde am 21.02.2008 das letzte mal released.</p>
<p>Wie also unschwer zu erkennen ist, war die Entwicklung dieser Extension  in letzter Zeit nicht ganz so aktiv. Dies liegt daran, dass der aktuelle Autor, <a title="Juraj Sulek" href="http://forge.typo3.org/users/325">Juraj Sulek</a>, keine Zeit mehr zur Pflege sowie Weiterentwicklung dieser Extension hat. Aus diesem Grund wird hier ein Aufruf gestartet:</p>
<p><strong>Hat jemand Lust, Zeit und Muße die Extension realurlmanagement zu übernehmen? Es wird ein neuer Autor gesucht!</strong></p>
<p>Wenn Ihr euch nun angesprochen fühlt, könnt Ihr euch einfach bei Juraj via Forge melden. Er beißt nicht und ist gerne bereit dieses Projekt in neue Hände zu übergeben.</p>
<p>Und noch eine Frage für Zwischendurch: Was haltet Ihr von solchen &#8220;Angeboten&#8221; / &#8220;Gesuchen&#8221; auf diesem Blog? Passend, da es um eines der meist genutzten Features (Extensions) geht und es ist völlig in Ordnung oder seid Ihr von einer solchen Art von Posts genervt? Kleines Feedback in den Comments wäre klasse.</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/neuer-autor-fur-extrealurlmanagement-gesucht/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Mehrspaltige Struktur-Elemente mit Gridelements – Türchen 21</title>
		<link>http://typo3blogger.de/mehrspaltige-struktur-elemente-mit-gridelements-turchen-21/</link>
		<comments>http://typo3blogger.de/mehrspaltige-struktur-elemente-mit-gridelements-turchen-21/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 07:00:16 +0000</pubDate>
		<dc:creator>Tobias Liegl</dc:creator>
				<category><![CDATA[Extension]]></category>
		<category><![CDATA[Templates]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=7378</guid>
		<description><![CDATA[Backend-Layouts machen Spaß und sind schnell zu implementieren. Wer dadurch auf den Geschmack gekommen ist und überlegt, von Templavoila auf diese Methode zu wechseln, vermisst sicherlich die Möglichkeit, Struktur-Elemente (zwei- oder mehrspaltige Inhaltscontainer) anzulegen. Mit Templavoila hat man sich dafür meist FCEs (Flexible Content Elements) angelegt. Auch die Extension &#8220;multicolumn&#8221; dürfte in diesem Zusammenhang vielen [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://typo3blogger.de/typo3-templates-mit-backend-layouts-und-fluidtemplate-turchen-19/">Backend-Layouts</a> machen Spaß und sind schnell zu implementieren. Wer dadurch auf den Geschmack gekommen ist und überlegt, von Templavoila auf diese Methode zu wechseln, vermisst sicherlich die Möglichkeit, Struktur-Elemente (zwei- oder mehrspaltige Inhaltscontainer) anzulegen. Mit Templavoila hat man sich dafür meist FCEs (Flexible Content Elements) angelegt. Auch die Extension &#8220;multicolumn&#8221; dürfte in diesem Zusammenhang vielen ein Begriff sein. Doch inzwischen gibt es eine Erweiterung für TYPO3, die das Konzept der Backend-Layouts auf Struktur- bzw. Raster-Elemente überträgt: <strong>gridelements</strong>.</p>
<p><span id="more-7378"></span></p>
<p>Man lädt sich also die Erweiterung &#8220;gridelements&#8221; aus dem TER, installiert sie und bindet die &#8220;Statischen Templates&#8221; ein. Danach den System-Ordner, den man als &#8220;Allgemeine Datensatzsammlung&#8221; angegeben hat öffnen und dort einen neuen Datensatz vom Typ &#8220;CE Backend Layout&#8221; anlegen. Die Funktionsweise ist hier die gleiche wie bei den <a href="http://typo3blogger.de/typo3-templates-mit-backend-layouts-und-fluidtemplate-turchen-19/">Backend Layouts</a>. Danach lässt sich das neu angelegte Element auf einer Seite einfügen. Man findet es in der Rubrik &#8220;Raster-Elemente&#8221;. Hat man z. B. ein zweispaltiges Element angelegt, sieht das Backend ungefähr so aus:</p>
<p><a href="http://typo3blogger.de/wp-content/uploads/2011/12/gridelement-zweispaltig.png"><img class="alignnone size-full wp-image-7385" title="gridelement-zweispaltig" src="http://typo3blogger.de/wp-content/uploads/2011/12/gridelement-zweispaltig.png" alt="" width="479" height="260" /></a></p>
<p>Nachdem das erfreulicherweise schon alles war, kümmern wir uns um die Ausgabe auf der Webseite. Dazu kann man per Typoscript definieren, wie dieses Element ausgegeben werden soll. Für das zweispaltige Element könnte das so aussehen:</p>

<div class="wp_syntax"><div class="code"><pre class="typoscript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">tt_content</span><span style="color: #339933; font-weight: bold;">.</span>gridelements_pi1<span style="color: #339933; font-weight: bold;">.</span>20<span style="color: #339933; font-weight: bold;">.</span>10<span style="color: #339933; font-weight: bold;">.</span>setup <span style="color: #009900;">&#123;</span>
	<span style="color: #aaa; font-style: italic;"># ID of gridelement</span>
	<span style="color: #cc0000;">1</span> <span style="color: #339933; font-weight: bold;">&lt;</span> <span style="color: #000066; font-weight: bold;">temp</span><span style="color: #339933; font-weight: bold;">.</span>gridelements<span style="color: #339933; font-weight: bold;">.</span>defaultGridSetup
	<span style="color: #cc0000;">1</span> <span style="color: #009900;">&#123;</span>
		columns <span style="color: #009900;">&#123;</span>
			<span style="color: #aaa; font-style: italic;"># colPos ID</span>
			<span style="color: #cc0000;">11</span> <span style="color: #339933; font-weight: bold;">&lt;</span> <span style="color: #339933; font-weight: bold;">.</span>default
			<span style="color: #cc0000;">11</span><span style="color: #339933; font-weight: bold;">.</span>wrap <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #3366CC;">&lt;div class=&quot;firstcol&quot;&gt;</span><span style="color: #339933; font-weight: bold;">|</span><span style="color: #3366CC;">&lt;/div&gt;</span>
			<span style="color: #aaa; font-style: italic;"># colPos ID</span>
			<span style="color: #cc0000;">12</span> <span style="color: #339933; font-weight: bold;">&lt;</span> <span style="color: #339933; font-weight: bold;">.</span>default
			<span style="color: #cc0000;">12</span><span style="color: #339933; font-weight: bold;">.</span>wrap <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #3366CC;">&lt;div class=&quot;secondcol&quot;&gt;</span><span style="color: #339933; font-weight: bold;">|</span><span style="color: #3366CC;">&lt;/div&gt;</span>
		<span style="color: #009900;">&#125;</span>
		wrap <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #3366CC;">&lt;div class=&quot;element2cols&quot;&gt;</span><span style="color: #339933; font-weight: bold;">|</span><span style="color: #3366CC;">&lt;/div&gt;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Wichtig sind hier die verwendeten Zahlen. Die &#8220;1&#8243; entspricht der ID des angelegten &#8220;gridelements&#8221;. Darin befinden sich die &#8220;columns&#8221;, die anhand ihrer colPos mit einem &#8220;wrap&#8221; versehen werden können. Der &#8220;wrap&#8221; am Ende umschließt das komplette Element. Zusätzliche Elemente können nach dem gleichen Schema hinzugefügt werden.</p>
<p>Selbst wenn man keine Raster-Elemente benötigt, empfiehlt es sich, die Erweiterung <strong>gridelements</strong> zu installieren. Denn man erhält mit dieser Extension auch eine Drag&amp;Drop-Funktionalität für die Inhaltselemente, wie man sie von Templavoila kennt.</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/mehrspaltige-struktur-elemente-mit-gridelements-turchen-21/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Manipulationen am TYPO3 Frontend Output automatisch erkennen &#8211; Türchen 20</title>
		<link>http://typo3blogger.de/manipulationen-am-typo3-frontend-output-automatisch-erkennen-turchen-20/</link>
		<comments>http://typo3blogger.de/manipulationen-am-typo3-frontend-output-automatisch-erkennen-turchen-20/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 07:00:10 +0000</pubDate>
		<dc:creator>Peter Kraume</dc:creator>
				<category><![CDATA[Extension]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=7368</guid>
		<description><![CDATA[In vielen Fällen, wo Angreifer versuchen, Schadcode oder einen Conditional Hack in einer Webseite unterzubringen, wird einfach nur die zentrale index.php oder index.html Datei verändert, unabhängig davon, welches CMS oder sonstige Software zum Einsatz kommt. Die Angreifer kommen dabei gar nicht zwingend durch eine Sicherheitslücke in der verwendeten Software ins System sondern oft auch durch [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://typo3blogger.de/wp-content/uploads/2011/12/CheckMySite.png"><img class="alignright size-full wp-image-7370" title="CheckMySite" src="http://typo3blogger.de/wp-content/uploads/2011/12/CheckMySite.png" alt="" width="250" height="189" /></a>In vielen Fällen, wo Angreifer versuchen, Schadcode oder einen <a title="Die eigene Webseite als Spam Schleuder: der Google Conditional Hack" href="http://typo3blogger.de/die-eigene-webseite-als-spam-schleuder-der-google-conditional-hack/" target="_blank">Conditional Hack</a> in einer Webseite unterzubringen, wird einfach nur die zentrale index.php oder index.html Datei verändert, unabhängig davon, welches CMS oder sonstige Software zum Einsatz kommt. Die Angreifer kommen dabei gar nicht zwingend durch eine Sicherheitslücke in der verwendeten Software ins System sondern oft auch durch einen FTP Account, dessen Zugangsdaten über einen Trojaner abgegriffen wurde.</p>
<p>Um die mögliche Manipulation der zentralen index.php Datei bei TYPO3 zu entdecken ist die Extension <a title="CheckMySite" href="http://typo3.org/extensions/repository/view/checkmysite/current/" target="_blank">CheckMySite</a> sehr hilfreich.</p>
<p><span id="more-7368"></span></p>
<p>Die Extension überprüft die index.php bei jedem Seitenaufruf auf potenziellen Schadcode indem ca. 60 Regeln abgearbeitet werden. Auf die Prüfung einer zuvor hinterlegten Signatur wurde bewußt verzichtet, damit nicht bei jedem TYPO3 Update neue Signaturen erzeugt werden müssen. Das Regelset bildet alle momentan bekannten Angriffszenarien ab und kann bei Bedarf später erweitert werden.</p>
<p>Wird potenzielle Schadcode entdeckt, wird eine Mail an eine vorher definierte Adresse geschickt. Die Nachricht wird in regelmäßigen Abständen erneut verschickt, damit sie nicht untergeht. Der Zeitraum kann frei definiert werden.</p>
<p>Außerdem wird der Frontend Output von TYPO3 unterbunden und stattdessen ein frei wählbarer Text, wie zum Beispiel &#8220;Webseite wegen Wartungsarbeiten nicht erreichbar&#8221; angezeigt oder auf eine andere URL (z.B. eine statische Wartungsseite) umgeleitet. Dadurch wird sichergestellt, dass sich der Schadcode nicht weiter verbeiten oder von Google indiziert werden kann.</p>
<p>Nachdem der Schadcode entfernt wurde, läuft die Webseite wieder wie gewohnt.</p>
<p>Laut Extension Autor verzögert sich der Seitenaufbau durch die Überprüfung um etwa 20 ms. Für Seiten mit normalem Traffic dürfte das keine Rolle spielen, bei größeren Webseiten oder Seiten mit Lastspitzen sollte die Serverlast aber im Auge behalten werden.</p>
<p>Die aktuell im TER verfügbare Version 2.0.3 von CheckMySite setzt PHP 5.3 voraus. Durch die Änderung einer Zeile Code läuft sie aber auch problemlos in PHP 5.2.<br />
Dazu muss in der Datei typo3conf/ext/checkmysite/lib/class.checkfile.php das Code Schnipsel</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">realpath</span><span style="color: #009900;">&#40;</span>__DIR__<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/check.db'</span><span style="color: #339933;">;</span></pre></div></div>

<p>durch</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">realpath</span><span style="color: #009900;">&#40;</span>t3lib_extMgm<span style="color: #339933;">::</span><span style="color: #004000;">extPath</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'checkmysite'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/check.db'</span><span style="color: #339933;">;</span></pre></div></div>

<p>ersetzt werden.</p>
<p>Andernfalls wird das TYPO3 Protokoll mit Fehlermeldungen dieser Art überschwemmt:</p>
<pre>PHP Warning: touch(): Unable to create file /check.db because Permission denied in /pfad/zu/typo3conf/ext/checkmysite/lib/class.checkfile.php line 228</pre>
<p>Außerdem wird dann bei jedem Seitenaufruf eine Mail verschickt und nicht nur ein mal pro eingestelltem Intervall. Bei regem Traffic kann das eine Mailbox schnell sprengen.</p>
<p>Ein Update der Extension, die auch mit PHP 5.2 kompatibel ist, wurde bereits in Aussicht gestellt.</p>
<h2>Installation</h2>
<p>Die Installation ist super einfach: Extension über den Extension Manager aus dem TER downloaden und installieren. Danach Empfänger und Absender Adresse eingeben. Auch mehrere Empfänger sind möglich. Außerdem kann der Text, der bei der Entdeckung von Schadcode angezeigt wird, angepasst werden oder eine Weiterleitungs Adresse definiert werden. Zuletzt wird noch der Intervall der Benachrichtigungsmail festgelegt. Standard ist eine halbe Stunde. Nach dem Speichern ist die Installation abgeschlossen und die Webseite wird überwacht.</p>
<h2>Fazit</h2>
<p>Durch die Extension CheckMySite kann eine Webseite sehr leicht sicherer gemacht werden. Man darf sich aber nicht der Illusion hingeben, dadurch unverwundbar zu sein. Ein weiteres beliebtes Angriffsziel für Manipulationen ist zum Beispiel die .htaccess Datei, die nicht überwacht wird. Updates des TYPO3 Cores und aller Extensions sollten also immer Priorität haben.</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/manipulationen-am-typo3-frontend-output-automatisch-erkennen-turchen-20/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>HTML5 Boilerplate mit TYPO3 – Türchen 17</title>
		<link>http://typo3blogger.de/html5-boilerplate-mit-typo3-turchen-17/</link>
		<comments>http://typo3blogger.de/html5-boilerplate-mit-typo3-turchen-17/#comments</comments>
		<pubDate>Sat, 17 Dec 2011 07:00:02 +0000</pubDate>
		<dc:creator>Tobias Liegl</dc:creator>
				<category><![CDATA[Extension]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=7260</guid>
		<description><![CDATA[Wer sich mit Frontend-Entwicklung beschäftigt, stolpert früher oder später über HTML5 Boilerplate und die Konzepte die damit einhergehen. Der auffälligste Teil beim Betrachten des Quellcodes einer mit HTML5 Boilerplate umgesetzten Webseite, dürften die Conditional Comments um den &#60;html&#62; Tag sein. Das sieht dann ungefähr so aus: &#60;!--[if lt IE 7]&#62; &#60;html lang="de" class="no-js ie6"&#62; &#60;![endif]--&#62; [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Wer sich mit Frontend-Entwicklung beschäftigt, stolpert früher oder später über <a href="http://html5boilerplate.com/" target="_blank">HTML5 Boilerplate</a> und die Konzepte die damit einhergehen. Der auffälligste Teil beim Betrachten des Quellcodes einer mit HTML5 Boilerplate umgesetzten Webseite, dürften die Conditional Comments um den &lt;html&gt; Tag sein. Das sieht dann ungefähr so aus:</p>
<pre>&lt;!--[if lt IE 7]&gt; &lt;html lang="de" class="no-js ie6"&gt; &lt;![endif]--&gt;
&lt;!--[if IE 7]&gt; &lt;html lang="de" class="no-js ie7"&gt; &lt;![endif]--&gt;
&lt;!--[if IE 8]&gt; &lt;html lang="de" class="no-js ie8"&gt; &lt;![endif]--&gt;
&lt;!--[if gt IE 8]&gt;&lt;!--&gt; &lt;html lang="de" class="no-js"&gt; &lt;!--&lt;![endif]--&gt;</pre>
<p><span id="more-7260"></span></p>
<p>Je nach eingesetztem Browser hat man also zusätzliche CSS-Klassen im &lt;html&gt; Tag, anhand derer man seine Seite für verschiedene IE-Browser-Versionen anpassen kann. Dieser Ansatz hat den Vorteil, dass man alle CSS-Angaben in einer CSS-Datei machen kann und dazu keine CSS-Hacks benötigt, um die unterschiedlichen IEs anzusprechen. Und da das alles in einer Datei machbar ist, spart man sich auch noch ein paar HTTP-Requests &#8211; im Vergleich zur Einbindung von versionsspezifischen Stylesheets per Conditional Comment.</p>
<h3>Aber wie bekommt man das jetzt in eine TYPO3-Seite?</h3>
<p>Nur mit der Angabe von &#8220;config.doctype = html5&#8243; ist es hier natürlich nicht getan. Es gibt meines Wissens auch keine Standard-Typoscript-Anweisung, mit der man den obigen Code in die Webseite bekommt. Aber für solche Fälle gibt es ja Extensions! Und hier hilft die Extension &#8220;<a href="http://typo3.org/extensions/repository/view/html5boilerplate/current/" target="_blank">html5boilerplate</a>&#8220;. Nach der Installation dieser Extension lässt sich der obige Code wie folgt einfügen:</p>
<pre>config.html5boilerplate {
 htmlTag (
    &lt;!--[if lt IE 7]&gt; &lt;html lang="de" class="no-js ie6"&gt; &lt;![endif]--&gt;
    &lt;!--[if IE 7]&gt; &lt;html lang="de" class="no-js ie7"&gt; &lt;![endif]--&gt;
    &lt;!--[if IE 8]&gt; &lt;html lang="de" class="no-js ie8"&gt; &lt;![endif]--&gt;
    &lt;!--[if gt IE 8]&gt;&lt;!--&gt; &lt;html lang="de" class="no-js"&gt; &lt;!--&lt;![endif]--&gt;
  )
}</pre>
<p>Somit hätte man den kompliziertesten Teil der <strong>HTML5 Boilerplate</strong> in TYPO3 integriert. Alles andere lässt sich im Prinzip mit hinlänglich bekannten TYPO3-Boardmitteln erledigen.</p>
<p>Die Extension liefert dazu auch Statische Templates (Typoscript) zum Einbinden mit, in denen neben dem obigen Snippet auch viele andere Anweisungen definiert sind. Es wird z. B. <a href="http://www.modernizr.com/" target="_blank">Modernizr</a> im &lt;head&gt; eingebunden und alle anderen Skripte per &#8220;page.includeJSFooter&#8221; in den Footer geladen. Es lohnt sich also, einen Blick in die TS-Templates zu werfen, selbst wenn man die Extension eigtl. nur für das Setzen des HTML-Tags verwenden möchte.</p>
<p>Einer Webseite nach HTML5 Boilerplate Prinzipien steht dank dieser Extension nichts im Wege.</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/html5-boilerplate-mit-typo3-turchen-17/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>RealURL Config für mehrere Domains &#8211; Türchen 16</title>
		<link>http://typo3blogger.de/realurl-config-fur-mehrere-domains/</link>
		<comments>http://typo3blogger.de/realurl-config-fur-mehrere-domains/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 23:23:17 +0000</pubDate>
		<dc:creator>Tim Lochmüller</dc:creator>
				<category><![CDATA[Extension]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=7242</guid>
		<description><![CDATA[Auf dem BarCamp in Berlin wurde eine Multi-Domain Konfiguration mit RealURL vorgestellt. Problem war, dass die einzelnen Domains unterschiedliche Startpunkte hatten. Nachteil der vorgestellten Lösung war, dass zwar für jede Anfrage die passende rootpage_id genommen wurde, aber man keine individuellen Änderungen vornehmen konnte. Mit diesem Scheduler Task ist dies anders. Der Scheduler Task legt parallel [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Auf dem BarCamp in Berlin wurde eine Multi-Domain Konfiguration mit RealURL vorgestellt. Problem war, dass die einzelnen Domains unterschiedliche Startpunkte hatten. Nachteil der vorgestellten Lösung war, dass zwar für jede Anfrage die passende rootpage_id genommen wurde, aber man keine individuellen Änderungen vornehmen konnte. Mit diesem Scheduler Task ist dies anders.</p>
<p><span id="more-7242"></span>Der Scheduler Task legt parallel zur &#8220;localconf.php&#8221; eine &#8220;localhost_AutoRealURLDomainConfiguration.php&#8221;-Datei ab. In dieser werden automatisch (im Intervall des Scheduler Tasks) alle Domains, welche keine Weiterleitungen sind, mit der passenden rootpage_id konfiguriert (Achtung: Syntax-Highlightig funktioniert nicht richtig).</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">class Tx_Extension_Scheduler_RealUrlDomainConfiguration extends tx_scheduler_Task {
&nbsp;
    public function execute() {
        $nl = &quot;\n&quot;;
        $phpCode = '<span style="color: #000000; font-weight: bold;">&lt;?php</span><span style="color: #0000ff;">'.$nl;
        $res = $GLOBALS['</span>TYPO3_DB<span style="color: #0000ff;">']-&gt;exec_SELECTquery('</span><span style="color: #339933;">*</span><span style="color: #0000ff;">','</span>sys_domain<span style="color: #0000ff;">','</span>hidden<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span> AND redirectTo<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #0000ff;">','</span><span style="color: #0000ff;">','</span><span style="color: #0000ff;">',1000);
        while($row = $GLOBALS['</span>TYPO3_DB<span style="color: #0000ff;">']-&gt;sql_fetch_assoc($res)){
            $phpCode .= '</span><span style="color: #000088;">$TYPO3_CONF_VARS</span><span style="color: #009900;">&#91;</span>\<span style="color: #0000ff;">'EXTCONF\'][\'realurl\'][\''</span><span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'domainName'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'\'] = $TYPO3_CONF_VARS[\'EXTCONF\'][\'realurl\'][\'_DEFAULT\'];'</span><span style="color: #339933;">.</span><span style="color: #000088;">$nl</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$phpCode</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'$TYPO3_CONF_VARS[\'EXTCONF\'][\'realurl\'][\''</span><span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'domainName'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'\'][\'pagePath\'][\'rootpage_id\'] = '</span><span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pid'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">';'</span><span style="color: #339933;">.</span><span style="color: #000088;">$nl</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000088;">$phpCode</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'?&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// write</span>
        <span style="color: #000088;">$path</span> <span style="color: #339933;">=</span> PATH_site<span style="color: #339933;">.</span><span style="color: #0000ff;">'typo3conf/localhost_AutoRealURLDomainConfiguration.php'</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #990000;">file_put_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #339933;">,</span> <span style="color: #000088;">$phpCode</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Der Aufruf der neuen RealURL-Konfigurationdatei findet dann HINTER euren normalen RealURL Konfiguration (in der &#8220;localconf.php&#8221;) statt.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// normale RealURL Config hier (_DEFAULT)</span>
&nbsp;
<span style="color: #000088;">$autoRealConf</span> <span style="color: #339933;">=</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/localhost_AutoRealURLDomainConfiguration.php'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$autoRealConf</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$autoRealConf</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Besonderheiten für Domains hier (Domain)</span></pre></div></div>

<p>Vorteil dieser Lösung ist, dass man im Backendmodul &#8220;Konfiguration&#8221; alle Domains in der RealURL Konfiguration wiederfindet und auch die Änderungen passend sichtbar sind. Habt ihr eine andere, vielleicht leichtere/bessere Lösung?</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/realurl-config-fur-mehrere-domains/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Newsletteranmeldung mit Formhandler &#8211; Türchen 14</title>
		<link>http://typo3blogger.de/newsletteranmeldung-mit-formhandler-turchen-14/</link>
		<comments>http://typo3blogger.de/newsletteranmeldung-mit-formhandler-turchen-14/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 07:00:31 +0000</pubDate>
		<dc:creator>Stefan Frömken</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Extension]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[TypoScript]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=7035</guid>
		<description><![CDATA[Am 24.11.2011 ist die neue und vor allem stabile Version 1.0.0 von formhandler rausgekommen. Geil finde ich, dass formhandler nun eine eigene Webseite erhalten hat inkl. Doku, News und vielen Beispielen. Ich habe mir diese Extension mal unter den Nagel gerissen und ein Projekt gesucht, das ich damit umsetzen kann. Ein Kontaktformular wäre zu Standard [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Am 24.11.2011 ist die neue und vor allem stabile Version 1.0.0 von formhandler rausgekommen. Geil finde ich, dass formhandler nun eine eigene <a title="Webseite Formhandler" href="http://www.typo3-formhandler.com/" target="_blank">Webseite</a> erhalten hat inkl. Doku, News und vielen Beispielen. Ich habe mir diese Extension mal unter den Nagel gerissen und ein Projekt gesucht, das ich damit umsetzen kann. Ein Kontaktformular wäre zu Standard außerdem gibt es dafür bessere Lösungen wie powermail und/oder vielleicht auch die neue Formextension innerhalb von TYPO3 4.6. Nein&#8230;ich habe mich für eine Newsletteranmeldung entschieden, da die meisten Newsletteranmelde-Extensions aus 2006 sind, oder viel zu große andere Extensions parallel benötigen.</p>
<p>Im folgenden Tutorial werden wir kaum Angaben im Plugin vom Formhandler machen. Alles was wir benötigen sind 4 Dateien und eine Zeile TypoScript. Vor- und zugleich Nachteil von Formhandler ist, dass jegliche Konfiguration in Dateien ausgelagert werden muss/sollte, was dann aber wiederum den Vorteil hat, dass diese Konfiguration sehr schnell auf ein anderes System portieren kann. Nach der Einbindung der TypoScriptzeile erscheint im Plugin ein neuer Eintrag in der Selectbox für &#8220;Vordefinierte Formulare&#8221;. Einfach auswählen. Fertig.<span id="more-7035"></span></p>
<p>Ich werde hier nicht auf jede einzelne Option von Formhandler eingehen, das würde den Rahmen sprengen. Wenn es Euch interessiert, dann könnt Ihr die <a title="Webseite Formhandler" href="http://www.typo3-formhandler.com/" target="_blank">Webseite von Formhandler</a> oder auch mein erstes Tutorial lesen, dass ich auf meiner Webseite präsentiere: <a title="Stefans TYPO3-Seite" href="http://typo3.sfroemken.de/typo3-tutorials/extensions/formhandler.html" target="_blank">Stefans TYPO3-Seite</a>.</p>
<h3>Ablauf der Anmeldung</h3>
<p>Wir erstellen eine Seite mit einem Formular auf dem sich die beiden Felder name und email befinden. Nach dem Absenden werden die eingetragenen Daten zunächst validiert (Tx_Formhandler_Validator_Default) und bei Erfolg in die Tabelle tt_address abgespeichert (Finisher_DB). Hier setze ich die Spalte hidden per default auf 1, damit der User nicht sofort aktiv ist. Natürlich wäre auch eine Speicherung in fe_users möglich, aber dann müssten wir dem Datensatz noch eine Gruppe, einen Benutzernamen und ein Passwort zuordnen. Zu viel für meinen Geschmack. Nach der Speicherung wird aus den gesammelten Daten ein AuthCode erstellt (Finisher_GenerateAuthCode) und per Mail an der User und als Info auch an den Admin geschickt (Tx_Formhandler_Finisher_Mail). Klickt der User den Link mit dem enthaltenen AuthCode an, wird der PreProcessor aktiv (PreProcessor_LoadGetPost) und läd sich die benötigten Daten aus der URL in den Speicher. An Hand dieser Daten kann der AuthCode-Validator aktiv werden (PreProcessor_ValidateAuthCode). Dieser überprüft, ob der AuthCode gültig ist und setzt den Datensatz bei einer erfolgreichen Überprüfung automatisch auf visible (hidden=0). Außerdem können hier je nach Gültigkeit Page-UIDs angegeben werden auf die weitergeleitet wird.</p>
<h5>newsletter.ts</h5>

<div class="wp_syntax"><div class="code"><pre class="typoscript" style="font-family:monospace;"><span style="color: #990000; font-weight: bold;">plugin</span><span style="color: #339933; font-weight: bold;">.</span>Tx_Formhandler<span style="color: #339933; font-weight: bold;">.</span>settings<span style="color: #339933; font-weight: bold;">.</span>predef<span style="color: #339933; font-weight: bold;">.</span>newsletter <span style="color: #009900;">&#123;</span>
	<span style="color: #aaa; font-style: italic;"># Common configuration</span>
	name <span style="color: #339933; font-weight: bold;">=</span> Newsletterregistrierung
	addErrorAnchors <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">1</span>
	templateFile <span style="color: #339933; font-weight: bold;">=</span> fileadmin<span style="color: #339933; font-weight: bold;">/</span>templates<span style="color: #339933; font-weight: bold;">/</span>formhandler<span style="color: #339933; font-weight: bold;">/</span>newsletter<span style="color: #339933; font-weight: bold;">.</span>html
	langFile<span style="color: #339933; font-weight: bold;">.</span>1 <span style="color: #339933; font-weight: bold;">=</span> fileadmin<span style="color: #339933; font-weight: bold;">/</span>templates<span style="color: #339933; font-weight: bold;">/</span>formhandler<span style="color: #339933; font-weight: bold;">/</span>newsletter<span style="color: #339933; font-weight: bold;">.</span>xml
	cssFile<span style="color: #339933; font-weight: bold;">.</span>1 <span style="color: #339933; font-weight: bold;">=</span> fileadmin<span style="color: #339933; font-weight: bold;">/</span>templates<span style="color: #339933; font-weight: bold;">/</span>formhandler<span style="color: #339933; font-weight: bold;">/</span>newsletter<span style="color: #339933; font-weight: bold;">.</span>css
	formValuesPrefix <span style="color: #339933; font-weight: bold;">=</span> formhandler
&nbsp;
	requiredSign <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #990000; font-weight: bold;">TEXT</span>
	requiredSign<span style="color: #339933; font-weight: bold;">.</span>value <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #339933; font-weight: bold;">*</span>
	requiredSign<span style="color: #339933; font-weight: bold;">.</span>wrap <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #3366CC;">&lt;span style=&quot;color: <span style="color: #3366CC;">#DF9707</span>;&quot;&gt;</span><span style="color: #339933; font-weight: bold;">|</span><span style="color: #3366CC;">&lt;/span&gt;</span>
&nbsp;
	isErrorMarker<span style="color: #339933; font-weight: bold;">.</span>default <span style="color: #339933; font-weight: bold;">=</span> class<span style="color: #339933; font-weight: bold;">=</span>&quot;errorField&quot;
&nbsp;
	<span style="color: #aaa; font-style: italic;"># HTML wrapping by validation error</span>
	errorListTemplate <span style="color: #009900;">&#123;</span>
		totalWrap <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #3366CC;">&lt;div class=&quot;error&quot;&gt;</span><span style="color: #3366CC;">&lt;ul&gt;</span><span style="color: #339933; font-weight: bold;">|</span><span style="color: #3366CC;">&lt;/ul&gt;</span><span style="color: #3366CC;">&lt;/div&gt;</span>
		singleWrap <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #3366CC;">&lt;li&gt;</span><span style="color: #339933; font-weight: bold;">|</span><span style="color: #3366CC;">&lt;/li&gt;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #aaa; font-style: italic;">#PreProcessors</span>
	preProcessors <span style="color: #009900;">&#123;</span>
		<span style="color: #cc0000;">1</span><span style="color: #339933; font-weight: bold;">.</span>class <span style="color: #339933; font-weight: bold;">=</span> PreProcessor_LoadGetPost
		<span style="color: #cc0000;">2</span><span style="color: #339933; font-weight: bold;">.</span>class <span style="color: #339933; font-weight: bold;">=</span> PreProcessor_ValidateAuthCode
		<span style="color: #cc0000;">2</span><span style="color: #339933; font-weight: bold;">.</span>config <span style="color: #009900;">&#123;</span>
			redirectPage <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">234</span>
			errorRedirectPage <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">235</span>
			hiddenField <span style="color: #339933; font-weight: bold;">=</span> hidden
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #aaa; font-style: italic;"># Validators configuration</span>
	validators <span style="color: #009900;">&#123;</span>
		<span style="color: #cc0000;">1</span> <span style="color: #009900;">&#123;</span>
			class <span style="color: #339933; font-weight: bold;">=</span> Tx_Formhandler_Validator_Default
			<span style="color: #000066; font-weight: bold;">config</span> <span style="color: #009900;">&#123;</span>
				fieldConf <span style="color: #009900;">&#123;</span>
					name <span style="color: #009900;">&#123;</span>
						errorCheck<span style="color: #339933; font-weight: bold;">.</span>1 <span style="color: #339933; font-weight: bold;">=</span> required
					<span style="color: #009900;">&#125;</span>
					email <span style="color: #009900;">&#123;</span>
						errorCheck<span style="color: #339933; font-weight: bold;">.</span>1 <span style="color: #339933; font-weight: bold;">=</span> required
						errorCheck<span style="color: #339933; font-weight: bold;">.</span>2 <span style="color: #339933; font-weight: bold;">=</span> email
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #aaa; font-style: italic;"># Finishers configuration</span>
	finishers <span style="color: #009900;">&#123;</span>
		<span style="color: #cc0000;">1</span><span style="color: #339933; font-weight: bold;">.</span>class <span style="color: #339933; font-weight: bold;">=</span> Finisher_DB
		<span style="color: #cc0000;">1</span><span style="color: #339933; font-weight: bold;">.</span>config <span style="color: #009900;">&#123;</span>
			table <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #000066; font-weight: bold;">tt_address</span>
			key <span style="color: #339933; font-weight: bold;">=</span> uid
			fields <span style="color: #009900;">&#123;</span>
				email<span style="color: #339933; font-weight: bold;">.</span>mapping <span style="color: #339933; font-weight: bold;">=</span> email
				name<span style="color: #339933; font-weight: bold;">.</span>mapping <span style="color: #339933; font-weight: bold;">=</span> name
				pid<span style="color: #339933; font-weight: bold;">.</span>ifIsEmpty <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">57</span>
				hidden<span style="color: #339933; font-weight: bold;">.</span>ifIsEmpty <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">1</span>
				module_sys_dmail_html<span style="color: #339933; font-weight: bold;">.</span>ifIsEmpty <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">1</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #cc0000;">2</span><span style="color: #339933; font-weight: bold;">.</span>class <span style="color: #339933; font-weight: bold;">=</span> Finisher_GenerateAuthCode
		<span style="color: #cc0000;">2</span><span style="color: #339933; font-weight: bold;">.</span>config <span style="color: #009900;">&#123;</span>
			table <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #000066; font-weight: bold;">tt_address</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #cc0000;">3</span><span style="color: #339933; font-weight: bold;">.</span>class <span style="color: #339933; font-weight: bold;">=</span> Tx_Formhandler_Finisher_Mail
		<span style="color: #cc0000;">3</span><span style="color: #339933; font-weight: bold;">.</span>config <span style="color: #009900;">&#123;</span>
			limitMailsToUser <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">5</span>
			admin <span style="color: #009900;">&#123;</span>
				to_email <span style="color: #339933; font-weight: bold;">=</span> AdminEmailAdresse
				to_name <span style="color: #339933; font-weight: bold;">=</span> DeinNamw
				subject <span style="color: #339933; font-weight: bold;">=</span> Neue Newsletterregistrierung auf <span style="color: #009900;">&#91;</span>webseite<span style="color: #009900;">&#93;</span>
				sender_email <span style="color: #339933; font-weight: bold;">=</span> webmaster@xxx
				sender_name <span style="color: #339933; font-weight: bold;">=</span> Webmaster
				htmlEmailAsAttachment <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">0</span>
			<span style="color: #009900;">&#125;</span>
			user <span style="color: #009900;">&#123;</span>
				to_email <span style="color: #339933; font-weight: bold;">=</span> email
				to_name <span style="color: #339933; font-weight: bold;">=</span> name
				subject <span style="color: #339933; font-weight: bold;">=</span> Dein Anliegen von <span style="color: #009900;">&#91;</span>webseite<span style="color: #009900;">&#93;</span>
				sender_email <span style="color: #339933; font-weight: bold;">=</span> webmaster@xxx
				sender_name <span style="color: #339933; font-weight: bold;">=</span> Webmaster
				replyto_email <span style="color: #339933; font-weight: bold;">=</span> DeineEmailAdresse
				replyto_name <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #990000; font-weight: bold;">TEXT</span>
				replyto_name<span style="color: #339933; font-weight: bold;">.</span>value <span style="color: #339933; font-weight: bold;">=</span> Deine Name
				htmlEmailAsAttachment <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">0</span>
		 	<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #cc0000;">4</span><span style="color: #339933; font-weight: bold;">.</span>class <span style="color: #339933; font-weight: bold;">=</span> Finisher_Redirect
		<span style="color: #cc0000;">4</span><span style="color: #339933; font-weight: bold;">.</span>config <span style="color: #009900;">&#123;</span>
			redirectPage <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">233</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h5>newsletter.xml</h5>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span> <span style="color: #000066;">standalone</span>=<span style="color: #ff0000;">&quot;yes&quot;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;T3locallang<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;data</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;array&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;languageKey</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;default&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;array&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Name<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;email&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>E-Mail<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;submit&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Send<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;is_error&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>One or more errors occoured while filling the form!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;error_name_required&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Enter your name!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;error_email_required&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Enter your E-mail address!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;error_email_email&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>E-mail address must be valid syntax!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;required_fields&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Fields marked with * are required!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/languageKey<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;languageKey</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;de&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;array&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Name<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;email&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>E-Mail<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;submit&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Absenden<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;is_error&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Beim Absenden des Formulars sind ein paar Fehler aufgetreten:!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;error_name_required&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Bitte gib Deinen Namen an!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;error_email_required&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Bitte gib Deine E-Mail-Adresse an!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;error_email_email&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Die eingetragene E-Mail-Adresse ist ungültig!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;required_fields&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Felder mit * sind Pflichtfelder!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/languageKey<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/data<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/T3locallang<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<h5>newsletter.html</h5>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;!-- ###TEMPLATE_FORM1### begin --&gt;
&lt;div id=&quot;formhandler_newsletter_form&quot;&gt;
	###ERROR###
	&lt;form method=&quot;post&quot; action=&quot;###REL_URL###&quot;&gt;
		&lt;p&gt;###LLL:required_fields###&lt;/p&gt;
		&lt;input type=&quot;hidden&quot; name=&quot;formhandler[submitted]&quot; value=&quot;1&quot; /&gt;
		&lt;dl&gt;
			&lt;dt&gt;&lt;label for=&quot;name&quot;&gt;###LLL:name### ###required_name###&lt;/label&gt;&lt;/dt&gt;
			&lt;dd&gt;&lt;input type=&quot;text&quot; ###is_error_name### name=&quot;formhandler[name]&quot; id=&quot;name&quot; value=&quot;###value_name###&quot;/&gt;&lt;/dd&gt;
		&lt;/dl&gt;
		&lt;dl&gt;
			&lt;dt&gt;&lt;label for=&quot;email&quot;&gt;###LLL:email### ###required_email###&lt;/label&gt;&lt;/dt&gt;
			&lt;dd&gt;&lt;input type=&quot;text&quot; ###is_error_email### name=&quot;formhandler[email]&quot; id=&quot;email&quot; value=&quot;###value_email###&quot;/&gt;&lt;/dd&gt;
		&lt;/dl&gt;
		&lt;dl&gt;
			&lt;dd&gt;&lt;input type=&quot;submit&quot; value=&quot;###LLL:submit###&quot; ###submit_nextStep###/&gt;&lt;/dd&gt;
		&lt;/dl&gt;
	&lt;/form&gt;
&lt;/div&gt;
&lt;!-- ###TEMPLATE_FORM1### end --&gt;
&nbsp;
&lt;!-- ###TEMPLATE_EMAIL_USER_PLAIN### begin --&gt;
Hallo ###value_name###,
&nbsp;
Du hast Dich soeben für meinen Newsletter auf [webseite] angemeldet.
Bitte klicke auf den folgenden Link, um die Registrierung abzuschließen:
&nbsp;
###value_authCodeUrl###
&lt;!-- ###TEMPLATE_EMAIL_USER_PLAIN### end --&gt;
&nbsp;
&lt;!-- ###TEMPLATE_EMAIL_USER_HTML### begin --&gt;
&lt;p&gt;Hallo ###value_name###&lt;/p&gt;
&lt;p&gt;Du hast Dich soeben für meinen Newsletter auf [webseite] angemeldet.&lt;br /&gt;
Bitte klicke auf den folgenden Link, um die Registrierung abzuschließen:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;###value_authCodeUrl###&quot; target=&quot;_blank&quot;&gt;Newsletteranmeldung bestätigen&lt;/a&gt;&lt;/p&gt;
&lt;!-- ###TEMPLATE_EMAIL_USER_HTML### end --&gt;
&nbsp;
&lt;!-- ###TEMPLATE_EMAIL_ADMIN_PLAIN### begin --&gt;
Hallo Admin,
&nbsp;
Soeben hat sich ###value_name### (###value_email###) für den Newsletter auf [webseite] angemeldet.
&nbsp;
Dein Server
&lt;!-- ###TEMPLATE_EMAIL_ADMIN_PLAIN### end --&gt;
&nbsp;
&lt;!-- ###TEMPLATE_EMAIL_ADMIN_HTML### begin --&gt;
&lt;p&gt;Hallo Admin,&lt;/p&gt;
&lt;p&gt;Soeben hat sich ###value_name### (###value_email###) für den Newsletter auf [webseite] angemeldet&lt;/p&gt;
&lt;p&gt;Dein Server&lt;/p&gt;
&lt;!-- ###TEMPLATE_EMAIL_ADMIN_HTML### end --&gt;
&nbsp;
&lt;!-- ###TEMPLATE_SUBMITTEDOK### begin --&gt;
&lt;table&gt;
  &lt;tr&gt;
    &lt;td&gt;###LLL:name###&lt;/td&gt;
    &lt;td&gt;###value_name###&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;###LLL:email###&lt;/td&gt;
    &lt;td&gt;###value_email###&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;!-- ###TEMPLATE_SUBMITTEDOK### end --&gt;</pre></div></div>

<p><f5>newsletter.css</f5></p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#formhandler_newsletter_form</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#formhandler_newsletter_form</span> <span style="color: #6666ff;">.error</span> ul <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.errorField</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#FF0000</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<h5>Die eine Zeile TypoScript</h5>

<div class="wp_syntax"><div class="code"><pre class="typoscript" style="font-family:monospace;"><span style="color: #3366CC;">&lt;INCLUDE_TYPOSCRIPT: source=&quot;FILE:fileadmin/templates/formhandler/newsletter.ts&quot;&gt;</span></pre></div></div>

<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/newsletteranmeldung-mit-formhandler-turchen-14/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>TYPO3 Webseiten mit Caretaker überwachen &#8211; Türchen 6</title>
		<link>http://typo3blogger.de/typo3-webseiten-mit-caretaker-uberwachen/</link>
		<comments>http://typo3blogger.de/typo3-webseiten-mit-caretaker-uberwachen/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 07:00:00 +0000</pubDate>
		<dc:creator>Peter Kraume</dc:creator>
				<category><![CDATA[Extension]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=6833</guid>
		<description><![CDATA[Sobald man mehr als ein Dutzend TYPO3 Webseiten betreibt, wird man recht schnell den Wunsch verspüren, diese zentral überwachen zu können. Hier kommt die TYPO3 Extension Caretaker ins Spiel, die von einem zentralen Server aus beliebig viele TYPO3 Instanzen überwachen kann. Dabei wird nicht nur die Erreichbarkeit der Webseite geprüft, sondern auch die Sicherheit der [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://typo3blogger.de/wp-content/uploads/2011/12/caretaker_logo.png"><img class="alignright size-full wp-image-7048" title="caretaker_logo" src="http://typo3blogger.de/wp-content/uploads/2011/12/caretaker_logo.png" alt="" width="202" height="63" /></a>Sobald man mehr als ein Dutzend TYPO3 Webseiten betreibt, wird man recht schnell den Wunsch verspüren, diese zentral überwachen zu können. Hier kommt die TYPO3 Extension Caretaker ins Spiel, die von einem zentralen Server aus beliebig viele TYPO3 Instanzen überwachen kann. Dabei wird nicht nur die Erreichbarkeit der Webseite geprüft, sondern auch die Sicherheit der verwendeten TYPO3 Version und Extensions.</p>
<p><span id="more-6833"></span>Wenn eine neue TYPO3 Webseite fertig und live ist, würde man sich gerne entspannt zurücklehnen und die Webseite einfach mal laufen lassen. Aber so eine TYPO3 Installation ist ein komplexes Gebilde aus der verwendeten TYPO3 Version, Extensions aus dem TYPO3 Extension Repository und den eigenen Einstellungen. Deswegen ist es gar nicht so einfach, den Gesundheitszustand einer TYPO3 Instanz zu überwachen. Mit einer Überwachungssoftware wie Nagios kann man hauptsächlich den Zustand des Servers und der Hardware überwachen. Aber für die Innereien einer TYPO3 Instanz gibt es bislang noch keine anständige Lösung. Zwei Firmen aus Kiel und Hamburg haben sich zusammen getan und eine flexible und leistungsfähige Lösung geschaffen, die diese Anforderungen erfüllen soll:</p>
<ol>
<li>zentrales Testen und Überwachen von entfernten TYPO3 Instanzen, Extensions und Setups</li>
<li>Integration Tests (auf der Basis von Selenium)</li>
<li>Flexible und komfortable Verwaltung über TYPO3 Datensätze</li>
<li>Erweiterbarkeit des gesamten Systems</li>
</ol>
<h2>Caretaker</h2>
<p><a href="http://typo3blogger.de/wp-content/uploads/2011/12/caretaker01.png"><img class="alignright size-full wp-image-7051" title="caretaker01" src="http://typo3blogger.de/wp-content/uploads/2011/12/caretaker01.png" alt="" width="262" height="167" /></a>Herausgekommen ist der Caretaker, eine TYPO3 basierte Lösung. Hier eine kleine Auswahl der Features und Möglichkeiten:</p>
<ul>
<li>Prüfen der Erreichbarkeit (HTTP Status Code / Ping)</li>
<li>TYPO3 Core Version prüfen</li>
<li>unsichere Extensions finden</li>
<li>gezielte Prüfung einer Extension auf Versionsnummer</li>
<li>Blacklist für Benutzernamen und Passwörter</li>
<li>TYPO3 Core auf nicht autorisierte Änderungen am Code prüfen</li>
<li>(Nicht-)Existenz von Dateien prüfen,  z.B. ENABLE_INSTALL_TOOL</li>
<li>TYPO3_CONF_VARS prüfen,  z.B. auf Default Install Tool Passwort</li>
<li>verfügbare Extension Updates anzeigen</li>
<li>Benachrichtigungssytem</li>
<li>Integration von eigenen Test Services</li>
</ul>
<h2>Wie funktioniert der Caretaker?</h2>
<p>Das Caretaker Basis System wird zum einen auf einem zentralen Server als TYPO3 Extension installiert. Dazu kommt dann die Erweiterung caretaker_instance, die die eigentlichen Tests enthält. caretaker_instance kommuniziert über eine mit RSA verschlüsselte Verbindung mit den einzelnen TYPO3 Instanzen. Zusätzlich gibt es noch die Möglichkeit, per SNMP mit Instanzen zu kommunizieren.</p>
<div id="attachment_7059" class="wp-caption aligncenter" style="width: 410px"><a href="http://typo3blogger.de/wp-content/uploads/2011/12/caretaker021.png"><img class="size-full wp-image-7059" title="caretaker02" src="http://typo3blogger.de/wp-content/uploads/2011/12/caretaker021.png" alt="" width="400" height="387" /></a><p class="wp-caption-text">Funktionsweise von Caretaker</p></div>
<p>Der Caretaker Server kann dabei lediglich lesend auf die einzelnen TYPO3 Instanzen zugreifen. Updates können über Caretaker nicht automatisiert eingespielt werden, da die Gefahr zu groß ist, eine TYPO3 Instanz dadurch funktionsunfähig zu machen.</p>
<p>Die Informationen über die neuesten Änderungen bei TYPO3 Extensions bezieht Caretaker über einen Scheduler Task, der regelmäßig die Liste der Extensions aus dem TER bezieht. Dieser Scheduler Task ist seit TYPO3 4.5 Bestandteil von TYPO3. Die jeweils neuesten TYPO3 Versionsnummern werden aus einem <a href="http://sourceforge.net/api/file/index/project-id/20391/mtime/desc/limit/40/rss" target="_blank">RSS Feed von Sourceforge</a> ermittelt. Änderungen am TYPO3 Core werden durch Fingerprints erkannt. Die Extension caretaker_integrity liefert einige Fingerprints bereits mit. Für neue TYPO3 Versionen können die Fingerprints über einen Cronjob in caretaker_integrity generiert werden.</p>
<h2>Caretaker Backend</h2>
<p>Im TYPO3 Backend gibt es nach der Installation von Caretaker ein neues Modul, in dem die einzelnen Instanzen gepflegt werden können. Um die Übersichtlichkeit zu erhöhen, können TYPO3 Instanzen in Instanzgruppen zusammengefasst werden. Außerdem wird durch Farben (rot, gelb, grün) der Zustand der einzelnen Instanzen bzw. Tests angezeigt. Im TYPO3 Backend werden zudem die Tests und Testgruppen gepflegt und individuelle Einstellungen gemacht.</p>
<div id="attachment_7061" class="wp-caption aligncenter" style="width: 460px"><a href="http://typo3blogger.de/wp-content/uploads/2011/12/caretaker03.png"><img class="size-full wp-image-7061" title="caretaker03" src="http://typo3blogger.de/wp-content/uploads/2011/12/caretaker03.png" alt="" width="450" height="285" /></a><p class="wp-caption-text">Caretaker Modul im TYPO3 Backend</p></div>
<h2>Die wichtigsten Tests im Überblick</h2>
<p>Ein paar der Tests, die ich in meiner Caretaker Installation eingerichtet habe, möchte ich im Folgenden kurz vorstellen:</p>
<ul>
<li><strong>unsichere Extensions</strong><br />
Das TYPO3 Security Team markiert unsichere Extensions in der Extension Liste. Sobald der Caretaker feststellt, dass eine bestimmte Version einer Extension als unsicher markiert ist, wird Alarm geschlagen</li>
<li><strong>unsichere TYPO3 Version</strong><br />
In der Testkonfiguration kann festgelegt werden, welche Versionsnummer mindestens erfüllt sein muss. So kann schnell festgestellt werden, ob unsichere TYPO3 Versionen verwendet werden</li>
<li><strong>Source Integrity</strong><br />
Über die eingangs bereits erwähnten Fingerprints werden die Dateien des Core mit den Fingerprints verglichen. Dadurch können unerwünschte Änderungen an Core Dateien sofort erkannt werden</li>
<li><strong>Datei &#8220;ENABLE_INSTALL_TOOL&#8221; vorhanden<br />
</strong>Hier wird geprüft, ob die Datei in typo3conf vorhanden ist und jünger als 2 Stunden ist<strong><br />
</strong></li>
<li><strong>Standard Install Tool Password &#8220;joh316&#8243; ist aktiv<br />
</strong>TYPO3 weist zwar darauf hin, wenn das Standard Password noch aktiv ist, aber ich lasse das zusätzlich durch den Caretaker prüfen</li>
<li><strong>Prüfung der BE User Accounts auf verbotene Passwörter<br />
</strong>Prüft alle Backend Accounts auf verbotene Passwörter wie &#8220;password&#8221;, &#8220;12345678&#8243;, etc.<strong><br />
</strong></li>
<li><strong>Deprecation Log aktiv<br />
</strong>Prüft, ob das Deprecation Log noch aktiv ist<strong><br />
</strong></li>
<li><strong>Extension Updates verfügbar<br />
</strong>Dieser Test zeigt alle verfügbaren Extension Updates an<strong><br />
</strong></li>
<li><strong>HTTP / Ping Test<br />
</strong>Prüft die Erreichbarkeit der Webseite per Ping und wertet zusätzlich noch den Status Code einer Anfrage per HTTP aus<strong><br />
</strong></li>
</ul>
<h2>Weitere Test Services:</h2>
<ul>
<li>Logfile Analyzer Service</li>
<li>Redmine Testcase</li>
<li>Selenium Testcase</li>
</ul>
<h2>Caretaker Frontend</h2>
<p>Zusätzlich zum Backend bietet Caretaker auch eine Frontend Ausgabe der Test Ergebnisse. Diese Ausgabe kann zum Beispiel Kunden zugänglich gemacht werden.</p>
<div id="attachment_7068" class="wp-caption aligncenter" style="width: 460px"><a href="http://typo3blogger.de/wp-content/uploads/2011/12/caretaker04.png"><img class="size-full wp-image-7068" title="caretaker04" src="http://typo3blogger.de/wp-content/uploads/2011/12/caretaker04.png" alt="" width="450" height="451" /></a><p class="wp-caption-text">Caretaker Frontend Ausgabe</p></div>
<h2 style="text-align: left;">Benachrichtigungen</h2>
<p>Caretaker liefer ein simples und ein erweitertes Benachrichtigungssystem per Mail gleich mit. Für das erweiterte Benachrichtigungssystem ist aber leider noch keine Dokumentation verfügbar. Tobias Liebig, einer der Caretaker Entwickler, hat aber bereits einen Blog Eintrag mit einer Anleitung <a href="https://twitter.com/#!/etobi/status/141311427955789824" target="_blank">angekündigt</a>!</p>
<h2 style="text-align: left;">Systemvoraussetzungen für den Einsatz von Caretaker</h2>
<p style="text-align: left;">Die TYPO3 Instanz mit dem Caretaker Server benötigt PHP 5.2 mit OpenSSL Unterstützung und TYPO3 4.3 oder höher.</p>
<p style="text-align: left;">Für die Instanzen reicht TYPO3 4.o oder höher, allerdings wird auch hier PHP 5.2 benötigt.</p>
<h2 style="text-align: left;">Download</h2>
<p style="text-align: left;">Caretaker ist zwar grundsätzlich auch im TER verfügbar, allerdings ist die veröffentlichte Version mehr als ein Jahr alt und hat sich seit dem schon wieder stark weiter entwickelt.</p>
<p style="text-align: left;">Es empfiehlt sich deshalb, den aktuellen Stand aus dem <a href="https://svn.typo3.org/TYPO3v4/Extensions/caretaker" target="_blank">Subversion Repository</a> auszuchecken.</p>
<h2 style="text-align: left;">Links zum Thema</h2>
<ul>
<li><strong>Extensions im TER:</strong></li>
<ul>
<li><a href="http://typo3.org/extensions/repository/view/caretaker/current/" target="_blank">typo3.org/extensions/repository/view/caretaker/current/</a></li>
<li><a href="http://typo3.org/extensions/repository/view/caretaker_instance/current/" target="_blank">typo3.org/extensions/repository/view/caretaker_instance/current/</a></li>
</ul>
<li><strong>Forge:</strong></li>
<ul>
<li><a href="http://forge.typo3.org/projects/extension-caretaker" target="_blank">forge.typo3.org/projects/extension-caretaker</a></li>
<li>SVN: <a href="https://svn.typo3.org/TYPO3v4/Extensions/caretaker" target="_blank">https://svn.typo3.org/TYPO3v4/Extensions/caretaker</a></li>
<li>Dokumentation: <a href="http://https://svn.typo3.org/TYPO3v4/Extensions/caretaker" target="_blank">forge.typo3.org/projects/extension-caretaker/wiki</a></li>
</ul>
<li><strong>Webseite:</strong></li>
<ul>
<li><a href="http://www.typo3-caretaker.org" target="_blank">typo3-caretaker.org</a></li>
</ul>
<li><strong>Mailingliste:</strong></li>
<ul>
<li><a href="http://lists.typo3.org/pipermail/typo3-project-caretaker/" target="_blank">http://lists.typo3.org/pipermail/typo3-project-caretaker/</a></li>
</ul>
<li><strong>Twitter:</strong></li>
<ul>
<li><a href="http://twitter.com/typo3_caretaker" target="_blank">@typo3_caretaker</a></li>
</ul>
</ul>
<h2>Support</h2>
<p>Unterstützung durch die Entwickler und andere User bekommt man über die oben genannte Mailingliste.</p>
<h2>Caretaker Entwicklung unterstützen</h2>
<p>Die an Caretaker beteiligten Entwickler und Firmen haben eine Menge Zeit und Geld in das Projekt investiert. Für weitere Features werden noch <a href="http://www.typo3-caretaker.org/index.php?id=25" target="_blank">Spenden gesucht</a>, um die Entwicklung zu finanzieren.</p>
<p>Auf meiner persönlichen Wunschliste steht vor allem die Möglichkeit, im Caretaker Backend Abfragen dieser Art zu starten: Filter alle Instanzen raus, die die Extension XYZ in Version 1.2.3 nutzen. Abfragen dieser Art sind bislang leider nicht möglich und das ist meiner Meinung nach das größte Manko von Caretaker, denn wenn z.B. das Security Team ein  Security Bulletin raus gibt, muss ich alle Instanzen (und ich verwalte mit Caretaker mittlerweile verdammt viele) von Hand kontrollieren.</p>
<p>Außerdem würde ich mir häufigere TER Releases wünschen, denn das würde sicher zur vermehrten Nutzung von Caretaker beitragen. Die aktuell im TER verfügbare Version ist soweit ich das in Erinnerung habe, nur bis TYPO3 4.4 kompatibel. Öftere Updates wären auch für die Extension caretaker_integrity mit den Fingerprints nötig. Der mitgelieferte Cronjob läuft zumindest bei mir noch nicht so ganz rund und es ist bei jedem TYPO3 Release Handarbeit angesagt, um die neuen Fingerprints zu erzeugen. Auch fehlen Fingerprints von vielen älteren TYPO3 Versionen, die mit dem aktuellen Cronjob leider nicht erzeugt werden können.</p>
<h2>Fazit</h2>
<p>Caretaker ist ein super System, um viele TYPO3 Instanzen zu überwachen. Zum aktuellen Zeitpunkt muss man beim Einsatz von Caretaker aber noch an diversen Stellen selber Hand anlegen und sich zum Beispiel die richtige Dokumentation zusammen suchen.</p>
<p>Gegenüber anderen auf TYPO3 spezialisieren Monitoring Systemen wie zum Beispiel <a href="http://t3manager.com" target="_blank">t3manager</a>, hat Caretaker aber den entscheidenden Vorteil, dass man das System auf einer eigenen Maschine installieren kann und die Daten über seine TYPO3 Instanzen nicht in fremde Hände geben muss. Außerdem kann Caretaker flexibel an eigene Wünsche angepast werden.</p>
<p>Bei genügend Interesse schreibe ich demächst einen weiteren Artikel, die die Installation und Einrichtung von Caretaker genauer beschreibt. Bitte das Interesse in den Kommentaren bekunden.</p>
<p>Mich würde jetzt noch interessieren, wer den Caretaker bereits einsetzt und welche Erfahrungen gemacht wurden.</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/typo3-webseiten-mit-caretaker-uberwachen/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Formhandler 1.0 Release</title>
		<link>http://typo3blogger.de/formhandler-1-0-release/</link>
		<comments>http://typo3blogger.de/formhandler-1-0-release/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 20:47:59 +0000</pubDate>
		<dc:creator>Tim Lochmüller</dc:creator>
				<category><![CDATA[Extension]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=6962</guid>
		<description><![CDATA[Heute wurde der Formhandler in der Version 1.0 veröffentlicht (News). Die Extension ist eine Alternative zu der neuen Form Extension in TYPO3 4.6 und scheint auch einen enormen Umfang zu haben. Unter anderem stehen Data Exports, Multistep Forms, Error Checks und Security auf der Feature Liste. Parallel zum Release ist die neue Webseite typo3-formhandler.com online [...]<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Heute wurde der Formhandler in der Version 1.0 veröffentlicht (<a href="http://forge.typo3.org/news/501" target="_blank">News</a>). Die Extension ist eine Alternative zu der neuen Form Extension in TYPO3 4.6 und scheint auch einen enormen Umfang zu haben. Unter anderem stehen Data Exports, Multistep Forms, Error Checks und Security auf der Feature Liste. Parallel zum Release ist die neue Webseite <a href="http://www.typo3-formhandler.com/" target="_blank">typo3-formhandler.com</a> online gegangen. Viel Spaß beim stöbern und probieren&#8230;</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/formhandler-1-0-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sicherheitslücke in der Extension t3blog</title>
		<link>http://typo3blogger.de/sicherheitslucke-in-der-extension-t3blog/</link>
		<comments>http://typo3blogger.de/sicherheitslucke-in-der-extension-t3blog/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 08:52:29 +0000</pubDate>
		<dc:creator>Peter Kraume</dc:creator>
				<category><![CDATA[Extension]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://typo3blogger.de/?p=6628</guid>
		<description><![CDATA[Das TYPO3 Security Team hat das Security Bulletin TYPO3-EXT-SA-2011-011 zur Extension t3blog herausgegeben. Demnach besteht in der bekannten Blog Extension eine Cross-Site Scripting Schwachstelle. Eine aktualisierte Version 1.1.2 steht im TER zum Download bereit. Ein Update ist wie immer angeraten! ------------------------------------------------------Dies ist ein Post vom TYPO3 Blog typo3blogger.de!<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></description>
			<content:encoded><![CDATA[<p>Das TYPO3 Security Team hat das <a href="http://typo3.org/teams/security/security-bulletins/typo3-extensions/typo3-ext-sa-2011-013/" target="_blank">Security Bulletin TYPO3-EXT-SA-2011-011</a> zur Extension t3blog herausgegeben. Demnach besteht in der bekannten Blog Extension eine Cross-Site Scripting Schwachstelle. Eine aktualisierte Version <a href="http://http//typo3.org/extensions/repository/view/t3blog/1.1.2/" target="_blank">1.1.2</a> steht im TER zum Download bereit. Ein Update ist wie immer angeraten!</p>
<p>------------------------------------------------------<br />Dies ist ein Post vom <a href="http://typo3blogger.de/">TYPO3 Blog</a> typo3blogger.de!</p>
]]></content:encoded>
			<wfw:commentRss>http://typo3blogger.de/sicherheitslucke-in-der-extension-t3blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

