IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] Redirection php sur un site sécurisé ssl


Sujet :

Langage PHP

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Points : 15
    Points
    15
    Par défaut
    Oops, j'ai modifié le message précédent.

    Le problème vient donc de l'arborescence sur deuxième serveur qui est "cachée"

  2. #22
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Ok cela veut peut-etre dire qu'il travail avec une session... dans ce cas il faudrait
    observer les headers http pour voir si il y a pas un cookie de session.

    Je pense dans ce cas que l'utilisation d'un proxy existant sera plus facile, tu veux pas tester l'un ou l'autre des proxy sur la page que je t'ai donnée ?
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Points : 15
    Points
    15
    Par défaut
    Ok, je regarde rapidement lequel semble meilleur et je teste.

  4. #24
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    J'en sais rien, essaye Zelune et PhpProxy
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Points : 15
    Points
    15
    Par défaut
    Salut,

    Bien, j'ai essayé ces deux là et glype. Seule glype me donne le résultat escompté !
    Il faut maintenant que je récupère juste le code dont j'ai besoin (pas de portail me demandant quelle url, pas de barre d'options en haut de la page). Bien entendu c'est un peu plus long que de surfer directement mais c'est ce qu'il me faut.

  6. #26
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Extra :-) si je peux t'aider hésite pas, bon courage
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Points : 15
    Points
    15
    Par défaut
    Ok, j'espère avoir la grande joie de mettre un [résolu] ce soir

  8. #28
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Points : 15
    Points
    15
    Par défaut
    Powered by glype.
    To legally remove the credits, you must purchase a license.

    Dommage !

    Pourtant il me faut bien ce genre de fonctionnement, côté cURL simple, j'accède à la première page mais sans feuille de style et sans images, aller chercher ces éléments est plus difficile.

    Pour ceux que ça intéresserait, voilà quand même mes codes.
    Sur mon serveur, un dossier proxy avec :
    - .htaccess (décrit plus haut)
    - const.php
    - proxypage.php
    - connect.php

    const.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    <?php
     
    session_start();
     
     
    define ("URL",'https://XXXX.XXXX.de/coremedia/generator/xxx/');
     
    function curl_follow($uri = '')
    {
    	if(isset($_SESSION["ARGS"]))
    	{
    		if(!empty($uri))
    			$ch = curl_init(URL.$uri);
    		else
    			$ch = curl_init(URL);
     
    		// Setup headers - I used the same headers from Firefox version 2.0.0.6
    		// below was split up because php.net said the line was too long. :/
    		$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
    		$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png;q=0.5";
    		$header[] = "Cache-Control: max-age=0";
    		$header[] = "Connection: keep-alive";
    		$header[] = "Keep-Alive: 300";
    		$header[] = "Pragma: "; // browsers keep this blank. 
     
    		// Définition de l'URL et autres options appropriées
    		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    		#curl_setopt($ch, CURLOPT_HEADER, true);
    		curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
    		curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    		curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    		curl_setopt($ch, CURLOPT_REFERER, getenv('HTTP_HOST')); 
    		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    		curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
    		#curl_setopt($ch, CURLOPT_INTERFACE, getenv('HTTP_HOST')); // retourne chez le client ?	
    		curl_setopt($ch ,CURLOPT_CONNECTTIMEOUT, 4);
    		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    		curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    		curl_setopt($ch, CURLOPT_USERPWD, $_SESSION["ARGS"]);
    		// Récupération de l'URL et passage au navigateur
    		if($res = curl_exec($ch))
    		{
    			#echo 'exécutée<br />';
    			#echo '<br />';
    			#echo curl_error($ch);
    			#print_r(curl_getinfo($ch));	
    			// Fermeture de la ressource cURL et libération des ressources systèmes
    			echo $res;
    		}
    		else
    		{
    			#echo 'même pas exécutée : ';
    			#echo curl_error($ch);
    			#echo '<br /><br />';
    			#print_r(curl_getinfo($ch));		
    			// Fermeture de la ressource cURL et libération des ressources systèmes
    		}
    		curl_close($ch);
     
    	}
    	exit();
    }
     
    ?>
    proxypage.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    session_start();
     
    require_once('./const.php');
     
    // requete que le serveur XXX nous répond
    #echo $_SERVER['REQUEST_URI'];
     
    $new_result = substr($_SERVER['REQUEST_URI'],17,strlen($_SERVER['REQUEST_URI'])); 
     
    // requête ou l'on a retirée le chemin relati fe mon serveur (17 caractères pour "/proto_site/proxy"
     
    #echo "<br />$new_result";
     
    // je n'ai plus qu'a relancer la fonction sur cette url :
    if(isset($_SESSION["ARGS"]))
    {
    	curl_follow($new_result);
    	#echo 'droits : '.$_SESSION["ARGS"];
    	#echo '<br />URL demandée : '.URL.$new_result;
     
    }
    else
    	echo 'this must never appear';
    ?>
    et connect.php, un simple formulaire avec les mots de passe, qui traite une fois posté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
     
    session_start();
     
    require_once('./const.php');
     
     
    if(!empty($_POST))
    {
     
    	#$args = base64_encode($_POST['login'].':'.$_POST['password']);
    	$args = $_POST['login'].':'.$_POST['password'];
    	$_SESSION["ARGS"] = $args;
     
            curl_follow("http://xxx.xxx.de");
     
    }
    [...]
    Voilà, il manque le fait d'aller chercher les ressources en plus (tous les liens relatifs de la page).
    De plus, en cliquant sur un lien qui remonte l'arborescence, je perd le .htaccess de mon dossier et je ne traite pas l'erreur (c'est ce qui se passe pour les images et le style ?).

    Si je traite le tout dans une page 404 globale au site, ça peut marcher ?

  9. #29
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Points : 15
    Points
    15
    Par défaut
    Salut a tous (et à marcha surtout),

    Bon, en fin de compte j'ai réussi à adapter le script , je ne sais pas ce qu'il ne fallait pas faire, je n'ai pas fait attention. La solution fonctionne (j'ai personnalisé ma gestion des droits de connexion), mais il me reste la barre de navigation du proxy, ça parait plus difficile à retirer...

    Merci en tout cas.


  10. #30
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Points : 15
    Points
    15
    Par défaut
    On se rapproche d'une solution idéale :

    Pour retirer la barre de navigateur du moteur proxy, il suffit de mettre en commentaire le tableau "$optionsDetails" du fichier "settings.php" dans le dossier "glype/includes".

    Voili voilou

  11. #31
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Bravo
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Web Service] Php, SOAP et connexion sécurisé ssl
    Par piaichpi dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 25/02/2011, 16h36
  2. Probleme avec formulaires php sur le site distant
    Par Lionel_aw dans le forum Langage
    Réponses: 2
    Dernier message: 26/03/2010, 16h16
  3. Réponses: 3
    Dernier message: 24/10/2009, 18h46
  4. Réponses: 32
    Dernier message: 29/09/2009, 11h10
  5. [MySQL] aide pour connection mysql avec du php sur mon site web
    Par cuisto44000 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 23/09/2007, 00h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo