Da nun auch der Server f�r das THWB Projekt nicht mehr gepflegt wird, hier noch einmal eine Anleitung zur Installation:
Voraussetzungen
Auf dem Webserver muss die GD Library installiert sein.
Weitere Software
eBiene CaptchaImage Maker besorgen (Download) oder ebiene.de -> Skripte -> CaptchaImageMaker.
Installation
1) Den CaptchaImage Maker in einem Unterverzeichnis captcha ablegen.
2) templates\default\register.html anpassen
Vorher
.
.
<tr bgcolor="$style[CellB]">
<td width="20%">$style[stdfont]Email$style[stdfontend]</td>
<td>
<input class="tbinput" type="text" name="register[useremail]">
$style[smallfont]Bitte geben Sie unbedingt eine gültige Emailadresse an.$style[smallfontend]</td>
</tr>
$passwordfield
<tr bgcolor="$style[CellA]">
.
.
Nachher (CaptchaImage Maker 0.2)
.
.
<tr bgcolor="$style[CellB]">
<td width="20%">$style[stdfont]Email$style[stdfontend]</td>
<td>
<input class="tbinput" type="text" name="register[useremail]">
$style[smallfont]Bitte geben Sie unbedingt eine gültige Emailadresse an.$style[smallfontend]</td>
</tr>
$passwordfield
<!-- CAPTCHA -->
<tr bgcolor="$style[CellA]">
<td width="20%">$style[stdfont]Bestätigungscode$style[stdfontend]</td>
<td>
<img src="./captcha/require/captcha_image.php?width=150&height=60&type=jpeg&$captcha_hash">
</td>
</tr>
<tr bgcolor="$style[CellB]">
<td width="20%">$style[stdfont]Eingabe<br>Bestätigungscode$style[stdfontend]</td>
<td>
<input class="tbinput" type="text" name="register[captcha_string]">
$style[smallfont]Bitte geben Sie den Bestätigungscode ein.$style[smallfontend]</td>
</tr>
<!-- CAPTCHA -->
<tr bgcolor="$style[CellA]">
.
.
Nachher (CaptchaImage Maker 0.3)
.
.
<tr bgcolor="$style[CellB]">
<td width="20%">$style[stdfont]Email$style[stdfontend]</td>
<td>
<input class="tbinput" type="text" name="register[useremail]">
$style[smallfont]Bitte geben Sie unbedingt eine gültige Emailadresse an.$style[smallfontend]</td>
</tr>
$passwordfield
<!-- CAPTCHA -->
<tr bgcolor="$style[CellA]">
<td width="20%">$style[stdfont]Bestätigungscode$style[stdfontend]</td>
<td>
<img src="./captcha/require/image.php?width=150&height=60&type=jpeg&$captcha_hash">
</td>
</tr>
<tr bgcolor="$style[CellB]">
<td width="20%">$style[stdfont]Eingabe<br>Bestätigungscode$style[stdfontend]</td>
<td>
<input class="tbinput" type="text" name="register[captcha_string]">
$style[smallfont]Bitte geben Sie den Bestätigungscode ein.$style[smallfontend]</td>
</tr>
<!-- CAPTCHA -->
<tr bgcolor="$style[CellA]">
.
.
3) do_register.php anpassen
Vorher
.
.
include "./inc/header.inc.php";
.
.
while( list(, $bannedmail) = @each($config['bannedemails']) )
{
$bm = stristr($register['useremail'], $bannedmail);
if( $bm )
{
message('Ungültige E-Mailadresse',
'Die von Ihnen gewählte E-Mailadresse ist leider nicht erlaubt.');
}
}
if( strlen($errmsg) > 0 )
.
.
Nachher (CaptchaImage Maker 0.2)
.
.
// eBiene CaptchaImage Maker 0.2 =>
// Session starten
session_start();
// Konfiguration einbinden
require './captcha/config/config.php';
// Crypt-Klasse einbinden
require './captcha/require/crypt.class.php';
// Crypt-Klasse initialisieren
$GLOBALS['crypt_class'] = new crypt_class();
if( isset($_SESSION['captcha_string']) && strlen($_SESSION['captcha_string']) > 0 )
$captcha_code = strtoupper($GLOBALS['crypt_class']->base64_decode_advanced($_SESSION['captcha_string']));
else
$captcha_code = '';
// <=
include "./inc/header.inc.php";
.
.
while( list(, $bannedmail) = @each($config['bannedemails']) )
{
$bm = stristr($register['useremail'], $bannedmail);
if( $bm )
{
message('Ungültige E-Mailadresse',
'Die von Ihnen gewählte E-Mailadresse ist leider nicht erlaubt.');
}
}
// eBiene CaptchaImage Maker 0.2 =>
if( !isset($register['captcha_string']) )
{
message('Fehler', 'Bitte geben Sie den Bestätigungscode ein !');
}
if( strtoupper($register['captcha_string']) != $captcha_code )
{
message('Fehler', 'Der Bestätigungscode ' . strtoupper($register['captcha_string']) . ' stimmt nicht, bitte �berpr�fen Sie ihre Angaben.');
}
// <=
if( strlen($errmsg) > 0 )
.
.
Nachher (CaptchaImage Maker 0.3)
.
.
// eBiene CaptchaImage Maker 0.3 =>
// Session starten
session_start();
// Konfiguration einbinden
require './captcha/require/config.php';
// Crypt-Klasse einbinden
require './captcha/require/crypt.class.php';
// Crypt-Klasse initialisieren
$GLOBALS['crypt_class'] = new crypt_class();
if( isset($_SESSION['captcha_string']) && strlen($_SESSION['captcha_string']) > 0 )
$captcha_code = strtoupper($GLOBALS['crypt_class']->base64_decode_advanced($_SESSION['captcha_string']));
else
$captcha_code = '';
// <=
include "./inc/header.inc.php";
.
.
while( list(, $bannedmail) = @each($config['bannedemails']) )
{
$bm = stristr($register['useremail'], $bannedmail);
if( $bm )
{
message('Ungültige E-Mailadresse',
'Die von Ihnen gewählte E-Mailadresse ist leider nicht erlaubt.');
}
}
// eBiene CaptchaImage Maker 0.3 =>
if( !isset($register['captcha_string']) )
{
message('Fehler', 'Bitte geben Sie den Bestätigungscode ein !');
}
if( strtoupper($register['captcha_string']) != $captcha_code )
{
message('Fehler', 'Der Bestätigungscode ' . strtoupper($register['captcha_string']) . ' stimmt nicht, bitte �berpr�fen Sie ihre Angaben.');
}
// <=
if( strlen($errmsg) > 0 )
.
.
4) register.php anpassen
Vorher
.
.
include "./inc/header.inc.php";
.
.
Nachher
.
.
// eBiene CaptchaImage Maker 0.2/0.3 =>
$captcha_hash = md5(uniqid(rand(), true));
// <=
include "./inc/header.inc.php";
.
.
5) captcha/require/config.php anpassen (NUR Version 0.3)
Vorher
.
.
/* Quelle des Strings */
define('CAPTCHA_STRING_SOURCE', 'list'); .
.
Nachher
.
.
/* Quelle des Strings */
define('CAPTCHA_STRING_SOURCE', ''); .
.
Das ist schon alles.
Wenn man m�chte, kann man die L�nge des Strings in der captcha\require\captcha_image.class.php (0.2) bzw. captcha.class.php (0.3) anpassen:
Vorher
.
.
function check_captcha_params() {
/* String-Quelle festlegen */
if (empty($this->captcha_string) === true || $this->captcha_string == 'rand') {
$this->captcha_string = md5(uniqid(rand(), true));
} else {
$this->captcha_string = $GLOBALS['captcha_words_array'][rand(0, count($GLOBALS['captcha_words_array']) - 1)];
}
.
.
Nachher (hier 6-Stellig)
.
.
function check_captcha_params() {
/* String-Quelle festlegen */
if (empty($this->captcha_string) === true || $this->captcha_string == 'rand') {
$this->captcha_string = strtoupper(substr(md5(uniqid(rand(), true)),0,6));
} else {
$this->captcha_string = $GLOBALS['captcha_words_array'][rand(0, count($GLOBALS['captcha_words_array']) - 1)];
}
.
.
Bei Fragen bitte einfach eine E-Mail an mich senden.
Die Original Anleitung vom THWB-Hack-Forum findet sich HIER!