Jump to content
Sign in to follow this  
Fluorite

[Résolu] Message génant sous IE et le Secure Socket Layer (SSL)

Recommended Posts

Bonjour

Voila sous IE il y'a un message gênant avec le SSL qui apparaît lorsque, par exemple un client click sur identifier-vous et veut aussitôt revenir sur l'index avec un click sur le Logo

le message de IE

" Cette page contient des éléments sécurisés et non sécurisés.

Souhaitez-vous afficher les éléments non sécurisés?


Le lien du logo reste en HTTPS et non en HTTP pareil pour tous les autres liens qui reste en HTTPS.et l'avertissement du message de IE doit être du aussi au module de GoogleAdsense.

Assez gênant je pense pour le client qui doit peut-être hésiter a clicker sur oui dans le message d'erreur.

j'ai fait un post a ce sujet (pour google adsense non compatible avec le SSL

Voila je tenez a le signaler comme il n'y a pas beaucoup de Boutique avec le SSL.

Bonne journée
ps:j'espère ne pas être gênant avec mon ssl :)


Yannick

Share this post


Link to post
Share on other sites

Bonjour a tous

Bon ben j'ai résolu ce problème assez grave pour le ssl :)

Il a fallu que je décortique tout le forum anglais et non français, car il ne n'y avait pas de solution apparement....

Donc pour éviter d'avoir ce message lorsque l'on fait un retour après l'authentification soit en faisant un click sur le logo ou sur un lien catégorie,
ce qui générer un avertissement sous IE ,
et sous Mozilla un cadenas avec point d'exclamation.
il suffit d'ouvrir votre fichier init.php et placer ce code après la ligne qui commence à

