Estoy familiarizado con el uso de varios métodos para generar una URL segura basada en el contexto, es decir:
$this->getUrl('my-page', array('_forced_secure' => $this->getRequest()->isSecure()));
Esto funciona muy bien para crear enlaces que dirijan a una página segura mientras está en modo seguro (o simplemente se vinculará a la página no segura si no está usando el modo seguro).
El problema que estoy viendo es que Magento solo trata algunas páginas especiales como si fueran seguras (cuenta de cliente, pago, etc.). Lo que preferiría sería que Magento siempre use un enlace seguro si el usuario se encuentra actualmente en modo seguro , o use el enlace no seguro si el usuario está en modo no seguro.
Por lo que puedo decir, mis únicas opciones reales son:
- Modifique cada instancia de
$this->getUrl()
para que sea similar al fragmento anterior. - Establecer no seguro
base_url
para usar HTTPS, obligando a todas las páginas a proteger.
¿Existe un método mejor que no implique tener que cambiar todas las llamadas $this->getUrl()
o forzar todas las páginas a HTTPS independientemente del contexto del usuario?
- editar -
Soy consciente de que puedo modificar el /app/code/core/Mage/Core/Model/Url.php->setRouteParams()
método, aunque espero que haya una forma más limpia.
Mage_Core_Model_Store::getBaseUrl
para hacer que nuestra tienda siempre sea segura cuando está integrada en una pestaña de Facebook. Sin embargo, hay otras cosas a tener en cuenta, como el almacenamiento en caché de bloque cualquiera que sea el primero (deberá agregar algo a la clave de caché). También tendrá, como dice David, enlaces no seguros para iniciar sesión / finalizar la compra, o, en última instancia, todos los clientes de su sitio terminarán en modo seguro si alguna vez inician sesión o presionan para finalizar la compra./catalogsearch/
ruta como segura debería incluir algo que coincida/catalogsearch/*/*/
? Es decir, solo se necesitaría una regla para que todocatalogsearch
sea seguro.Establezca lo siguiente en su
app/etc/config.xml
archivo:Esto funciona en Magento 1.9.1
Si el usuario usa https, esto debería obligar a todas las URL a reescribirse en https.
fuente
Hay una opción discreta pero importante en el sistema | Configuracion | Web ~ donde tiene que decir "use url segura en la interfaz": si configura esto en sí, una página cargada por https usará enlaces https,
no es necesario escribir código ni proporcionar una configuración adicional en la mayoría de los casos
fuente