THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline


Bonjour à tous,

je souhaiterais avoir des informations quant à la possibilité de sécuriser la partie commande (à partir de la création d'un compte ou du login) en passant par un certificat ssl et des adresse https. La raison est simple: ma boutique Thelia (2.2.5, avec paiement chèque et carte bleue ATOS SIPS vers sherlock LCL) n'a pas passé les security checks du Google Merchant Center, cf le mail indiquant:

"Policy violations to fix
Your Merchant Center account (xxx) is in violation of the following policies:
CHECKOUT UNSECURE (IRRESPONSIBLE DATA COLLECTION AND USE)

Unsafe collection or use of personal information
Google Shopping doesn’t allow the use of security measures inappropriate for the type of information being collected.
Examples: Collecting personal information: first and last name, mailing address, phone number, numbers for credit or debit cards, bank and investment accounts, wire transfers, national identity, login email and password, tax ID, pension, healthcare, driver’s license or social security numbers over an unsecured page which is not SSL protected and without a valid certificate."

En fait je vois que -juste avant de recevoir ce mail- quelqu'un de Google a passé une fausse commande ce matin (non-payée) afin de vérifier si les formulaires étaient sécurisés ou non.
Est ce que d'autres personnes ont déjà rencontrés ce problème et trouvé une solution?
Est ce que la solution "simpliste" de forcer le passage des adresses http en https via le htaccess est possible?
Merci d'avance pour votre aide

Jasposiris
Editions Esthetiques du Divers
www.esthetiques-du-divers.com

Offline


Bonjour

Pour le https, tu actives ton certificat aupres de ton hebergeur et toutes tes pages seront en https
Cela pose aucun souci, un de mes sites fonctionne ainsi

J'ai juste rajoute ces lignes dans le .htaccess du dossier web pour forcer le https

    
RewriteEngine On
   
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tonnondedomaine/$1 [R,L]

Last edited by zzuutt (22-08-2016 15:13:30)

Offline


Merci pour le conseil: j'ai utilisé cette technique et ai pu passer les test google.
A vrai dire je n'osais pas passer par cette solution, par peur que cela coince quelque part dans Thelia par la suite, mais cela ne semble poser aucun probleme.
Merci encore!

Jasposiris

Offline


Bon et bien il n'aura pas fallu longtemps pour que je tombe sur un problème:
Depuis que la redirection https est activée via le htaccess, il ne m'est plus possible de générer les factures ou les bons de livraisons: cela me redirige vers une page "Oops une erreur est survenue".
J'ai essayé -sans succès- de faire une redirection https pour tout sauf le dossier admin en ajoutant une condition au rewrite (RewriteCond %{REQUEST_URI} !/admin) mais sans succès...
As tu eu le même souci?
Merci pour ton aide

Jasposiris

Offline


Passe en mode développement pour avoir le texte exact de l'erreur.

http://thelia.net/forum/viewtopic.php?id=11787


OpenStudio Toulouse

Offline


Bonjour
merci pour la manip. J'ai activé le mode développement et voici le message d'erreur que j'obtiens en générant la facture (idem pour le bon de livraison avec erreur dans le "GenerateDeliveryPDF"

TheliaProcessException in BaseController.php line 286: Nous sommes désolé, cette facture n'est pas disponible pour le moment

    in BaseController.php line 286
    at BaseController->generateOrderPdf('60', 'invoice', true, true, '1') in OrderController.php line 230
    at OrderController->generateBackOfficeOrderPdf('60', 'invoice', '1') in OrderController.php line 217
    at OrderController->generateInvoicePdf('60', '1')
    at call_user_func_array(array(object(OrderController), 'generateInvoicePdf'), array('60', '1')) in HttpKernel.php line 117
    at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 61
    at HttpKernel->handle(object(Request), '1', true) in TheliaHttpKernel.php line 80
    at TheliaHttpKernel->handle(object(Request), '1', true) in ParamInitMiddleware.php line 83
    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 188
    at Kernel->handle(object(Request)) in index_dev.php line 37

Merci pour votre aide!

Jasposiris

Offline


Dans le fichier log/log-thelia.txt, il doit y avoir l'erreur originale, quelque chose comme "error during generating invoice pdf for order id ..."


OpenStudio Toulouse

Offline


J'ai checké les logs et il semble que l'erreur soit liée à l'appel vers le fichier image du logo que j'insère dans la facture:

64: ERROR [BaseController.php:generateOrderPdf()] {283} 2016-08-25 11:29:24: error during generating invoice pdf for order id : 60 with message "ERREUR n°6 : Impossible de charger l'image http://www.esthetiques-du-divers.com/media/logo_facture2.png"

Toutefois le fichier existe et est accessible via la barre d'adresse d'un navigateur. Peut être que j'ai fait cela un peu salement et qu'il vaudrait mieux mettre ce fichier image ailleurs?

Jasposiris

Offline


j'ai eu le meme problème sur mes facture de thelia 1 ( j'avais pas testé sur thelia 2), j'ai fini par mettre un texte a la place, en attendant thelia 2 %-)

Offline


Dans le code source des factures, utilise https, pas http.


OpenStudio Toulouse

Offline


Ok alors finalement j'ai résolu le problème en mettant l'adresse relative: " ./media/logo_facture2.png" au lieu de " http://www.esthetiques-du-divers.com/media/logo_facture2.png" car même le passage en https au lieu de http pour changer le logo générait la même erreur.
Merci encore pour votre aide.

Jasposiris

Offline


Ha OK, je comprends. Tu dois avoir allow_url_fopen=0 dans ton php.ini, ce qui interdit à file_get_contents() d'ouvrir des URLs.


OpenStudio Toulouse