THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline

#26 Re: Hack ou Spam ?

(01-02-2021 14:50:29)


Bonjour à tous,

J'ai aussi ce problème de spam "thelia.contact.submit" avec la version 2.4.3.

La solution la plus radicale pour s'en débarrasser ne serait-elle pas de supprimer le formulaire qui se trouve dans le template Contact.html du front Office personnel ?
Je veux dire le formulaire qui se trouve juste en dessous de la maps.google.

Qu'en pensez-vous ?

PS. Je confirme qu'en supprimant le formulaire de la page Contact qui se trouve dans le template Contact.html du front Office personnel, je ne reçois plus aucun message de  spam "thelia.contact.submit". D'aillleurs, dans ma boutique, ce formulaire n'était jamais utilisé par les clients ou les visiteurs mais seulement par les robots des spammeurs.

Bien cordialement,

TS

Last edited by tsabot (03-02-2021 11:12:17)


TS Editions Thisa

Offline

#27 Re: Hack ou Spam ?

(10-02-2021 11:42:34)


Bonjour à tous,

Même problème pour moi sur une installation propre de Thelia 2.4.3 : ReCaptcha n'aide pas, toujours des spams reçus par le client (exemple ci-dessous)

Sujet :	QGWG91V705W6KX9WXF www.google.com
Date :	Wed, 10 Feb 2021 05:54:01 +0100
De :	thelia.contact.submit <adresse email du magasin>
Répondre à :	thelia.contact.submit <nastyushka.sergeeva.80@bk.ru>
Pour :	Nom du magasin du client <adresse email du magasin>
QGWG91V705W6KX9WXF How to get to you ? I need to get a consultation www.google.com

Y aurait-il une solution moins radicale que de supprimer le formulaire de contact ?
Changer de route éventuellement ?

Offline

#28 Re: Hack ou Spam ?

(10-02-2021 14:09:53)


Il me semble qu'il y a un problème avec le module ReCaptcha, il faudrait vérifier son bon fonctionnement.


OpenStudio Toulouse

Offline

#29 Re: Hack ou Spam ?

(11-02-2021 09:17:21)


Donc si je résume, en attendant qu'une âme charitable se penche sur ce problème (qui semble ne concerner que des Thelia 2.4.3), la meilleure solution reste d'utiliser un SMTP externe, c'est ça ?

Offline

#30 Re: Hack ou Spam ?

(11-02-2021 17:12:12)


Tu peux essayer de changer de route, mais j'ai peu d'espoir que ça marche.

Une autre solution serait de modifier la gestion du formulaire de contact pour y ajouter un "pot de miel", voilà le principe de cette technique : https://nouvelle-techno.fr/actualites/u … ot-de-miel

Ce n'est pas efficace à 100%, mais ça met en échec pas mal de robots.

Une base pour construire ce formulaire de contact modifié : https://github.com/roadster31/BetterContact


OpenStudio Toulouse

Offline

#31 Re: Hack ou Spam ?

(16-02-2021 15:34:56)


Bonjour à tous

Donc si on veux rajouter un champ raison à contact
champ obligatoire "required">*</span> " faut enlever le * ?

"""""""""""""""""""""""""
{form_field field="raison"}
                            <div class="form-group group-raison{if $error} has-error{/if}">
                                <label class="control-label" for="{$label_attr.for}">{$label}{if $required} <span class="required">*</span>{/if}</label>
                                <div class="control-input">
                                    <input type="text" name="{$name}" id="{$label_attr.for}" class="form-control" maxlength="255" placeholder="{intl l="Placeholder contact raison"}" value="{$value}" {if $required} aria-required="true" required{/if}{if !isset($error_focus) && $error} autofocus{/if}>
                                    {if $error}
                                        <span class="help-block">{$message}</span>
                                        {assign var="error_focus" value="true"}
                                    {/if}
                                </div>
                            </div><!--/.form-group-->
                        {/form_field}
""""""""""""""""""
Comment le rendre invisible ?
pour le champ "input type" faut'il enlever " class="form-control" " ?


