pas de captcha simple pour la connexion
This commit is contained in:
parent
bf0ee708d3
commit
0e10cb2f55
|
@ -17,7 +17,7 @@ $text['core_config_view']['bodyheadscript'][2] = 'Script in body';
|
|||
$text['core_config_view']['connect'][0] = 'Login security';
|
||||
$text['core_config_view']['connect'][1] = 'Captcha at login';
|
||||
$text['core_config_view']['connect'][2] = 'Complex captcha';
|
||||
$text['core_config_view']['connect'][3] = 'With this option if you are recognised as human a very simplified captcha will be displayed. This applies to all captchas on the site.';
|
||||
$text['core_config_view']['connect'][3] = 'With this option a behavioral captcha will be used. This applies to all captchas on the site except the login one.';
|
||||
$text['core_config_view']['connect'][4] = 'Captcha type';
|
||||
$text['core_config_view']['connect'][5] = 'Automatic logout';
|
||||
$text['core_config_view']['connect'][6] = 'Disconnects previously opened sessions on other browsers or terminals. Activation recommended.';
|
||||
|
|
|
@ -17,7 +17,7 @@ $text['core_config_view']['bodyheadscript'][2] = 'Script en body';
|
|||
$text['core_config_view']['connect'][0] = 'Seguridad de conexión';
|
||||
$text['core_config_view']['connect'][1] = 'Captcha en conexión';
|
||||
$text['core_config_view']['connect'][2] = 'Captcha complejo';
|
||||
$text['core_config_view']['connect'][3] = 'Con esta opción, si se le reconoce como humano, se mostrará un captcha muy simplificado. Esto se aplica a todos los captchas del sitio.';
|
||||
$text['core_config_view']['connect'][3] = 'Con esta opción se utilizará un captcha de comportamiento. Esto se aplica a todos los captchas del sitio excepto al de inicio de sesión.';
|
||||
$text['core_config_view']['connect'][4] = 'Tipo de captcha';
|
||||
$text['core_config_view']['connect'][5] = 'Desconexión automática';
|
||||
$text['core_config_view']['connect'][6] = 'Desconecta sesiones previamente abiertas en otros navegadores o terminales. Activación recomendada.';
|
||||
|
|
|
@ -17,7 +17,7 @@ $text['core_config_view']['bodyheadscript'][2] = 'Script dans body';
|
|||
$text['core_config_view']['connect'][0] = 'Sécurité de la connexion';
|
||||
$text['core_config_view']['connect'][1] = 'Captcha à la connexion';
|
||||
$text['core_config_view']['connect'][2] = 'Captcha complexe';
|
||||
$text['core_config_view']['connect'][3] = 'Avec cette option, si vous êtes reconnu comme humain, un captcha très simplifié sera affiché. Ceci s\'applique à tous les captchas du site.';
|
||||
$text['core_config_view']['connect'][3] = 'Avec cette option un captcha comportemental sera utilisé. Ceci s\'applique à tous les captchas du site sauf à celui de connexion.';
|
||||
$text['core_config_view']['connect'][4] = 'Type de captcha';
|
||||
$text['core_config_view']['connect'][5] = 'Déconnexion automatique';
|
||||
$text['core_config_view']['connect'][6] = 'Déconnecte les sessions ouvertes précédemment sur d\'autres navigateurs ou terminaux. Activation recommandée.';
|
||||
|
|
|
@ -455,30 +455,7 @@ class user extends common {
|
|||
if( $this->getData(['config','connect','captcha']) ){
|
||||
$code ='';
|
||||
if( isset( $_REQUEST['codeCaptcha'])) $code = strtoupper($_REQUEST['codeCaptcha']);
|
||||
// option de détection de robot en premier cochée et $_SESSION['humanBot']==='human'
|
||||
if( $_SESSION['humanBot']==='human' && $this->getData(['config', 'connect', 'captchaBot'])=== true ) {
|
||||
// Présence des cookies et checkbox cochée ?
|
||||
$detectBot ='bot';
|
||||
$captcha = false;
|
||||
if ( isset ($_COOKIE['evtX']) && isset ($_COOKIE['evtO']) && isset ($_COOKIE['evtV']) && isset ($_COOKIE['evtA'])
|
||||
&& isset ($_COOKIE['evtH']) && isset ($_COOKIE['evtS']) && $this->getInput('userHumanCheck', helper::FILTER_BOOLEAN) === true ) {
|
||||
// Calcul des intervals de temps
|
||||
$time1 = 0;
|
||||
if( isset ($_COOKIE['evtC'])) $time1 = $_COOKIE['evtC'] - $_COOKIE['evtO']; // temps entre fin de saisie et ouverture de la page
|
||||
$time2 = $_COOKIE['evtH'] - $_COOKIE['evtO']; // temps entre click checkbox et ouverture de la page
|
||||
$time3 = $_COOKIE['evtV'] - $_COOKIE['evtH']; // temps entre validation formulaire et click checkbox
|
||||
$time4 = $_COOKIE['evtS'] - $_COOKIE['evtA']; // temps passé sur la checkbox
|
||||
if( ( $time1 >= 1000 || ( isset ($_COOKIE['evtX']) && !isset ($_COOKIE['evtC']) ) ) && $time2 >= 1000
|
||||
&& $time3 >=300 && $time4 >=300 && $this->getInput('userInputBlue')==='' ) {
|
||||
$detectBot = 'human';
|
||||
$captcha = true;
|
||||
}
|
||||
}
|
||||
// Bot présumé
|
||||
if( $detectBot === 'bot') $_SESSION['humanBot']='bot';
|
||||
}
|
||||
// $_SESSION['humanBot']==='bot' ou option 'Pas de Captcha pour un humain' non validée
|
||||
elseif( md5($code) !== $_SESSION['captcha'] ) {
|
||||
if( md5($code) !== $_SESSION['captcha'] ) {
|
||||
$captcha = false;
|
||||
} else {
|
||||
$captcha = true;
|
||||
|
|
|
@ -10,54 +10,6 @@ $(".delta-ico-eye").mouseleave(function() {
|
|||
$("#userLoginPassword").attr("type","password");
|
||||
});
|
||||
|
||||
/* Création et mise à jour du cookie sur modification d'un input */
|
||||
$( ".humanBot" ).mouseleave(function() {
|
||||
const d = new Date();
|
||||
time = d.getTime();
|
||||
document.cookie = "evtC = " + time + ";SameSite=Strict";
|
||||
});
|
||||
|
||||
/* Cookie supplémentaire pour autoremplissage des champs */
|
||||
$( ".humanBot" ).change(function() {
|
||||
const d = new Date();
|
||||
time = d.getTime();
|
||||
document.cookie = "evtX = " + time + ";SameSite=Strict";
|
||||
});
|
||||
|
||||
/* Création d'un cookie à l'ouverture de la page formulaire*/
|
||||
$(document).ready(function(){
|
||||
const d = new Date();
|
||||
time = d.getTime();
|
||||
document.cookie = "evtO = " + time + ";SameSite=Strict";
|
||||
});
|
||||
|
||||
/* Création d'un cookie à la validation de la checkbox 'je ne suis pas un robot'*/
|
||||
$( ".humanCheck" ).click(function() {
|
||||
const d = new Date();
|
||||
time = d.getTime();
|
||||
document.cookie = "evtH = " + time + ";SameSite=Strict";
|
||||
});
|
||||
|
||||
/* Création d'un cookie quand on arrive sur la checkbox 'je ne suis pas un robot' */
|
||||
$( ".humanCheck" ).mouseenter(function() {
|
||||
const d = new Date();
|
||||
time = d.getTime();
|
||||
document.cookie = "evtA = " + time + ";SameSite=Strict";
|
||||
});
|
||||
|
||||
/* Création d'un cookie quand on quitte la checkbox 'je ne suis pas un robot' */
|
||||
$( ".humanCheck" ).mouseleave(function() {
|
||||
const d = new Date();
|
||||
time = d.getTime();
|
||||
document.cookie = "evtS = " + time + ";SameSite=Strict";
|
||||
});
|
||||
|
||||
/* Création d'un cookie à la validation du formulaire */
|
||||
$( ".humanBotClose" ).click(function() {
|
||||
const d = new Date();
|
||||
time = d.getTime();
|
||||
document.cookie = "evtV = " + time + ";SameSite=Strict";
|
||||
});
|
||||
|
||||
/* Affecter la couleur de bordure des blocs ou du fond à la class formOuter */
|
||||
$(document).ready(function(){
|
||||
|
|
|
@ -24,31 +24,12 @@ echo template::formOpen('userLoginForm');
|
|||
</div>
|
||||
</div>
|
||||
<?php if ($this->getData(['config', 'connect','captcha'])){ ?>
|
||||
<?php if( ($_SESSION['humanBot']==='bot') || $this->getData(['config', 'connect', 'captchaBot'])=== false ) { ?>
|
||||
<div class="row">
|
||||
<div class="col12 textAlignCenter">
|
||||
<?php echo template::captcha('userLoginCaptcha', ''); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php } else { ?>
|
||||
<div class="userCheckBlue">
|
||||
<?php echo template::text('userInputBlue', [
|
||||
'label' => 'Input Blue',
|
||||
'value' => ''
|
||||
]); ?>
|
||||
</div>
|
||||
<br>
|
||||
<div class="userOuter">
|
||||
<div class="userInner humanCheck">
|
||||
<?php echo template::checkbox('userHumanCheck', true, $this->getData(['locale', 'captchaSimpleText']), [
|
||||
'checked' => false,
|
||||
'help' => $this->getData(['locale', 'captchaSimpleHelp']),
|
||||
'required' => true
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<?php } } ?>
|
||||
<?php } ?>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php echo template::checkbox('userLoginLongTime', true, $text['core_user_view']['login'][4], [
|
||||
|
|
Loading…
Reference in New Issue