Compare commits

...

7 Commits

5 changed files with 122 additions and 18 deletions

View File

@ -19,7 +19,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
### Security
## 2.0.8 - 08 September 2023
- add check for Amazon Pay - no Captcha
## 2.0.7 - 08 September 2023
- add check for PayPal Checkout - no Captcha
## 2.0.6 - 18 Juli 2023
- don't request captcha if user is logged in
## [2.0.4] - 22 Oct 2021

View File

@ -30,6 +30,25 @@ class oeUserComponent extends oeUserComponent_parent
public function createUser()
{
/* START check for Amazon Pay - no Captcha */
ob_start();
debug_print_backtrace();
$trace = ob_get_contents();
ob_end_clean();
if(str_contains($trace, 'initAmazonPayExpress'))
{
return parent::createUser();
}
/* END check for Amazon Pay - no Captcha /
/* START check for PayPal Checkout - no Captcha */
if(\OxidEsales\Eshop\Core\Registry::getConfig()->getRequestParameter('fnc') == 'approveOrder')
{
return parent::createUser();
}
/* START check for PayPal Checkout - no Captcha */
if (!$this->getCaptcha()->passCaptcha()) {
return false;
}

View File

@ -1,3 +1,5 @@
[{$smarty.block.parent}]
[{include file="oecaptcha_wave.tpl" labelCssClass="col-lg-3" inputCssClass="col-lg-5"}]
[{if !$oxcmp_user}]
[{include file="oecaptcha_wave.tpl" labelCssClass="col-lg-3" inputCssClass="col-lg-5"}]
[{/if}]

View File

@ -0,0 +1,29 @@
<?php
/**
* #PHPHEADER_OECAPTCHA_LICENSE_INFORMATION#
*/
class oecaptchaaccountuser extends oecaptchaaccountuser_parent
{
/**
* Class handling CAPTCHA image.
*
* @var object
*/
protected $captcha = null;
/**
* Template variable getter. Returns object of handling CAPTCHA image
*
* @return object
*/
public function getCaptcha()
{
if ( $this->captcha === null ) {
$this->captcha = oxNew( 'oeCaptcha' );
}
return $this->captcha;
}
}

View File

@ -17,6 +17,10 @@
/**
* Metadata version
*/
use OxidEsales\Eshop\Application\Component\UserComponent;
use OxidEsales\Eshop\Application\Controller\AccountUserController;
$sMetadataVersion = '1.1';
/**
@ -33,7 +37,7 @@ $aModule = array(
'en' => 'OXID eSales Simple Captcha Module',
),
'thumbnail' => 'out/pictures/picture.png',
'version' => '2.0.5',
'version' => '2.0.8',
'author' => 'OXID eSales AG',
'url' => 'https://www.oxid-esales.com/',
'email' => '',
@ -45,9 +49,10 @@ $aModule = array(
'pricealarm' => 'oe/captcha/controllers/oecaptchapricealarm',
'suggest' => 'oe/captcha/controllers/oecaptchasuggest',
'oxwarticledetails' => 'oe/captcha/application/component/widget/oecaptchawarticledetails',
\OxidEsales\Eshop\Application\Component\UserComponent::class => 'oe/captcha/application/component/oeusercomponent',
UserComponent::class => 'oe/captcha/application/component/oeusercomponent',
'register' => 'oe/captcha/controllers/oecaptcharegister',
'user' => 'oe/captcha/controllers/oecaptchauser'
'user' => 'oe/captcha/controllers/oecaptchauser',
AccountUserController::class => 'oe/captcha/controllers/oecaptchaaccountuser'
),
'files' => array(
'oecaptcha' => 'oe/captcha/core/oecaptcha.php',
@ -58,21 +63,63 @@ $aModule = array(
'oecaptcha_wave.tpl' => 'oe/captcha/application/views/tpl/oecaptcha_wave.tpl',
),
'blocks' => array(
array('template' => 'form/contact.tpl', 'block'=>'captcha_form', 'theme' => 'flow', 'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/newsletter.tpl', 'block'=>'captcha_form', 'theme' => 'flow', 'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/privatesales/invite.tpl', 'theme' => 'flow', 'block'=>'captcha_form', 'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/pricealarm.tpl', 'block'=>'captcha_form', 'theme' => 'flow', 'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/suggest.tpl', 'block'=>'captcha_form', 'theme' => 'flow', 'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/forgotpwd_email.tpl', 'block'=>'captcha_form', 'theme' => 'flow', 'file'=>'/application/views/blocks/captcha_form_forgotpwd.tpl'),
array('template' => 'form/fieldset/user_billing.tpl', 'block'=>'captcha_form', 'theme' => 'flow', 'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/contact.tpl',
'block'=>'captcha_form',
'theme' => 'flow',
'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/newsletter.tpl',
'block'=>'captcha_form',
'theme' => 'flow',
'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/privatesales/invite.tpl',
'theme' => 'flow',
'block'=>'captcha_form',
'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/pricealarm.tpl',
'block'=>'captcha_form',
'theme' => 'flow',
'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/suggest.tpl',
'block'=>'captcha_form',
'theme' => 'flow',
'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/forgotpwd_email.tpl',
'block'=>'captcha_form',
'theme' => 'flow',
'file'=>'/application/views/blocks/captcha_form_forgotpwd.tpl'),
array('template' => 'form/fieldset/user_billing.tpl',
'block'=>'captcha_form',
'theme' => 'flow',
'file'=>'/application/views/blocks/captcha_form.tpl'),
array('template' => 'form/contact.tpl', 'block'=>'captcha_form', 'theme' => 'wave', 'file'=>'/application/views/blocks/captcha_form_contact_wave.tpl'),
array('template' => 'form/newsletter.tpl', 'block'=>'captcha_form', 'theme' => 'wave', 'file'=>'/application/views/blocks/captcha_form_newsletter_wave.tpl'),
array('template' => 'form/privatesales/invite.tpl', 'theme' => 'wave', 'block'=>'captcha_form', 'file'=>'/application/views/blocks/captcha_form_wave.tpl'),
array('template' => 'form/pricealarm.tpl', 'block'=>'captcha_form', 'theme' => 'wave', 'file'=>'/application/views/blocks/captcha_form_wave.tpl'),
array('template' => 'form/suggest.tpl', 'block'=>'captcha_form', 'theme' => 'wave', 'file'=>'/application/views/blocks/captcha_form_wave.tpl'),
array('template' => 'form/forgotpwd_email.tpl', 'block'=>'captcha_form', 'theme' => 'wave', 'file'=>'/application/views/blocks/captcha_form_forgotpwd_wave.tpl'),
array('template' => 'form/fieldset/user_billing.tpl', 'block'=>'captcha_form', 'theme' => 'wave', 'file'=>'/application/views/blocks/captcha_form_user_billing_wave.tpl'),
array('template' => 'form/contact.tpl',
'block'=>'captcha_form',
'theme' => 'wave',
'file'=>'/application/views/blocks/captcha_form_contact_wave.tpl'),
array('template' => 'form/newsletter.tpl',
'block'=>'captcha_form',
'theme' => 'wave',
'file'=>'/application/views/blocks/captcha_form_newsletter_wave.tpl'),
array('template' => 'form/privatesales/invite.tpl',
'theme' => 'wave',
'block'=>'captcha_form',
'file'=>'/application/views/blocks/captcha_form_wave.tpl'),
array('template' => 'form/pricealarm.tpl',
'block'=>'captcha_form',
'theme' => 'wave',
'file'=>'/application/views/blocks/captcha_form_wave.tpl'),
array('template' => 'form/suggest.tpl',
'block'=>'captcha_form',
'theme' => 'wave',
'file'=>'/application/views/blocks/captcha_form_wave.tpl'),
array('template' => 'form/forgotpwd_email.tpl',
'block'=>'captcha_form',
'theme' => 'wave',
'file'=>'/application/views/blocks/captcha_form_forgotpwd_wave.tpl'),
array('template' => 'form/fieldset/user_billing.tpl',
'block'=>'captcha_form',
'theme' => 'wave',
'file'=>'/application/views/blocks/captcha_form_user_billing_wave.tpl'),
),
'settings' => array(
array('group' => 'main', 'name' => 'oecaptchakey', 'type' => 'str', 'value' => ''),