<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.161.140.169</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.161.140.169"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/84.161.140.169"/>
	<updated>2026-05-06T17:14:40Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Captcha&amp;diff=345</id>
		<title>Typo3 - Captcha</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Captcha&amp;diff=345"/>
		<updated>2006-05-15T12:56:20Z</updated>

		<summary type="html">&lt;p&gt;84.161.140.169: /* Captcha in Mailformplus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Captcha soll Formulare gegen automatisierte Spam-Angriffe schützen. Der Benutzer muß einen Zahlen oder Buchstabencode, der als verzerrtes oder verfremdetes Bild vorliegt eingeben. Bei falscher Eingabe wird das Formular nicht akzeptiert.&lt;br /&gt;
&lt;br /&gt;
Es gibt im Moment (5.4.2006) zwei Extensions für Typo3. &lt;br /&gt;
1. Captcha Libary von Kasper&lt;br /&gt;
2. free captcha von Rolland Stanislas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Captcha Libary von Kasper ==&lt;br /&gt;
Die Captcha Libary wird als Extension geladen und steht dann als php-Erweiterung für die Frontendplugins zur Verfügung. Es muß also Code in die Betroffenen Extensions eingebracht werden. Dabei wird der Code in einer Session Variablen gespeichert und später mit der Eingabe des Users verglichen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;So geht&amp;#039;s:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Captcha Bild erzeugen===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 1 allgemein&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (t3lib_extMgm::isLoaded(&amp;#039;captcha&amp;#039;)){&lt;br /&gt;
  $captchaHTMLoutput = &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039;.t3lib_extMgm::siteRelPath(&amp;#039;captcha&amp;#039;).&amp;#039;captcha/captcha.php&amp;quot; alt=&amp;quot;&amp;quot; /&amp;gt;&amp;#039;;&lt;br /&gt;
} else {&lt;br /&gt;
  $captchaHTMLoutput = &amp;#039;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 2 ve_guestbook&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
in den beiden Arrays $substituteArray müssen neue Marker angelegt werden:&lt;br /&gt;
&lt;br /&gt;
 $substituteArray = array(&amp;#039;firstname&amp;#039;, &amp;#039;surname&amp;#039;, &amp;#039;email&amp;#039;, &amp;#039;homepage&amp;#039;, &amp;#039;place&amp;#039;, &amp;#039;entry&amp;#039;, &amp;#039;entrycomment&amp;#039;, &amp;#039;submit&amp;#039;,&amp;#039;captcharesponse&amp;#039;,&amp;#039;captcha&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
In der Funktion &amp;#039;&amp;#039;&amp;#039;displayForm()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
### Captcha Beginn ###&lt;br /&gt;
# In Funktion displayForm() Marker befüllen&lt;br /&gt;
  if (t3lib_extMgm::isLoaded(&amp;#039;captcha&amp;#039;))  {&lt;br /&gt;
  #creating any random string to workarround browser caching of old captcha image&lt;br /&gt;
    $anything = date(&amp;quot;d.m.Y-H:i:s&amp;quot;,time());&lt;br /&gt;
    $captchaHTMLoutput = &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039;.t3lib_extMgm::siteRelPath(&amp;#039;captcha&amp;#039;).&amp;#039;captcha/captcha.php?&amp;#039;.$anything.&amp;#039;&amp;quot; alt=&amp;quot;No Spam!&amp;quot; /&amp;gt;&amp;#039;;&lt;br /&gt;
  } else {&lt;br /&gt;
    $captchaHTMLoutput = &amp;#039;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
$markerArray[&amp;#039;###CAPTCHA_INSERT###&amp;#039;] = $captchaHTMLoutput;&lt;br /&gt;
### Ende ###&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Formularfeld einfügen===&lt;br /&gt;
Beispiel 1 &lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; size=30 name=&amp;quot;TIPFORM[captcharesponse]&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel 2 - ve_guestbook&lt;br /&gt;
Im Template werden die neuen Marker und das Input angelegt:&lt;br /&gt;
&lt;br /&gt;
Keine Ahnung wofür der ###FORM_CAPTCHARESPONSE### Marker ist. Braucht man wahrscheinlich nur für Felder bei denen man die Werte bei Falscheingabe wieder reinschreibt (also hier wohl gar nicht).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;!--...--&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td valign=&amp;quot;top&amp;quot; class=&amp;quot;content&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;Bitte geben sie folgenden Code ein:&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot; class=&amp;quot;content&amp;quot;&amp;gt;###CAPTCHA_INSERT###&lt;br /&gt;
    &amp;lt;span class=&amp;quot;content&amp;quot;&amp;gt;###FORM_CAPTCHARESPONSE###&amp;lt;/span&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot; class=&amp;quot;content&amp;quot;&amp;gt; &lt;br /&gt;
    &amp;lt;input class=&amp;quot;content&amp;quot; type=&amp;quot;text&amp;quot; name=&amp;quot;tx_veguestbook_pi1[captcharesponse]&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Abfrage realisieren===&lt;br /&gt;
Beispiel 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (t3lib_extMgm::isLoaded(&amp;#039;captcha&amp;#039;)){&lt;br /&gt;
  session_start();&lt;br /&gt;
  $captchaStr = $_SESSION[&amp;#039;tx_captcha_string&amp;#039;];//String auslesen&lt;br /&gt;
  $_SESSION[&amp;#039;tx_captcha_string&amp;#039;] = &amp;#039;&amp;#039;;&lt;br /&gt;
} else {&lt;br /&gt;
  $captchaStr = -1;//String zurücksetzen damit er nicht mehrmals benutzt werden kann&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Bsp.2 (für Gästebuch Alt-Brettheim)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Funktion &amp;#039;&amp;#039;&amp;#039;checkForm()&amp;#039;&amp;#039;&amp;#039; ganz an den Anfang&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	# Getting the Captcha String&lt;br /&gt;
	if (t3lib_extMgm::isLoaded(&amp;#039;captcha&amp;#039;))  {&lt;br /&gt;
    session_start();&lt;br /&gt;
    $captchaStr = $_SESSION[&amp;#039;tx_captcha_string&amp;#039;];&lt;br /&gt;
    $_SESSION[&amp;#039;tx_captcha_string&amp;#039;] = &amp;#039;&amp;#039;;&lt;br /&gt;
	} else {&lt;br /&gt;
    $captchaStr = -1;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4. Eingabe überprüfen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Beispiel 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (... ($captchaStr===-1 || ($captchaStr &amp;amp;&amp;amp; $tipData[&amp;#039;captchaResponse&amp;#039;]===$captchaStr)) ...) {&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bsp2 (Alt-Brettheim)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	# Evaluating the captcha string&lt;br /&gt;
	#if ($this-&amp;gt;postvars[&amp;#039;captcharesponse&amp;#039;] != $captchaStr) {&lt;br /&gt;
	if (strcasecmp($this-&amp;gt;postvars[&amp;#039;captcharesponse&amp;#039;], $captchaStr) != 0) {&lt;br /&gt;
		$error .= &amp;#039;&amp;lt;li&amp;gt;Antispamcode war leider falsch, bitte nochmal probieren!&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Captcha Libary anpassen===&lt;br /&gt;
&lt;br /&gt;
Captcha Library (captcha)&lt;br /&gt;
captcha/captcha.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Captcha in Mailformplus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ich verwende MailFormPlus und Captcha. Bei MailFormPlus musst du ja ein Template erstellen, das die Struktur des Formulars wiedergibt. An gewünschter Stelle fügst du innerhalb der FORM-Tags &amp;quot;###CAPTCHA###&amp;quot; ein (das erzeugt das Bild von Captcha). Dann noch ein input-Feld erzeugt mit name-Attribut. Dem name-Attribut weißt du einen eindeutigen Namen zu. Der Name muss jetzt noch mit dem Captcha-Bild verknüpft werden. Das machst du im Template der Seite im Setup. Du musst ins Setup nur noch folgendes eintragen:&lt;br /&gt;
&lt;br /&gt;
 plugin.tx_thmailformplus_pi1.captchaFieldname = name_des_inputfeldes&lt;br /&gt;
&lt;br /&gt;
Fertig.&lt;br /&gt;
&lt;br /&gt;
Beispiel für Template:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ###CAPTCHA###&amp;lt;br /&amp;gt;&lt;br /&gt;
 &amp;lt;input typ2=&amp;quot;text&amp;quot; name=&amp;quot;projektdatenbank_captcha_input&amp;quot; value=&amp;quot;###value_captcha###&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;font-size:0.8em;&amp;quot;&amp;gt;Spam-Sicherheitsabfrage&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Quelle: typo3.net Verfasst am: 20.04.2006 [16:09] )&lt;/div&gt;</summary>
		<author><name>84.161.140.169</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Captcha&amp;diff=248</id>
		<title>Typo3 - Captcha</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Captcha&amp;diff=248"/>
		<updated>2006-05-15T12:54:59Z</updated>

		<summary type="html">&lt;p&gt;84.161.140.169: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Captcha soll Formulare gegen automatisierte Spam-Angriffe schützen. Der Benutzer muß einen Zahlen oder Buchstabencode, der als verzerrtes oder verfremdetes Bild vorliegt eingeben. Bei falscher Eingabe wird das Formular nicht akzeptiert.&lt;br /&gt;
&lt;br /&gt;
Es gibt im Moment (5.4.2006) zwei Extensions für Typo3. &lt;br /&gt;
1. Captcha Libary von Kasper&lt;br /&gt;
2. free captcha von Rolland Stanislas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Captcha Libary von Kasper ==&lt;br /&gt;
Die Captcha Libary wird als Extension geladen und steht dann als php-Erweiterung für die Frontendplugins zur Verfügung. Es muß also Code in die Betroffenen Extensions eingebracht werden. Dabei wird der Code in einer Session Variablen gespeichert und später mit der Eingabe des Users verglichen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;So geht&amp;#039;s:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Captcha Bild erzeugen===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 1 allgemein&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (t3lib_extMgm::isLoaded(&amp;#039;captcha&amp;#039;)){&lt;br /&gt;
  $captchaHTMLoutput = &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039;.t3lib_extMgm::siteRelPath(&amp;#039;captcha&amp;#039;).&amp;#039;captcha/captcha.php&amp;quot; alt=&amp;quot;&amp;quot; /&amp;gt;&amp;#039;;&lt;br /&gt;
} else {&lt;br /&gt;
  $captchaHTMLoutput = &amp;#039;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 2 ve_guestbook&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
in den beiden Arrays $substituteArray müssen neue Marker angelegt werden:&lt;br /&gt;
&lt;br /&gt;
 $substituteArray = array(&amp;#039;firstname&amp;#039;, &amp;#039;surname&amp;#039;, &amp;#039;email&amp;#039;, &amp;#039;homepage&amp;#039;, &amp;#039;place&amp;#039;, &amp;#039;entry&amp;#039;, &amp;#039;entrycomment&amp;#039;, &amp;#039;submit&amp;#039;,&amp;#039;captcharesponse&amp;#039;,&amp;#039;captcha&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
In der Funktion &amp;#039;&amp;#039;&amp;#039;displayForm()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
### Captcha Beginn ###&lt;br /&gt;
# In Funktion displayForm() Marker befüllen&lt;br /&gt;
  if (t3lib_extMgm::isLoaded(&amp;#039;captcha&amp;#039;))  {&lt;br /&gt;
  #creating any random string to workarround browser caching of old captcha image&lt;br /&gt;
    $anything = date(&amp;quot;d.m.Y-H:i:s&amp;quot;,time());&lt;br /&gt;
    $captchaHTMLoutput = &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039;.t3lib_extMgm::siteRelPath(&amp;#039;captcha&amp;#039;).&amp;#039;captcha/captcha.php?&amp;#039;.$anything.&amp;#039;&amp;quot; alt=&amp;quot;No Spam!&amp;quot; /&amp;gt;&amp;#039;;&lt;br /&gt;
  } else {&lt;br /&gt;
    $captchaHTMLoutput = &amp;#039;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
$markerArray[&amp;#039;###CAPTCHA_INSERT###&amp;#039;] = $captchaHTMLoutput;&lt;br /&gt;
### Ende ###&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Formularfeld einfügen===&lt;br /&gt;
Beispiel 1 &lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; size=30 name=&amp;quot;TIPFORM[captcharesponse]&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel 2 - ve_guestbook&lt;br /&gt;
Im Template werden die neuen Marker und das Input angelegt:&lt;br /&gt;
&lt;br /&gt;
Keine Ahnung wofür der ###FORM_CAPTCHARESPONSE### Marker ist. Braucht man wahrscheinlich nur für Felder bei denen man die Werte bei Falscheingabe wieder reinschreibt (also hier wohl gar nicht).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;!--...--&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td valign=&amp;quot;top&amp;quot; class=&amp;quot;content&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;Bitte geben sie folgenden Code ein:&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot; class=&amp;quot;content&amp;quot;&amp;gt;###CAPTCHA_INSERT###&lt;br /&gt;
    &amp;lt;span class=&amp;quot;content&amp;quot;&amp;gt;###FORM_CAPTCHARESPONSE###&amp;lt;/span&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot; class=&amp;quot;content&amp;quot;&amp;gt; &lt;br /&gt;
    &amp;lt;input class=&amp;quot;content&amp;quot; type=&amp;quot;text&amp;quot; name=&amp;quot;tx_veguestbook_pi1[captcharesponse]&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Abfrage realisieren===&lt;br /&gt;
Beispiel 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (t3lib_extMgm::isLoaded(&amp;#039;captcha&amp;#039;)){&lt;br /&gt;
  session_start();&lt;br /&gt;
  $captchaStr = $_SESSION[&amp;#039;tx_captcha_string&amp;#039;];//String auslesen&lt;br /&gt;
  $_SESSION[&amp;#039;tx_captcha_string&amp;#039;] = &amp;#039;&amp;#039;;&lt;br /&gt;
} else {&lt;br /&gt;
  $captchaStr = -1;//String zurücksetzen damit er nicht mehrmals benutzt werden kann&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Bsp.2 (für Gästebuch Alt-Brettheim)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Funktion &amp;#039;&amp;#039;&amp;#039;checkForm()&amp;#039;&amp;#039;&amp;#039; ganz an den Anfang&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	# Getting the Captcha String&lt;br /&gt;
	if (t3lib_extMgm::isLoaded(&amp;#039;captcha&amp;#039;))  {&lt;br /&gt;
    session_start();&lt;br /&gt;
    $captchaStr = $_SESSION[&amp;#039;tx_captcha_string&amp;#039;];&lt;br /&gt;
    $_SESSION[&amp;#039;tx_captcha_string&amp;#039;] = &amp;#039;&amp;#039;;&lt;br /&gt;
	} else {&lt;br /&gt;
    $captchaStr = -1;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4. Eingabe überprüfen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Beispiel 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (... ($captchaStr===-1 || ($captchaStr &amp;amp;&amp;amp; $tipData[&amp;#039;captchaResponse&amp;#039;]===$captchaStr)) ...) {&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bsp2 (Alt-Brettheim)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	# Evaluating the captcha string&lt;br /&gt;
	#if ($this-&amp;gt;postvars[&amp;#039;captcharesponse&amp;#039;] != $captchaStr) {&lt;br /&gt;
	if (strcasecmp($this-&amp;gt;postvars[&amp;#039;captcharesponse&amp;#039;], $captchaStr) != 0) {&lt;br /&gt;
		$error .= &amp;#039;&amp;lt;li&amp;gt;Antispamcode war leider falsch, bitte nochmal probieren!&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Captcha Libary anpassen===&lt;br /&gt;
&lt;br /&gt;
Captcha Library (captcha)&lt;br /&gt;
captcha/captcha.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Captcha in Mailformplus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ich verwende MailFormPlus und Captcha. Bei MailFormPlus musst du ja ein Template erstellen, das die Struktur des Formulars wiedergibt. An gewünschter Stelle fügst du innerhalb der FORM-Tags &amp;quot;###CAPTCHA###&amp;quot; ein (das erzeugt das Bild von Captcha). Dann noch ein input-Feld erzeugt mit name-Attribut. Dem name-Attribut weißt du einen eindeutigen Namen zu. Der Name muss jetzt noch mit dem Captcha-Bild verknüpft werden. Das machst du im Template der Seite im Setup. Du musst ins Setup nur noch folgendes eintragen:&lt;br /&gt;
Typoscript:	Zeilennummerierung:  An / Aus&lt;br /&gt;
&lt;br /&gt;
plugin.tx_thmailformplus_pi1.captchaFieldname = name_des_inputfeldes&lt;br /&gt;
Fertig.&lt;br /&gt;
&lt;br /&gt;
Beispiel für Template:&lt;br /&gt;
Html4strict:	Zeilennummerierung:  An / Aus&lt;br /&gt;
&lt;br /&gt;
###CAPTCHA###&amp;lt;br /&amp;gt;&amp;lt;input typ2=&amp;quot;text&amp;quot; name=&amp;quot;projektdatenbank_captcha_input&amp;quot; value=&amp;quot;###value_captcha###&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;font-size:0.8em;&amp;quot;&amp;gt;Spam-Sicherheitsabfrage&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Quelle: typo3.net Verfasst am: 20.04.2006 [16:09] )&lt;/div&gt;</summary>
		<author><name>84.161.140.169</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Tipps_und_Tricks&amp;diff=253</id>
		<title>Typo3 - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Tipps_und_Tricks&amp;diff=253"/>
		<updated>2006-05-15T10:26:59Z</updated>

		<summary type="html">&lt;p&gt;84.161.140.169: /* Rendering von Content Elementen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mehr auf [[Typo3 - TS Templates]]&lt;br /&gt;
und: [[Typo3 - Wichtige TypoScript Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
== Rendering von Content Elementen ==&lt;br /&gt;
weitere Infos unter:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Content Elemente anpassen]]&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen für Bilder ===&lt;br /&gt;
Größe (maximal, minimal, Popups, Skalierung, Bildunterschriften...)&lt;br /&gt;
====Border Attribut loswerden====&lt;br /&gt;
config.config.disableImgBorderAttr = 1&lt;br /&gt;
&lt;br /&gt;
Wichtig wenn man mit CSS arbeiten möchte.&lt;br /&gt;
&lt;br /&gt;
=== Link to Top ===&lt;br /&gt;
&lt;br /&gt;
=== Darstellung von Tabellen ===&lt;br /&gt;
Betrifft hauptsächlich das static Template content(default)&lt;br /&gt;
&lt;br /&gt;
=== clear.gif und Absätze loswerden ===&lt;br /&gt;
content(default)&lt;br /&gt;
 # Entfernen der &amp;lt;img src=&amp;quot;clear.gif&amp;#039; ...&amp;gt;&lt;br /&gt;
 content.headerSpace = 0|0&lt;br /&gt;
 content.space = 0|0&lt;br /&gt;
&lt;br /&gt;
=== externe Links ===&lt;br /&gt;
_self oder _blank, aussehen...&lt;br /&gt;
 styles.content.links.extTarget (bei css_styled_content)&lt;br /&gt;
&lt;br /&gt;
=== Links und Sitemap ===&lt;br /&gt;
Die Links einer eingebundenen Sitemap sind standardmäßig auf den Wert &amp;#039;page&amp;#039; eingestellt (Typo 3.8). Das macht nur bei Framesets Sinn.&lt;br /&gt;
&lt;br /&gt;
Die relevanten Setup-Werte die man ändern muß (je nach ausgewählter Sitemap):&lt;br /&gt;
 tt_content.menu.20.1.1.target = _self&lt;br /&gt;
 tt_content.menu.20.2. [...]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== Listenpunkte und Aufzählungen ===&lt;br /&gt;
&lt;br /&gt;
=== Layoutauswahl ===&lt;br /&gt;
siehe [[Typo3 - Rahmen (Frames)]] für Rahmen&lt;br /&gt;
&lt;br /&gt;
und [[Typo3 - Backend anpassen]] für Header (Überschriften)&lt;br /&gt;
&lt;br /&gt;
=== Inline CSS loswerden ===&lt;br /&gt;
Bei vielen Extensions und bei CSS Styled ImgText liegt das CSS Inline. Besser wäre ist es das CSS komplett in eigene Dateien auszulagern.&lt;br /&gt;
&lt;br /&gt;
 # Inline Styles auslagern&lt;br /&gt;
 config.inlineStyle2TempFile = true&lt;br /&gt;
&lt;br /&gt;
=== JavaScript in externe Datei auslagern ===&lt;br /&gt;
Z.B. der kleine JavaScript Schnipsel für das Blur im IE auslagern.&lt;br /&gt;
Wie bindet man externes JavaScript ein...&lt;br /&gt;
&lt;br /&gt;
siehe unter&lt;br /&gt;
[[Typo3 - HTML Code optimieren]]&lt;br /&gt;
&lt;br /&gt;
=== Ausgabe einer Spalte Wrappen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #Inhalt rechts&lt;br /&gt;
 subparts.CONTENT_RIGHT &amp;lt; styles.content.getRight&lt;br /&gt;
 #Ganze Spalte Wrappen&lt;br /&gt;
 subparts.CONTENT_RIGHT.wrap = &amp;lt;div class=&amp;quot;content_right&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
 #Einzelnes Element Wrappen &lt;br /&gt;
 subparts.CONTENT_RIGHT.renderObj.stdWrap.wrap=&amp;lt;div class=&amp;quot;bordered&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Ausgabe einer Spalte Wrappen wenn nicht leer ===&lt;br /&gt;
Hier wird das content element nur mit einem div gewrapt wenn es nicht leer ist&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.rightContent &amp;lt; styles.content.getRight&lt;br /&gt;
temp.rightContent.stdWrap {&lt;br /&gt;
  wrap = &amp;lt;div id=&amp;quot;right-main&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
  if.isTrue.numRows &amp;lt; styles.content.getRight&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(TypoWizard.com 9.1.2006)&lt;br /&gt;
&lt;br /&gt;
===p style=&amp;quot;margin:0 0 0 0;&amp;quot; aus dem p-Tag rausnehmen===&lt;br /&gt;
&lt;br /&gt;
 tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines.addAttributes.P.style=&lt;br /&gt;
&lt;br /&gt;
== Suche ==&lt;br /&gt;
===Index-Suche – kein eigenes Fenster öffnen===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 styles.content.searchresult.resultTarget = _self&lt;br /&gt;
 styles.content.searchresult.target = _self&lt;br /&gt;
&lt;br /&gt;
== Domains anlegen ==&lt;br /&gt;
Todo...&lt;br /&gt;
== Rootline Navigation ==&lt;br /&gt;
Ein Beispiel bei dem zusätzlich Englisch (L=1) berücksichtigt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.rootline_html= HMENU&lt;br /&gt;
temp.rootline_html.special = rootline&lt;br /&gt;
temp.rootline_html.special.range = 0|-1&lt;br /&gt;
temp.rootline_html.1 = TMENU&lt;br /&gt;
temp.rootline_html.1 {&lt;br /&gt;
    wrap = Sie sind hier:&amp;amp;nbsp;|&lt;br /&gt;
   # evt. bestimte Seiten ausblenden...&lt;br /&gt;
   excludeUidList =&lt;br /&gt;
   # Sprache mit der ID 1 (Englisch)&lt;br /&gt;
  target = _top&lt;br /&gt;
  NO {&lt;br /&gt;
    linkWrap= &amp;lt;span class=&amp;quot;pathway&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&lt;br /&gt;
    # optionSplit: vor erstem item kein delimiter, sonst immer einer&lt;br /&gt;
    allWrap = | |*| &amp;gt;&amp;amp;nbsp;| |*| &lt;br /&gt;
    ATagBeforeWrap = 0&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Wrap für Englisch&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
temp.rootline_html.1.wrap = You are here:&amp;amp;nbsp;|&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mehrsprachigkeit ==&lt;br /&gt;
So baut man mehrsprachige Seiten in Typo3:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Mehrsprachige Seiten]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Mehrsprachige Navigation]]&lt;br /&gt;
&lt;br /&gt;
== Spracheinstellungen ==&lt;br /&gt;
&lt;br /&gt;
== HTML-Template einbinden ==&lt;br /&gt;
siehe auch: [[Typo3 - HTML-Templates]]&lt;br /&gt;
Beispiel (das page Objekt muß natürlich vorher definiert werden):&lt;br /&gt;
&lt;br /&gt;
Im TS Template Setup:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
 page.10 = TEMPLATE&lt;br /&gt;
 page.10{&lt;br /&gt;
   template = FILE&lt;br /&gt;
   template.file = fileadmin/templates/main.html&lt;br /&gt;
 &lt;br /&gt;
   ### Subparts ansprechen ###&lt;br /&gt;
   workOnSubpart = DOCUMENT_BODY&lt;br /&gt;
 &lt;br /&gt;
   # Rootline (Pathway) einfügen ###&lt;br /&gt;
   subparts.ROOTLINE &amp;lt; temp.rootline_html&lt;br /&gt;
   &lt;br /&gt;
   # Hauptinhalt&lt;br /&gt;
   subparts.CONTENT &amp;lt; layoutWrap&lt;br /&gt;
   subparts.CONTENT.wrap = &amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;   &lt;br /&gt;
   &lt;br /&gt;
   #Inhalt rechts&lt;br /&gt;
   subparts.CONTENT_RIGHT &amp;lt; styles.content.getRight&lt;br /&gt;
   subparts.CONTENT_RIGHT.wrap = &amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   # Rand bzw. Header&lt;br /&gt;
   subparts.HEADER &amp;lt; styles.content.getBorder&lt;br /&gt;
   subparts.HEADER &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
   # subparts.HEADER &amp;lt; temp.flashHeader&lt;br /&gt;
  &lt;br /&gt;
   ### Hauptnavigation ###&lt;br /&gt;
   subparts.NAVI_LINKS &amp;lt; temp.navi_gLayer&lt;br /&gt;
  &lt;br /&gt;
   ### rechte Navi ###&lt;br /&gt;
   subparts.NAVI_RECHTS &amp;lt;temp.naviGRight&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einstellungen für das Page Objekt ==&lt;br /&gt;
&lt;br /&gt;
== Verschiedene Einstellungen ==&lt;br /&gt;
=== statische Seiten Simulieren ===&lt;br /&gt;
Statische Seiten simulieren&lt;br /&gt;
 config.simulateStaticDocuments = PATH_INFO&lt;br /&gt;
 config.simulateStaticDocuments_addTitle = 30&lt;br /&gt;
 config.simulateStaticDocuments = 1&lt;br /&gt;
 config.admPanel = 1&lt;br /&gt;
 config.simulateStaticDocuments_noTypeIfNoTitle = 1&lt;br /&gt;
&lt;br /&gt;
.htaccess Datei für Apache Server nicht vergessen (muß nur unbenannt werden)&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen für das Admin Panel ===&lt;br /&gt;
&lt;br /&gt;
===Email===&lt;br /&gt;
&lt;br /&gt;
==== Spamschutz für Email Adressen ====&lt;br /&gt;
 config.spamProtectEmailAddresses = 1&lt;br /&gt;
 config.spamProtectEmailAddresses_atSubst = (at)&lt;br /&gt;
&lt;br /&gt;
====E-Mail-Absender für automatische E-Mails z.B. über Kontaktformular====&lt;br /&gt;
E-Mail-Adresse&lt;br /&gt;
 plugin.feadmin.dmailsubscription.email = info(at)easy-office4you.de&lt;br /&gt;
E-Mail-Name&lt;br /&gt;
 plugin.feadmin.dmailsubscription.emailName = Barbara Hofbauer&lt;br /&gt;
&lt;br /&gt;
== Typo3 RTE - Einstellungen ==&lt;br /&gt;
===RTE Absatz Formatierung einstellen===&lt;br /&gt;
 lib.parseFunc_RTE {&lt;br /&gt;
 nonTypoTagStdWrap.encapsLines.nonWrappedTag &amp;gt;&lt;br /&gt;
 nonTypoTagStdWrap.encapsLines.wrapNonWrappedLines = | &amp;lt;/br&amp;gt;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===HTML-Area (htmlarea) statt RTE===&lt;br /&gt;
Mit der Extension htmlarea kann man den RTE ersetzen. Er bietet einiges mehr an Bearbeitungsfunktionen (wenn man die denn will) aber vor allem läuft er auch auf Mozilla, Firefox, etc. Browsern.&lt;br /&gt;
&lt;br /&gt;
==htmlarea anpassen==&lt;br /&gt;
Die Möglichkeiten des htmlarea Editors sind oft zuviel des Guten. Die meisten Anpassungen des RTE funktionieren auch im htmlarea. Beispiele:&lt;br /&gt;
&lt;br /&gt;
Minimale Funktionalität&lt;br /&gt;
&lt;br /&gt;
Im Page Setup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RTE.default {&lt;br /&gt;
	## Toolbar options applicable to all RTE&amp;#039;s&lt;br /&gt;
	## The TCA configuration may add buttons to the toolbar&lt;br /&gt;
	showButtons =  bold,italic,undo,redo,about&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
## front end RTE configuration for the general public (htmlArea RTE only)&lt;br /&gt;
RTE.default.FE &amp;lt; RTE.default&lt;br /&gt;
&lt;br /&gt;
== Header Image austauschen ==&lt;br /&gt;
[[Typo3 - Header Image austauschen]]&lt;/div&gt;</summary>
		<author><name>84.161.140.169</name></author>
	</entry>
</feed>