Sicherheitgrafik - Captcha
Hallo Leute,
ich benötige mal Eure Hilfe.
Ich möchte in ein php Scritp die Sicherheitsgrafik (Captcha) einbauen.
Mir wird die Grafik auch schon angezeigt (pkCaptchaField) und den eingegebenen Code bekomme ich auch raus.
Nun zu meinem Problem:
Die Funktion vom PHPKIT zum vergleichen der Zeichen liefert mir kein Ergebniss.
Es geht um folgende Funktion: pkCaptchaCodeValid
/pkin/func/public.php (Zeile 351)
Kann mir vielleicht jemand sagen, ob es da irgendwelche Abhänigkeiten gibt um die Funktion zu benutzen?
Viele Grüße
Timmi
ich benötige mal Eure Hilfe.
Ich möchte in ein php Scritp die Sicherheitsgrafik (Captcha) einbauen.
Mir wird die Grafik auch schon angezeigt (pkCaptchaField) und den eingegebenen Code bekomme ich auch raus.
Nun zu meinem Problem:
Die Funktion vom PHPKIT zum vergleichen der Zeichen liefert mir kein Ergebniss.
Es geht um folgende Funktion: pkCaptchaCodeValid
/pkin/func/public.php (Zeile 351)
Kann mir vielleicht jemand sagen, ob es da irgendwelche Abhänigkeiten gibt um die Funktion zu benutzen?
Viele Grüße
Timmi
Moin,
probiere das mal so. Da wo das Captcha angezeigt werden soll einfach in die PHP:
reintippen vor dem Aufruf des TPL's. In das TPL die VARI -> $captcha innerhalb des <table> setzen ohne <tr> oder <td> zu verwenden
Wenn jetzt einer auf speichern klickt sollte das in etwa so aussehen bei dir:
fertig. Das kannste für alle Formen oder Addons wo das Captcha angezeigt werden soll benutzen
Musst halt nur bei meinem Beispiel immer die Tabellennamen und felder anpassen.
grußi
grußi
probiere das mal so. Da wo das Captcha angezeigt werden soll einfach in die PHP:
|
|
PHP-Quelltext |
1 |
$captcha=pkCaptchaField();
|
reintippen vor dem Aufruf des TPL's. In das TPL die VARI -> $captcha innerhalb des <table> setzen ohne <tr> oder <td> zu verwenden
Wenn jetzt einer auf speichern klickt sollte das in etwa so aussehen bei dir:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
if(intval($_POST['id'])>0)){
$floodcontrol=pkTIME-($config['comment_floodctrl']*60);
$infocom=$DB->fetch_array($DB->query("SELECT COUNT(*)
FROM DEINE ADDON TABELLE
WHERE DEIN-ADDON-TABELLEN-FELD_autorid='".intval(pkGetUservalue('id'))."' AND
DEIN-ADDON-TABELLEN-FELD_comment_time>'".$floodcontrol."'
LIMIT 1"));
if(!pkCaptchaCodeValid($ENV->_post(pkCAPTCHAVARNAME)))
{
$event='securitycode_invalid';
}
elseif(trim($_POST['content'])=='' || trim($_POST['comment_autor'])=='')
{
$event='comment_data_missing';
}
elseif(strlen(trim($_POST['content']))>pkGetConfig('comment_maxchars'))
{
$event='comment_length';
}
elseif($infocom[0]>0)
{
$event='comment_wait_loop';
}
elseif(!checkusername($_POST['comment_autor'],1))
{
$event='name_in_use';
}
else
{
SQL Befehl zum eintragen in die Tabelle
}
if(isset($event))
{
if($event==46)
$commentlength=strlen($_POST['content']);
pkEvent($event,false);
}
}
|
fertig. Das kannste für alle Formen oder Addons wo das Captcha angezeigt werden soll benutzen
Musst halt nur bei meinem Beispiel immer die Tabellennamen und felder anpassen.grußi
grußi
Hi,
kannst Du mir vielleicht hier weiterhelfen?
Ich will erst mal nichts weiter machen, als die gut Meldung bekommen.
Alles andere ist kein Thema.
Mit diesem Beispiel kannst Du sicher ganz schnell mein Problem verstehen.
Ich sehe das Problem nicht mehr!!!!
Viele Grüße und danke
Timmi
kannst Du mir vielleicht hier weiterhelfen?
Ich will erst mal nichts weiter machen, als die gut Meldung bekommen.
Alles andere ist kein Thema.
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?php
if((isset($_POST['sign'])) && ($_POST['sign'] == "commentSend")){
echo "test: ".$ENV->_post(pkCAPTCHAVARNAME);
if(!pkCaptchaCodeValid($ENV->_post(pkCAPTCHAVARNAME)))
echo "<br>Captcha falsch!!!";
else
echo "<br>es Funzt";
}
$captcha=pkCaptchaField(NULL,2);
?>
<table class="standard" width="100%" cellspacing="1" cellpadding="4">
<script language="Javascript" src="fx/main.js"></script>
<form name="myform" method="post" action="include.php?path=captcha">
<input type="hidden" name="mode" value="0" onfocus="mymode()" />
<input type="hidden" name="mode" value="0" onfocus="mymode()" />
<tr>
<td width="15%" class="left" valign="top">Kommentar</td>
<td width="85%" class="right">
<table border="0" width="100%" cellpadding="0" cellspacing="2">
TEST
</table>
</td>
</tr>
<?= $captcha ?>
<tr>
<td class="heads" align="center" colspan="2">
<input name="submit" type="submit" value="Speichern">
<input name="sign" type="hidden" value="commentSend">
</td>
</tr>
</form>
</table>
|
Mit diesem Beispiel kannst Du sicher ganz schnell mein Problem verstehen.
Ich sehe das Problem nicht mehr!!!!
Viele Grüße und danke
Timmi
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Timmi« (9. März 2009, 21:21)
JohannesL
unregistriert
Hallo Timmi,
ich würde das so machen mit der Variable:
ich würde das so machen mit der Variable:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<?php
if((isset($_POST['sign'])) && ($_POST['sign'] == "commentSend")){
echo "test: ".$ENV->_post(pkCAPTCHAVARNAME);
if(!pkCaptchaCodeValid($ENV->_post(pkCAPTCHAVARNAME)))
echo "<br>Captcha falsch!!!";
else
echo "<br>es Funzt";
}
$captcha=pkCaptchaField(NULL,2);
?>
<table class="standard" width="100%" cellspacing="1" cellpadding="4">
<script language="Javascript" src="fx/main.js"></script>
<form name="myform" method="post" action="include.php?path=captcha">
<input type="hidden" name="mode" value="0" onfocus="mymode()" />
<input type="hidden" name="mode" value="0" onfocus="mymode()" />
<tr>
<td width="15%" class="left" valign="top">Kommentar</td>
<td width="85%" class="right">
<table border="0" width="100%" cellpadding="0" cellspacing="2">
TEST
</table>
</td>
</tr>
$captcha
<tr>
<td class="heads" align="center" colspan="2">
<input name="submit" type="submit" value="Speichern">
<input name="sign" type="hidden" value="commentSend">
</td>
</tr>
</form>
</table>
|
Also erstmal was soll das hier bewirken innheralb der Klammer?!?
und warum -> <?= $captcha ?> (= Zeichen ?!?)
Weißt du etwas, was ich nicht weiß
Die Funktion pkCaptchaField generiert lediglich einen Captcha Code und ich wüßte jetzt nicht was du da schicken möchtest
Am besten einfach mal das in der Klammer tilgen und das = Zeichen wegmachen
Müßte gehen, so wie du es gemacht hast.
grußi
|
|
PHP-Quelltext |
1 |
$captcha=pkCaptchaField(NULL,2);
|
und warum -> <?= $captcha ?> (= Zeichen ?!?)
Weißt du etwas, was ich nicht weiß
Die Funktion pkCaptchaField generiert lediglich einen Captcha Code und ich wüßte jetzt nicht was du da schicken möchtest
Am besten einfach mal das in der Klammer tilgen und das = Zeichen wegmachen
Müßte gehen, so wie du es gemacht hast.
grußi
@Cracky
Das <?= $captcha; ?> ist ne Kurzschreibweise für <? echo $captcha; ?>...
Funzt aber nur wenn die ASP-Tags in der php.ini aktiviert sind.
Ich würd ja den HTML-Part einfach zum site_body hinzufügen, sonst funzt das doch gar nicht mit der Ausgabe..
Das <?= $captcha; ?> ist ne Kurzschreibweise für <? echo $captcha; ?>...
Funzt aber nur wenn die ASP-Tags in der php.ini aktiviert sind.
Ich würd ja den HTML-Part einfach zum site_body hinzufügen, sonst funzt das doch gar nicht mit der Ausgabe..
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<?php
if((isset($_POST['sign'])) && ($_POST['sign'] == "commentSend")){
echo "test: ".$ENV->_post(pkCAPTCHAVARNAME);
if(!pkCaptchaCodeValid($ENV->_post(pkCAPTCHAVARNAME)))
echo "<br>Captcha falsch!!!";
else
echo "<br>es Funzt";
}
$captcha=pkCaptchaField(NULL,2);
$site_body .= '<table class="standard" width="100%" cellspacing="1" cellpadding="4">
<script language="Javascript" src="fx/main.js"></script>
<form name="myform" method="post" action="include.php?path=captcha">
<input type="hidden" name="mode" value="0" onfocus="mymode()" />
<input type="hidden" name="mode" value="0" onfocus="mymode()" />
<tr>
<td width="15%" class="left" valign="top">Kommentar</td>
<td width="85%" class="right">
<table border="0" width="100%" cellpadding="0" cellspacing="2">
TEST
</table>
</td>
</tr>
$captcha
<tr>
<td class="heads" align="center" colspan="2">
<input name="submit" type="submit" value="Speichern">
<input name="sign" type="hidden" value="commentSend">
</td>
</tr>
</form>
</table>';
?>
|
kein plan hab nicht geguckt...
..aber könnte man grad mal machen
Also man kann 3 Parameter angeben..
1. Name des Inputfeldes, wenn nicht standard
2 + 3. Colspan Werte für die Tabelle (Standard 0)
Kann also normalerweise alles weggelassen werden, schätze ich mal
..aber könnte man grad mal machen
Also man kann 3 Parameter angeben..
1. Name des Inputfeldes, wenn nicht standard
2 + 3. Colspan Werte für die Tabelle (Standard 0)
Kann also normalerweise alles weggelassen werden, schätze ich mal
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Riddler« (11. März 2009, 18:15)

- 1
- 2

Ähnliche Themen
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
Kit-NoSpam V2
(23. Januar 2009, 22:41)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
Sicherheitsüberprüfung der Komentare für Mitglieder abschalten?
(31. Juli 2008, 20:37)
-
Webhosting / Webserver »-
XAMPP GDlib bzw Captcha Problem
(8. Januar 2008, 00:07)


