probleme mit guest_confirmation mod

Ersetzt das Original phpBB CAPTCHA gegen eins mit diversen Konfigurationsmöglichkeiten.

probleme mit guest_confirmation mod

Beitragvon miccom » 16. Mär 2006 12:00

hallo,

wenn ich die neue includes/usercp_confirm.php verwende, funktioniert dieser mod leider nicht mehr:

Code: Alles auswählen
##############################################################
## MOD Title: Visual Confirmation for Guests
## MOD Author: Kanuck < aaron@kanuck.net > (Aaron Adams) http://kanuck.net/
## MOD Description: Adds visual confirmation for guest posts, eliminating spam.
## MOD Version: 1.0.1
##
## Installation Level: Easy
## Installation Time: 3 Minutes
## Files To Edit: posting.php, templates/subSilver/posting_body.tpl
## Included Files: n/a
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes: None
##
##############################################################
## MOD History:
##
##   2005-02-18 - Version 1.0.1
##      - It works now. No more parse errors.
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------
#

posting.php

#
#-----[ FIND ]------------------------------------------
#

/***************************************************************************
*
*   This program is free software; you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation; either version 2 of the License, or
*   (at your option) any later version.
*
***************************************************************************/

#
#-----[ AFTER, ADD ]------------------------------------------
#

/*

   png visual confirmation system : (c) phpBB Group, 2003 : All Rights Reserved

*/

#
#-----[ FIND ]------------------------------------------
#

      case 'editpost':
      case 'newtopic':
      case 'reply':
      
#
#-----[ AFTER, ADD ]------------------------------------------
#

         if ( $board_config['enable_confirm'] && !$userdata['session_logged_in'] )
         {
            if ( empty($HTTP_POST_VARS['confirm_id']) || empty($HTTP_POST_VARS['confirm_code']) )
            {
               $error = TRUE;
               $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Confirm_code_wrong'];
            }
            else
            {
               $confirm_id = htmlspecialchars($HTTP_POST_VARS['confirm_id']);
               if (!preg_match('/^[A-Za-z0-9]+$/', $confirm_id))
               {
                  $confirm_id = '';
               }
               
               $sql = 'SELECT code
                  FROM ' . CONFIRM_TABLE . "
                  WHERE confirm_id = '$confirm_id'
                     AND session_id = '" . $userdata['session_id'] . "'";
               if (!($result = $db->sql_query($sql)))
               {
                  message_die(GENERAL_ERROR, 'Could not obtain confirmation code', __LINE__, __FILE__, $sql);
               }
      
               if ($row = $db->sql_fetchrow($result))
               {
                  if ($row['code'] != $HTTP_POST_VARS['confirm_code'])
                  {
                     $error = TRUE;
                     $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Confirm_code_wrong'];
                  }
                  else
                  {
                     $sql = 'DELETE FROM ' . CONFIRM_TABLE . "
                        WHERE confirm_id = '$confirm_id'
                           AND session_id = '" . $userdata['session_id'] . "'";
                     if (!$db->sql_query($sql))
                     {
                        message_die(GENERAL_ERROR, 'Could not delete confirmation code', __LINE__, __FILE__, $sql);
                     }
                  }
               }
               else
               {      
                  $error = TRUE;
                  $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Confirm_code_wrong'];
               }
               $db->sql_freeresult($result);
            }
         }

#
#-----[ FIND ]------------------------------------------
#

// Generate smilies listing for page output
generate_smilies('inline', PAGE_POSTING);

#
#-----[ BEFORE, ADD ]------------------------------------------
#

