Antwort #69 am: 08. September 2020, 12:50:33
Da man ja im Backend das Captcha nur allgemein für beides,
create_account und
create_guest_account, aktivieren und deaktivieren kann, mußt du in der Tat in Code eingreifen.
Das geht aber auch updatesicher.
In der
/includes/extra/captcha7nr_captcha_dice.php setzt du ganz oben über diese Zeile
class nr_captcha_dice extends modified_captcha {
das
if(basename($PHP_SELF, '.php') == 'create_guest_account') { if(isset($use_captcha) && is_array($use_captcha)) { $cakey = array_search('create_account', $use_captcha); if($cakey !== false){ unset($use_captcha[$cakey]); } }} Bingo !
Nebenthema und Erklärung:
Das oben Erklärte geht übrigens nur deshalb wie beschrieben, weil in der
/create_guest_account.php dies
// include needed classes
require_once (DIR_WS_CLASSES.'modified_captcha.php');
$mod_captcha = $_mod_captcha_class::getInstance();
nicht so konditional eingebunden wird, um es nur bei Bedarf zu laden.
if(in_array('create_account', $use_captcha)) { // include needed classes require_once (DIR_WS_CLASSES
.'modified_captcha.php'); $mod_captcha = $_mod_captcha_class::getInstance();} Somit greift das auto_include aus
/includes/classes/modified_captcha.php.
Besser wäre es in der
/create_guest_account.php selbst (und analog dazu in der
/create_account.php) ein auto_include vor dem Include der Captcha-Klasse zu haben. Das wäre performanter, weil dann die Klasse nicht unnötig geladen würde wenn sie nicht benötigt wird.
Gruß,
noRiddle