[TYPO3-german] captcha für chc forum
thE_iNviNciblE
the_invincible at gmx.de
Mon Jan 8 20:29:32 CET 2007
Hallo Stefan,
Ich glaube soetwas findest du dafür nicht, musst du dir selbst bauen...
Mit dieser Datei kannst du ein zufälliges Bild generiern.
Du musst nur wie es dort auch steht 7 verschiedene Fonts in das gleiche
verzeichnis wie die datei packen.
<?php
@session_start();
// Verzeichnis wo die TTF-Schriften liegen
// die müssen durchnumeriert sein, in dem Beispiel 1.ttf - 7.ttf
// hier aktuelles Verzeichnis
$FONTS = ".";
// leeres weißes Bild erzeugen
$image = imagecreatetruecolor(155,40);
$bgColor = ImageColorAllocate($image, 255, 255, 255);
ImageFilledRectangle($image, 0, 0, 155, 40, $bgColor);
// Schriftfarbe
$color = imagecolorallocate($image,0,0,0);
// Schriftgröße
$size=20;
// unsere Zufallszahlen, die 1 ist nicht mit dabei, wegen
Verwechslungsgefahr mit der 7
$A = rand(2,9);
$B = rand(2,9);
$C = rand(2,9);
$D = rand(2,9);
$E = rand(2,9);
$F = rand(2,9);
#echo $A.$B.$C.$D.$E.$F;
// Zahlen auf das Bild zeichnen, Position etwas variieren, zufällig eine
Schriftart auswählen (1.ttf-7.ttf)
imagettftext($image, $size, 0, 5, 25+rand(0,10), $color,
$FONTS.'/'.rand(1,7).'.ttf',$A);
imagettftext($image, $size, 0, 30, 25+rand(0,10), $color,
$FONTS.'/'.rand(1,7).'.ttf',$B);
imagettftext($image, $size, 0, 55, 25+rand(0,10), $color,
$FONTS.'/'.rand(1,7).'.ttf',$C);
imagettftext($image, $size, 0, 80, 25+rand(0,10), $color,
$FONTS.'/'.rand(1,7).'.ttf',$D);
imagettftext($image, $size, 0, 105, 25+rand(0,10), $color,
$FONTS.'/'.rand(1,7).'.ttf',$E);
imagettftext($image, $size, 0, 130, 25+rand(0,10), $color,
$FONTS.'/'.rand(1,7).'.ttf',$F);
// Header für JPEG-Bild ausgeben
header("Content-type: image/gif");
// Bild ausgeben und im Verzeichnis abspeichern, Dateiname aus den
Zufallszahlen bilden
imagegif($image);
$_SESSION['loesung']=$A.$B.$C.$D.$E.$F;
// Speicher vom Bild wieder freigeben, besser ist das ;-)
imagedestroy($image);
?>
Um das Bildgenerien aufzurufen:
<input type="hidden" name="' . session_name() . '" value="' .
session_id() . '">
<img src="antispam/image.php?'.SID.'" alt="captcha" />
<input type="text" name="loesung" size="6" / value="<?=
$_POST['loesung']; ?>">
kann sein das du irgendwie nocht session_start() aufrufen musst...
dann den inhalt der session mit loesung vergleichen $_POST
// formular gesendet, prüfe ob datei existiert, wenn dann löschen und
dann statusmeldung
if (($_SESSION['loesung'] == $_POST['loesung']) &&
(!empty($_SESSION['loesung'])))
{
}
wichtig ist noch die prüfung auf !emtpy() ...
ich hoffe ich konnte ein bißchen helfen...
Gruss
Jan
Stefan Siebel wrote:
> Hallo Liste,
>
> ich würde gerne ein Captcha für das CHC Forum einsetzen. Auf Anhieb habe
> ich nichts passendes im Extension Repository gefunden. Kennt da jemand
> was passendes?
>
> Ich setze Typo3 3.8.0 und chc_forum 1.3.5 ein.
>
> Viele Grüße,
> Stefan.
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>
>
--
MfG thE_iNviNciblE
-----------------
"Wissen ist Macht" - Sir Francis Bacon (1597)
visit: http://www.tsecurity.de
visit: http://forum.tsecurity.de
visit: http://your-mind-is-free.tsecurity.de
More information about the TYPO3-german
mailing list