Toujours en forme,
La différence entre le possible et l’impossible, c’est la volonté, et le  temps ...
Oui mais... ça c'est avec la meilleure volonté du Monde,
Et elle est, des fois, difficile à tenir... Thelia 2.4.4

Offline

#32 Re: Hack ou Spam ?

(16-02-2021 16:50:56)


Corrigez-moi si je me trompe...


chris22 wrote:

Donc si on veux rajouter un champ raison à contact
champ obligatoire "required">*</span> " faut enlever le * ?

Dans la méthode buildForm qui correspond à ton formulaire, il faut le déclarer comme "required", comme par exemple :

        $this->formBuilder
            ->add("raison","text", [
                "label_attr" => ["for" => "attr-raison"],
                "required" => true,
                "constraints" => [new Constraints\NotBlank()]
            ]);


chris22 wrote:

Comment le rendre invisible ?

Il suffit que dans ta page HTML, le champ soit un input de type="hidden" et pas "text"

Offline

#33 Re: Hack ou Spam ?

(16-02-2021 18:22:16)


comme ceci ?
"""""""""""""""""""""""""""""""""""""""""""""
{form_field field="raison"}
                            <div class="form-group group-raison{if $error} has-error{/if}">
                                <label class="control-label" for="{$label_attr.for}">{$label}{if $required} <span class="required"=> true></span>{/if}</label>
                                <div class="control-input">
                                    <input type="hidden" name="{$name}" id="{$label_attr.for}" class="form-control" maxlength="255" placeholder="{intl l="Placeholder contact raison"}" value="{$value}" {if $required} aria-required="true" required{/if}{if !isset($error_focus) && $error} autofocus{/if}>
                                    {if $error}
                                        <span class="help-block">{$message}</span>
                                        {assign var="error_focus" value="true"}
                                    {/if}
                                </div>
                            </div><!--/.form-group-->
                        {/form_field}
"""""""""""""""""""""""""""""""""""""""""""""""""

Last edited by chris22 (16-02-2021 18:26:06)


Toujours en forme,
La différence entre le possible et l’impossible, c’est la volonté, et le  temps ...
Oui mais... ça c'est avec la meilleure volonté du Monde,
Et elle est, des fois, difficile à tenir... Thelia 2.4.4

Offline

#34 Re: Hack ou Spam ?

(16-02-2021 18:26:32)


Etant donné que le champ sera masqué, cette multitude d'attributs (maxlength, placeholder, ...) me paraissent superflus.
Mais sinon c'est l'idée...

Offline

#35 Re: Hack ou Spam ?

(16-02-2021 18:50:28)


Mais cela ne fonctionne pas "erreur "


Toujours en forme,
La différence entre le possible et l’impossible, c’est la volonté, et le  temps ...
Oui mais... ça c'est avec la meilleure volonté du Monde,
Et elle est, des fois, difficile à tenir... Thelia 2.4.4

Offline

#36 Re: Hack ou Spam ?

(17-02-2021 10:15:20)


"erreur "

C'est vague comme rapport de problème.

Il se passe quoi exactement ?


OpenStudio Toulouse

Offline

#37 Re: Hack ou Spam ?

(17-02-2021 11:35:30)


Bonjour Franck
le formulaire ne s'affiche pas il y a ecris erreur
"""""""""""
Une erreur est survenue
Nous sommes désolés mais une erreur est survenue. Veuillez contacter l'administrateur

""""""""""""""
Ceci est il bien  ?

<span class="required"=> true>

Last edited by chris22 (17-02-2021 11:49:54)


Toujours en forme,
La différence entre le possible et l’impossible, c’est la volonté, et le  temps ...
Oui mais... ça c'est avec la meilleure volonté du Monde,
Et elle est, des fois, difficile à tenir... Thelia 2.4.4

Offline

#38 Re: Hack ou Spam ?

(17-02-2021 12:07:51)


Ce n'est pas suffisant. Passe en mode développement, et dis nous l'erreur qui est affichée.


OpenStudio Toulouse

Offline

#39 Re: Hack ou Spam ?

(17-02-2021 14:30:40)


Whoops, looks like something went wrong.
1/1
InvalidArgumentException in Form.php line 700:
Field name 'raison' not found in form thelia_contact
in Form.php line 700
at Form->retrieveField('raison', object(FormView), 'thelia_contact') in Form.php line 594
at Form->getFormFieldView(array('field' => 'raison')) in Form.php line 302
at Form->processFormField(array('field' => 'raison'), object(Smarty_Internal_Template)) in Form.php line 357
at Form->renderFormField(array('field' => 'raison'), null, object(Smarty_Internal_Template), true) in 7bd9e3cf698d27256d9616c1f4411240e8fafce6_0.file.contact.html.php line 210
at Block_266053258602d195c5441b2_90384861->callBlock(object(Smarty_Internal_Template)) in smarty_internal_runtime_inheritance.php line 248
at Smarty_Internal_Runtime_Inheritance->callBlock(object(Block_266053258602d195c5441b2_90384861), object(Smarty_Internal_Template)) in smarty_internal_runtime_inheritance.php line 184
at Smarty_Internal_Runtime_Inheritance->process(object(Smarty_Internal_Template), object(Block_266053258602d195c5441b2_90384861)) in smarty_internal_runtime_inheritance.php line 156
at Smarty_Internal_Runtime_Inheritance->instanceBlock(object(Smarty_Internal_Template), 'Block_266053258602d195c5441b2_90384861', 'contact-form', '0') in 7bd9e3cf698d27256d9616c1f4411240e8fafce6_0.file.contact.html.php line 358
at Block_1253035367602d195c525804_11120497->callBlock(object(Smarty_Internal_Template)) in smarty_internal_runtime_inheritance.php line 248
at Smarty_Internal_Runtime_Inheritance->callBlock(object(Block_1253035367602d195c525804_11120497), object(Smarty_Internal_Template)) in smarty_internal_runtime_inheritance.php line 184
at Smarty_Internal_Runtime_Inheritance->process(object(Smarty_Internal_Template), object(Block_1253035367602d195c525804_11120497), object(Block_1887363796602d18c533a843_80039544)) in smarty_internal_runtime_inheritance.php line 186
at Smarty_Internal_Runtime_Inheritance->process(object(Smarty_Internal_Template), object(Block_1887363796602d18c533a843_80039544)) in smarty_internal_runtime_inheritance.php line 156
at Smarty_Internal_Runtime_Inheritance->instanceBlock(object(Smarty_Internal_Template), 'Block_1887363796602d18c533a843_80039544', 'main-content') in 22c34f97a9145170d209312d3bd6adaddad91ea1_0.file.layout.tpl.php line 313
at content_602d18c53631a8_94910432(object(Smarty_Internal_Template)) in smarty_template_resource_base.php line 123
at Smarty_Template_Resource_Base->getRenderedTemplateCode(object(Smarty_Internal_Template)) in smarty_template_compiled.php line 114
at Smarty_Template_Compiled->render(object(Smarty_Internal_Template)) in smarty_internal_template.php line 216
at Smarty_Internal_Template->render() in smarty_internal_template.php line 385
at Smarty_Internal_Template->_subTemplateRender('layout.tpl', null, null, '0', '3600', array(), '2', false, null, null) in smarty_internal_runtime_inheritance.php line 125
at Smarty_Internal_Runtime_Inheritance->endChild(object(Smarty_Internal_Template), 'layout.tpl') in 7bd9e3cf698d27256d9616c1f4411240e8fafce6_0.file.contact.html.php line 53
at content_602d195c57bae1_88427133(object(Smarty_Internal_Template)) in smarty_template_resource_base.php line 123
at Smarty_Template_Resource_Base->getRenderedTemplateCode(object(Smarty_Internal_Template)) in smarty_template_compiled.php line 114
at Smarty_Template_Compiled->render(object(Smarty_Internal_Template)) in smarty_internal_template.php line 216
at Smarty_Internal_Template->render(false, '0') in smarty_internal_templatebase.php line 232
at Smarty_Internal_TemplateBase->_execute(object(Smarty_Internal_Template), null, null, null, '0') in smarty_internal_templatebase.php line 116
at Smarty_Internal_TemplateBase->fetch('file:contact.html') in SmartyParser.php line 503
at SmartyParser->internalRenderer('file', 'contact.html', array('locale' => 'fr_FR', 'lang_code' => 'fr', 'lang_id' => '1', 'current_url' => 'http://ordinaires.fr/index_dev.php/contact', 'app' => object(stdClass)), true) in SmartyParser.php line 529
at SmartyParser->render('contact.html') in ViewListener.php line 78
at ViewListener->onKernelView(object(GetResponseForControllerResultEvent), 'kernel.view', object(ContainerAwareEventDispatcher)) in EventDispatcher.php line 184
at EventDispatcher->doDispatch(array(array(object(ViewListener), 'beforeKernelView'), array(object(ViewListener), 'onKernelView')), 'kernel.view', object(GetResponseForControllerResultEvent)) in EventDispatcher.php line 46
at EventDispatcher->dispatch('kernel.view', object(GetResponseForControllerResultEvent)) in HttpKernel.php line 140
at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 57
at HttpKernel->handle(object(Request), '1', true) in TheliaHttpKernel.php line 76
at TheliaHttpKernel->handle(object(Request), '1', true) in ParamInitMiddleware.php line 87
at ParamInitMiddleware->handle(object(Request), '1', true) in SessionMiddleware.php line 80
at SessionMiddleware->handle(object(Request), '1', true) in StackedHttpKernel.php line 23
at StackedHttpKernel->handle(object(Request), '1', true) in Kernel.php line 183
at Kernel->handle(object(Request)) in index_dev.php line 45

Last edited by chris22 (17-02-2021 14:33:39)


Toujours en forme,
La différence entre le possible et l’impossible, c’est la volonté, et le  temps ...
Oui mais... ça c'est avec la meilleure volonté du Monde,
Et elle est, des fois, difficile à tenir... Thelia 2.4.4

Offline

#40 Re: Hack ou Spam ?

(17-02-2021 14:33:30)


As-tu rajouté ce type de code dans ton formBuilder ?

        $this->formBuilder
            ->add("raison","text", [
                "label_attr" => ["for" => "attr-raison"],
                "required" => true,
                "constraints" => [new Constraints\NotBlank()]
            ])
          :
          :

Offline

#41 Re: Hack ou Spam ?

(17-02-2021 14:37:25)


non, ou trouve tu formBuilder s'il te plait ?


Toujours en forme,
La différence entre le possible et l’impossible, c’est la volonté, et le  temps ...
Oui mais... ça c'est avec la meilleure volonté du Monde,
Et elle est, des fois, difficile à tenir... Thelia 2.4.4

Offline

#42 Re: Hack ou Spam ?

(17-02-2021 22:13:02)


Pour ajouter un champ à une form, il faut :

1) Ajouter la définition du champ à la classe qui définit le formulaire
2) Ajouter le champ dans le template {form_field field="raison"} ... {/form_field} où se trouve le formulaire HTML
3) Modifier le contrôleur qui traite le formulaire pour qu'il prenne en compte ce nouveau champ.

Toi, tu n'as fait que 2), c'est donc normal que tu reçoive une erreur "Field name 'raison' not found in form thelia_contact"

La documentation des forms : http://doc.thelia.net/en/documentation/form/index.html


OpenStudio Toulouse

Offline

#43 Re: Hack ou Spam ?

(18-02-2021 11:54:31)


Merci Franck,
et merci à TRIUMPH31 aussi wink
je vais lire tout ceci,
Mais j'ai suivi les post plus haut... et me suis un peu perdu..
heureusement tu est la," comme toujours"  pour me remettre sur le bon chemin.

Last edited by chris22 (18-02-2021 11:54:57)


Toujours en forme,
La différence entre le possible et l’impossible, c’est la volonté, et le  temps ...
Oui mais... ça c'est avec la meilleure volonté du Monde,
Et elle est, des fois, difficile à tenir... Thelia 2.4.4