//
// Visual confirmation for guests
//
$confirm_image = '';
if( !$userdata['session_logged_in'] && (!empty($board_config['enable_confirm'])) )
{
   $sql = 'SELECT session_id
      FROM ' . SESSIONS_TABLE;
   if (!($result = $db->sql_query($sql)))
   {
      message_die(GENERAL_ERROR, 'Could not select session data', '', __LINE__, __FILE__, $sql);
   }
   
   if ($row = $db->sql_fetchrow($result))
   {
      $confirm_sql = '';
      do
      {
         $confirm_sql .= (($confirm_sql != '') ? ', ' : '') . "'" . $row['session_id'] . "'";
      }
      while ($row = $db->sql_fetchrow($result));
   
      $sql = 'DELETE FROM ' .  CONFIRM_TABLE . "
         WHERE session_id NOT IN ($confirm_sql)";
      if (!$db->sql_query($sql))
      {
         message_die(GENERAL_ERROR, 'Could not delete stale confirm data', '', __LINE__, __FILE__, $sql);
      }
   }
   $db->sql_freeresult($result);
   
   $confirm_chars = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',  'U', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9');
   
   list($usec, $sec) = explode(' ', microtime());
   mt_srand($sec * $usec);
   
   $max_chars = count($confirm_chars) - 1;
   $code = '';
   for ($i = 0; $i < 6; $i++)
   {
      $code .= $confirm_chars[mt_rand(0, $max_chars)];
   }
   
   $confirm_id = md5(uniqid($user_ip));
   
   $sql = 'INSERT INTO ' . CONFIRM_TABLE . " (confirm_id, session_id, code)
      VALUES ('$confirm_id', '". $userdata['session_id'] . "', '$code')";
   if (!$db->sql_query($sql))
   {
      message_die(GENERAL_ERROR, 'Could not insert new confirm code information', '', __LINE__, __FILE__, $sql);
   }
   
   unset($code);
   
   $confirm_image = (@extension_loaded('zlib')) ? '<img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id") . '" alt="" title="" />' : '<img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=1") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=2") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=3") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=4") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=5") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=6") . '" alt="" title="" />';
   $hidden_form_fields .= '<input type="hidden" name="confirm_id" value="' . $confirm_id . '" />';
   
   $template->assign_block_vars('switch_confirm', array());
}

#
#-----[ FIND ]------------------------------------------
#

   'SMILIES_STATUS' => $smilies_status,

#
#-----[ AFTER, ADD ]------------------------------------------
#

   'CONFIRM_IMG' => $confirm_image,
   
#
#-----[ FIND ]------------------------------------------
#

   'L_DELETE_POST' => $lang['Delete_post'],

#
#-----[ AFTER, ADD ]------------------------------------------
#

   'L_CONFIRM_CODE_IMPAIRED'   => sprintf($lang['Confirm_code_impaired'], '<a href="mailto:' . $board_config['board_email'] . '">', '</a>'),
   'L_CONFIRM_CODE' => $lang['Confirm_code'],
   'L_CONFIRM_CODE_EXPLAIN' => $lang['Confirm_code_explain'],

#
#-----[ OPEN ]------------------------------------------
#

templates/subSilver/posting_body.tpl

#
#-----[ FIND ]------------------------------------------
#

   {POLLBOX}

#
#-----[ AFTER, ADD ]------------------------------------------
#

   <!-- Visual Confirmation -->
   <!-- BEGIN switch_confirm -->
   <tr>
      <td class="row1" colspan="2" align="center"><span class="gensmall">{L_CONFIRM_CODE_IMPAIRED}</span><br /><br />{CONFIRM_IMG}<br /><br /></td>
   </tr>
   <tr>
     <td class="row1"><span class="gen">{L_CONFIRM_CODE}: * </span><br /><span class="gensmall">{L_CONFIRM_CODE_EXPLAIN}</span></td>
     <td class="row2"><input type="text" class="post" style="width: 200px" name="confirm_code" size="6" maxlength="6" value="" /></td>
   </tr>
   <!-- END switch_confirm -->

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM


hast du eine idee was ich daran ändern muss um hier auch die advanced version nutzen zu können?
www.niedermayr.cc - fun texte archiv
miccom
User
 
Beiträge: 34
Registriert: 15. Mär 2006 23:58
Wohnort: Hamburg

Beitragvon AmigaLink » 16. Mär 2006 12:40

So umfangreiche Codes bitte immer als Attachment anhängen!

Nimm den hier [- link wieder entfernt -], der Arbeitet unabhängig vom Visual Confirmation System und läuft z.B. auch hier im Board. :D
Nebenbei bemerkt könnte es sein das ich den Advanced Visual Confirmation irgendwann noch um diese Funktion erweitere. :)
Zuletzt geändert von AmigaLink am 22. Mär 2006 10:25, insgesamt 1-mal geändert.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon miccom » 16. Mär 2006 14:00

hmm, unabhängig heisst dann aber dass er ohne dem advanced visual confirmation von dir auskommt - ich hätte schon gerne überall die gleiche visual confirmation :)

wegen dem code: sry, ich dachte 1,5kb text wären kein problem weil hier ja so eine schöne codebox inkludiert ist.

/e alles retour, bei mir funktioniert die imagegenerierung scheinbar allg. nicht (mich wundert es dann nur, warum ich im acp ein image gesehen habe...)

/e2 vergiss den ganzen thread :D es funktioniert alles... auch mit den von mir oben geposteten code, er greift anstandslos auf dein advanced visual confirmation zu. vermutlich hatte ich ein paar troubles im browser-cache.

/e3 arghhh, es funktioniert sporadisch nicht?! kannst es ja gerne als gast hier testen, manchmal kommt das captcha, manchmal nicht:
http://frdr.niedermayr.cc/forum/viewforum.php?f=2
das betrifft auch den captcha bei der neuanmeldung:
http://www.niedermayr.cc/forum/profile. ... greed=true

