[RESOLU] Zend Framework : helper url() et https

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Zend Framework : helper url() et https

Re: Zend Framework : helper url() et https

par jojolapine » 14 mars 2013, 09:03

Bon et bien l'erreur venait de moi ... :(
J'avais oublié que je faisait un setBaseUrl('http://host/') quelque part du coup j'ai corrigé à cet endroit !

Merci :)

Zend Framework : helper url() et https

par jojolapine » 13 mars 2013, 17:25

Bonjour à tous,

Je suis en train d'essayer de mettre en place la navigation en « https » sur un projet Zend Framework.
Mais je ne parviens pas à mes fins, pour l'instant je souhaite simplement faire en sorte que si on est sur une page en https alors les liens générés par le helper url() soient aussi en https.

J'ai donc créé un helper myurl() pour essayer de faire cela :
<?php

class Application_Myurl extends Zend_View_Helper_Abstract {
    
    public $view,$routes_ini;
 
    public function setView(Zend_View_Interface $view){
        
        $this->view = $view;
        $this->routes_ini = new Zend_Config_Ini(APPLICATION_PATH.'/configs/routes.ini');
    }
    
    public function myurl(array $urlOptions = array(), $name = null, $reset = false, $encode = true){
        
        if(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on'){
            $this->view->getHelper('ServerUrl')->setScheme('https');
            $url = $this->view->serverUrl($this->view->url($urlOptions,$name,$reset,$encode));
        
        }
        else {
            $url = $this->view->url($urlOptions,$name,$reset,$encode);
        }
        
        return $url;
    }
}
Le but est donc de forcer le https si on y est déjà.
Je précise qu'avant cette modif le helper url() envoyait une url en http même en navigant en https.

Le problème avec ce code c'est que l'url retournée contient 2 fois le host et le sheme...
Donc j'aurais besoin de savoir comment indiquer à url() de ne pas préfixer l'url générée par le host...
Ou une méthode plus simple si vous avez pour faire ce que je souhaite ?

Merci d'avance pour vos lumières !