$ protocol = (isset ($ useSSL)
and BEFORE the line $smarty->assign(array( et avant la ligne $ smarty-> assign (array (


le code a placer

if(isset( $_SERVER[ "HTTPS" ] ) && $_SERVER[ "HTTPS" ] == "on" && $protocol == 'http://' && strpos ( $_SERVER[ "REQUEST_URI" ] , 'cart.php' ) == false ) { 
$newurl = "http://" . $_SERVER[ "SERVER_NAME" ] . $_SERVER[ "REQUEST_URI" ] ; 
header ( "Location: $newurl" ); 
exit(); 
} 
elseif( $protocol == 'https://' && isset( $_SERVER[ "HTTPS" ] ) == false ) { 
$newurl = "https://" . $_SERVER[ "SERVER_NAME" ] . $_SERVER[ "REQUEST_URI" ] ; 
header ( "Location: $newurl" ); 
exit(); 
} 


Voila
Bonne journée

Yannick

Post original
http://www.prestashop.com/forums/viewthread/9478/general_discussion/temporary_fix_for_ssl

Share this post


Link to post
Share on other sites
Guest

Je pensais que ça été testé par la team!? Crazy.

Share this post


Link to post
Share on other sites

Bonjour localhost

je ne comprends pas votre question,mais dans tous les cas cela a résolu le problème .
Vous pouvez tester sur mon site.
Enfaite les liens reste en HTTPS, mais avant de tomber sur l'avertissement on revient direct sur le HTTP

regarder aller sur la page d'identification la tout et OK maintenant passer votre sourie au dessus des liens logo ou catégorie on voie bien les liens qui repointent sur du HTTPS d'ou le message d'erreur engendrée. Maintenant avec ce code on retourne sous le HTTP avant l'avertissement avec header ( "Location: $newurl" );



voila

bye

Share this post


Link to post
Share on other sites

Hello Yannick,

le correctif fonctionne bien sous :
Firefox 3.0
Google Chrome 1.x et 2.x
Mais les msg d'alerte demeurent sous IE 7 et 8 ....
Une idée ?????

Merci

Share this post


Link to post
Share on other sites

Salut citrix34

Non je n'ai plus de problèmes SSL et temps mieux :) ...

Quelle page te fait l'alerte? Si tu as une alerte c'est que ta page et à moitié sécurisée cet a dire que tu dois avoir peut-être!, des images d'autre site qui reste sur du HTTP, ou vice versa ou tout autre fichier (js).

À savoir que le module google Adsense génére lui aussi l'erreur suivant ou tu la placer....regarde ou donne-moi la page de l'erreur que je puisse regarder.

bye Bonne journée.

Yannick

Share this post


Link to post
Share on other sites

Effectivement Yannick, pas mal de pb liés aux images n'utilisant pas de lien(s) relatif(s).
Je travaille dessus et reviens vers toi en cas de Pb.

Merci pour ton aide.
Jerome

Share this post


Link to post
Share on other sites

bonjour, jai le meme soucis mais je ne trouve pas laa ligne que tu dit pour rajouter le code apres.

voici mon fichier

<?php

if (!isset($smarty))
   exit;

/* Theme is missing or maintenance */
if (!is_dir(dirname(__FILE__).'/themes/'._THEME_NAME_))
   die(Tools::displayError('Current theme unavailable. Please check your theme directory name and permissions.'));
elseif (basename($_SERVER['PHP_SELF']) != 'disabled.php' AND !intval(Configuration::get('PS_SHOP_ENABLE')))
   $maintenance = true;

ob_start();
global $cart, $cookie, $_CONF, $link;

/* get page name to display it in body id */
$pathinfo = pathinfo(__FILE__);
$page_name = basename($_SERVER['PHP_SELF'], '.'.$pathinfo['extension']);
$page_name = (ereg('^[0-9]', $page_name)) ? 'page_'.$page_name : $page_name;

$cookie = new Cookie('ps');
Tools::setCookieLanguage();
Tools::switchLanguage();
/* attribute id_lang is often needed, so we create a constant for performance reasons */
define('_USER_ID_LANG_', intval($cookie->id_lang));

if (isset($_GET['logout']) OR ($cookie->logged AND Customer::isBanned(intval($cookie->id_customer))))
{
   $cookie->logout();
   Tools::redirect(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : NULL);
}
elseif (isset($_GET['mylogout']))
{
    $cookie->mylogout();
   Tools::redirect(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : NULL);
}

$iso = strtolower(Language::getIsoById($cookie->id_lang ? intval($cookie->id_lang) : 1));
@include(_PS_TRANSLATIONS_DIR_.$iso.'/fields.php');
@include(_PS_TRANSLATIONS_DIR_.$iso.'/errors.php');
$_MODULES = array();

$currency = Tools::setCurrency();

if (is_numeric($cookie->id_cart))
{
   $cart = new Cart(intval($cookie->id_cart));
   $cart->id_lang = intval($cookie->id_lang);
   if ($cart->OrderExists())
       unset($cookie->id_cart, $cart);
   else
   {    
       if ($cookie->id_customer)
           $cart->id_customer = intval($cookie->id_customer);
       $cart->id_currency = intval($cookie->id_currency);
       $cart->update();
   }
}

if (!isset($cart) OR !$cart->id)
{
   $cart = new Cart();
   $cart->id_lang = intval($cookie->id_lang);
   $cart->id_currency = intval($cookie->id_currency);
   if ($cookie->id_customer)
       $cart->id_customer = intval($cookie->id_customer);
}
if (!$cart->nbProducts())
   $cart->id_carrier = NULL;

$ps_language = new Language(intval($cookie->id_lang));
setlocale(LC_TIME, strtolower($ps_language->iso_code).'_'.strtoupper($ps_language->iso_code).'@euro', 
strtolower($ps_language->iso_code).'_'.strtoupper($ps_language->iso_code), strtolower($ps_language->iso_code));

if (is_object($currency))
   $smarty->ps_currency = $currency;
if (is_object($ps_language))
   $smarty->ps_language = $ps_language;

$smarty->register_function('dateFormat', array('Tools', 'dateFormat'));
$smarty->register_function('productPrice', array('Product', 'productPrice'));
$smarty->register_function('convertPrice', array('Product', 'convertPrice'));
$smarty->register_function('convertPriceWithoutDisplay', array('Product', 'productPriceWithoutDisplay'));
$smarty->register_function('convertPriceWithCurrency', array('Product', 'convertPriceWithCurrency'));
$smarty->register_function('displayWtPrice', array('Product', 'displayWtPrice'));
$smarty->register_function('displayWtPriceWithCurrency', array('Product', 'displayWtPriceWithCurrency'));
$smarty->register_function('displayPrice', array('Tools', 'displayPriceSmarty'));

$smarty->assign(Tools::getMetaTags(intval($cookie->id_lang)));
$smarty->assign('request_uri', Tools::safeOutput(urldecode($_SERVER['REQUEST_URI'])));

/* Breadcrumb */
$navigationPipe = (Configuration::get('PS_NAVIGATION_PIPE') ? Configuration::get('PS_NAVIGATION_PIPE') : '>');
$smarty->assign('navigationPipe', $navigationPipe);

$protocol = (isset($useSSL) AND $useSSL AND Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://';

$smarty->assign(array(
   'base_dir' => __PS_BASE_URI__,
   'base_dir_ssl' => (Configuration::get('PS_SSL_ENABLED') ? 'https://' : 'http://').htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__,
   /* If the current page need SSL encryption and the shop allow it, then active it */
   'protocol' => $protocol,
   'img_ps_dir' => _PS_IMG_,
   'img_cat_dir' => _THEME_CAT_DIR_,
   'img_lang_dir' => _THEME_LANG_DIR_,
   'img_prod_dir' => _THEME_PROD_DIR_,
   'img_manu_dir' => _THEME_MANU_DIR_,
   'img_sup_dir' => _THEME_SUP_DIR_,
   'img_ship_dir' => _THEME_SHIP_DIR_,
   'img_col_dir' => _THEME_COL_DIR_,
   'img_dir' => _THEME_IMG_DIR_,
   'css_dir' => _THEME_CSS_DIR_,
   'js_dir' => _THEME_JS_DIR_,
   'tpl_dir' => _PS_THEME_DIR_,
   'modules_dir' => _MODULE_DIR_,
   'mail_dir' => _MAIL_DIR_,
   'pic_dir' => _THEME_PROD_PIC_DIR_,
   'lang_iso' => $ps_language->iso_code,
   'come_from' => 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').htmlentities($_SERVER['REQUEST_URI']),
   'shop_name' => Configuration::get('PS_SHOP_NAME'),
   'cart_qties' => intval($cart->nbProducts()),
   'cart' => $cart,
   'currencies' => Currency::getCurrencies(),
   'id_currency_cookie' => intval($currency->id),
   'currency' => $currency,
   'languages' => Language::getLanguages(),
   'logged' => $cookie->isLogged(),
   'page_name' => $page_name,
   'customerName' => ($cookie->logged ? $cookie->customer_firstname.' '.$cookie->customer_lastname : false)));
?>



cordialement

Share this post


Link to post
Share on other sites

j'ai aussi ce problème.... sur 1.25... c'est triste!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More