hier meine gdlib infos:
GD Support enabled
GD Version bundled (2.0.15 compatible)
FreeType Support enabled
FreeType Linkage with freetype
T1Lib Support enabled
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

/e4 :D

ich habe bei den von dir beigefügten fonts das leerzeichen im namen entfernt und siehe da, das captcha ist nun immer da ;)
www.niedermayr.cc - fun texte archiv
miccom
User
 
Beiträge: 34
Registriert: 15. Mär 2006 23:58
Wohnort: Hamburg

Beitragvon AmigaLink » 16. Mär 2006 18:06

vergiss den ganzen thread :D es funktioniert alles... auch mit den von mir oben geposteten code, er greift anstandslos auf dein advanced visual confirmation zu. vermutlich hatte ich ein paar troubles im browser-cache.
Es hat mich ehrlich gesagt auch gewundert das der obige Code nicht Funktioniert! :)
Geh trotzdem mal hin und ändere diese Codezeile (in der posting.php)
Code: Alles auswählen
   $confirm_image = (@extension_loaded('zlib')) ? '<img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id") . '" alt="" title="" />' : '<img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=1") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=2") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=3") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=4") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=5") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=6") . '" alt="" title="" />';
genauso ab. Wie die, die vom Advanced Visual Confirmation in der usercp_register.php geändert wird.

ich habe bei den von dir beigefügten fonts das leerzeichen im namen entfernt und siehe da, das captcha ist nun immer da ;)
Den Tipp wollte ich dir gerade geben! :D
Zuletzt geändert von AmigaLink am 17. Mär 2006 18:44, insgesamt 1-mal geändert.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon miccom » 16. Mär 2006 18:37

danke :)
www.niedermayr.cc - fun texte archiv
miccom
User
 
Beiträge: 34
Registriert: 15. Mär 2006 23:58
Wohnort: Hamburg

Nur mal zur allgemeinen Info:

Beitragvon AmigaLink » 17. Mär 2006 18:43

Der "Visual Confirmation for Guests MOD", den du (miccom) oben gepostet hast, ist nun auch hier Installiert und Arbeitet wirklich einwandfrei mit meinem "Advanced Visual Confirmation MOD" zusammen! 8)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon volker » 3. Apr 2006 07:57

kann ich nur bestätigen, geht auch in der dimension vom feinsten, danke
volker
User
 
Beiträge: 65
Registriert: 13. Dez 2004 16:43

Beitragvon shadowrider » 25. Jun 2006 09:12

ich kann diesen 'Visual Confirmation for Guests 1.0.1' einfach nirgends finden - kann mir bitte jemand eine Quelle nennen?

ein Einbau in den genialen 'Advanced Visual Confirmation MOD' wäre übrigens Klasse, so dass der Funktionsteil praktisch nur noch einmal existiert und die gleiche Funktion per ACP für Gast-Postings ein- oder ausgeschaltet werden kann
shadowrider
 
Beiträge: 5
Registriert: 13. Aug 2005 15:06

Beitragvon AmigaLink » 25. Jun 2006 11:53

ich kann diesen 'Visual Confirmation for Guests 1.0.1' einfach nirgends finden - kann mir bitte jemand eine Quelle nennen?
Schau dir mal Beitrag #1 genauer an. :roll:

ein Einbau in den genialen 'Advanced Visual Confirmation MOD' wäre übrigens Klasse, so dass der Funktionsteil praktisch nur noch einmal existiert
Warum sollte ich etwas (das nicht jeder haben möchte) in meinen MOD einbauen, wenn es bereits einen MOD gibt der hervorragend mit dem AVC zusammen arbeitet?
Und der Funktionsteil (die usercp_confirm.php) existiert nur einmal. :P
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon shadowrider » 25. Jun 2006 13:53

Schau dir mal Beitrag #1 genauer an.

ich war vermutlich zu lang in der Sonne......:x

Warum sollte ich etwas (das nicht jeder haben möchte) in meinen MOD einbauen, wenn es bereits einen MOD gibt der hervorragend mit dem AVC zusammen arbeitet?
Und der Funktionsteil (die usercp_confirm.php) existiert nur einmal.

na Klasse, ist ja genau so wie ich es mir vorgestellt habe

ist eingebaut und funktioniert - eine Frage bleibt noch: was könnte die Ursache sein, dass das Code-Bild auf meinem lokalen Testboard nicht angezeigt wird? (EasyPHP 1.8.0.1)
shadowrider
 
Beiträge: 5
Registriert: 13. Aug 2005 15:06

Nächste

Zurück zu Advanced Visual Confirmation



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron