You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2006-08-01 13:37:10

huberd
Member
Registered: 2006-08-01
Posts: 42

Téléchargement de pièces jointes en https avec ie6 [résolu]

Bonjour,

Pour des raisons de sécurité, je compte migrer ma version 0.65 vers la version 0.68 et utiliser le protocole https.
La migration de la 0.65 vers la 0.68 se passe sans problème.

Lorsque je commence ma série de tests et notamment l'accès aux fichiers pour verifier leur acces, j'obtiens le message suivant "le fichier n'a pas pu être écrit sur le disque antémémoire". J'utilise ie6 SP1 sous Windows XP Pro SP2.
Afin de verifier que le problème ne vienne pas de l'application, j'ai refai le même test à partir de Firefox. Ce dernier résoud le problème.

Aujourd'hui il me reste 2 solutions :

- Abandonner le protocole https sad rendant ainsi les mots de passes visibles en clair sur le réseau sad
- Déployer Firefox sur tous les postes wink, mais non envisageable au vue du nombre de postes à équiper sad.

N'y aurait-il pas une parade à mettre dans le code php afin de rendre possible le téléchargement de pièces jointes avec ie6 en utilisant le protocole https.

Offline

#2 2006-08-01 13:45:38

JMD
GLPI - Lead
Registered: 2004-09-13
Posts: 9,180
Website

Re: Téléchargement de pièces jointes en https avec ie6 [résolu]

Vous postez dans bugs mais vous annoncez que ce n'est pas un bug de GLPI wink

Pour IE6 je ne sais quoi vous dire. Faites une recherche dans le forum, il y a déjà eu pas mal de blabla là dessus.

Pour la parade si on l'avait, on l'aurait déjà implémenté.


JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au  projet GLPI   : Soutenir

Offline

#3 2006-08-01 14:39:53

huberd
Member
Registered: 2006-08-01
Posts: 42

Re: Téléchargement de pièces jointes en https avec ie6 [résolu]

N'y a-t'il pas moyen de forcer le téléchargement des pièces jointes via le protocole http plutôt que https ?

Offline

#4 2006-08-01 15:00:45

JMD
GLPI - Lead
Registered: 2004-09-13
Posts: 9,180
Website

Re: Téléchargement de pièces jointes en https avec ie6 [résolu]

On va plutot essayer ça mais faut que vous testiez j'ai pas d'IE sous la main :

Editez le fichier inc/common.fonction.php

et commentez les lignes comme cela  :

//if (isset($_SERVER["SCRIPT_URI"])&&!ereg("https://",$_SERVER["SCRIPT_URI"]))
//             header('Pragma: no-cache');


et dites moi quoi


JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au  projet GLPI   : Soutenir

Offline

#5 2006-08-01 16:35:39

huberd
Member
Registered: 2006-08-01
Posts: 42

Re: Téléchargement de pièces jointes en https avec ie6 [résolu]

En commentant les lignes suivantes, le problème demeure.

//if (isset($_SERVER["SCRIPT_URI"])&&!ereg("https://",$_SERVER["SCRIPT_URI"]))
//             header('Pragma: no-cache');

Par contre, j'ai trouvé un article interessant sur Google qui dit que pour corriger le problème, il faut rajouter les lignes suivantes après une session_start(); (cf http://flash.media-box.net/index.php?showtopic=33173)


header("Cache-Control: public");
header("Pragma:");

Et le problème semble être définitivement résolu pour IE. Cela continue de fonctionner aussi sur Firefox.

Offline

#6 2006-08-01 16:56:41

huberd
Member
Registered: 2006-08-01
Posts: 42

Re: Téléchargement de pièces jointes en https avec ie6 [résolu]

Maintenant le problème se pose sur les exports en pdf, cvs, ...
Un sujet est ouvert sur ce forum sous le nom "HTTPS et Export PDF ou SLK" (cf http://glpi-project.org/forum/viewtopic.php?id=3484) et aucune solution n'a été donnée.
S'agirait-il du même problème que les pièces jointes ? Si oui, quel partie de code dois-je modifier ?

Offline

#7 2006-08-01 18:31:02

JMD
GLPI - Lead
Registered: 2004-09-13
Posts: 9,180
Website

Re: Téléchargement de pièces jointes en https avec ie6 [résolu]

Interesssant  http://support.microsoft.com/default.as … -us;812935 . Ras le bol de ce perdre du temps avec les bugs de ce navigateur à deux balles que j'utilise pas.

Bref en avant pour le debug intensif avec ce machin merdeux :

1) Pour le pb des documents :

Editez le fichier inc/common.fonction.php

et commentez les lignes comme cela  :

//if (isset($_SERVER["SCRIPT_URI"])&&!ereg("https://",$_SERVER["SCRIPT_URI"]))
//             header('Pragma: no-cache');

et mettre à la place  :   header("Cache-Control: private"); /// IE BUG

2) Pour le pb des Export PDF et SLK

Editez le fichier inc/export.function

pour que ça ressemble à ça (vers lignes 208 215) :

// en-tête HTTP
                // --------------------------------------------------------------------
                header("Content-disposition: filename=glpi.slk");
                header('Content-type: application/octetstream');
                header("Cache-Control: private"); /// IE BUG
                header('Expires: 0');

Editez le fichier lib/class.pdf.php pour que ça (vers lignes 1916 1919 )

header("Cache-Control: private"); /// IE BUG
  header('Expires: 0');
  header("Content-type: application/pdf");
  header("Content-Length: ".strlen(ltrim($tmp)));

Dites moi si ça marche et je comitterai sur le depot subversion.


JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au  projet GLPI   : Soutenir

Offline

#8 2006-08-01 18:50:34

huberd
Member
Registered: 2006-08-01
Posts: 42

Re: Téléchargement de pièces jointes en https avec ie6 [résolu]

JMD wrote:

Interesssant  http://support.microsoft.com/default.as … -us;812935 . Ras le bol de ce perdre du temps avec les bugs de ce navigateur à deux balles que j'utilise pas.

Bref en avant pour le debug intensif avec ce machin merdeux :

1) Pour le pb des documents :

Editez le fichier inc/common.fonction.php

et commentez les lignes comme cela  :

//if (isset($_SERVER["SCRIPT_URI"])&&!ereg("https://",$_SERVER["SCRIPT_URI"]))
//             header('Pragma: no-cache');

et mettre à la place  :   header("Cache-Control: private"); /// IE BUG


Dites moi si ça marche et je comitterai sur le depot subversion.

1) Pour le pb des documents :

Editez le fichier inc/common.fonction.php

et commentez les lignes comme cela  :

//if (isset($_SERVER["SCRIPT_URI"])&&!ereg("https://",$_SERVER["SCRIPT_URI"]))
//             header('Pragma: no-cache');
                 
et mettre à la place les lignes ci dessous au lieu de header("Cache-Control: private"); /// IE BUG :   

header("Cache-Control: public"); /// IE BUG
header("Pragma:"); // IE BUG

Le code header("Cache-Control: private"); ne fonctionne pas non plus alors que le code que j'ai énoncé ci-dessus fonctionne.

Offline

#9 2006-08-01 19:20:42

huberd
Member
Registered: 2006-08-01
Posts: 42

Re: Téléchargement de pièces jointes en https avec ie6 [résolu]

JMD wrote:

Interesssant  http://support.microsoft.com/default.as … -us;812935 . Ras le bol de ce perdre du temps avec les bugs de ce navigateur à deux balles que j'utilise pas.

Bref en avant pour le debug intensif avec ce machin merdeux :

2) Pour le pb des Export PDF et SLK

a) Editez le fichier inc/export.function (version 0.68)

pour que ça ressemble à ça (vers lignes 208 215) :

                // en-tête HTTP
                // --------------------------------------------------------------------
                header("Content-disposition: filename=glpi.slk");
                header('Content-type: application/octetstream');
                header("Cache-Control: private"); /// IE BUG
                header('Expires: 0');

b) Editez le fichier lib/class.pdf.php pour que ça (vers lignes 1916 1919 )

  header("Cache-Control: private"); /// IE BUG
  header('Expires: 0');
  header("Content-type: application/pdf");
  header("Content-Length: ".strlen(ltrim($tmp)));

Dites moi si ça marche et je comitterai sur le depot subversion.

a) Le code ennoncé ne fonctionne pas :

Remplacez comme suit :

                // en-tête HTTP
                // --------------------------------------------------------------------
                header("Content-disposition: filename=glpi.slk");
                header('Content-type: application/octetstream');
                header('Pragma: private');
                header('Expires: 0');

b)  Le code ennoncé ne fonctionne pas :

après la ligne (1916) :

header("Content-type: application/pdf");

ajoutez les lignes suivantes :

header('Pragma: private'); // BUG IE
header('Expires: 0');

Offline

#10 2006-08-02 00:44:34

JMD
GLPI - Lead
Registered: 2004-09-13
Posts: 9,180
Website

Re: Téléchargement de pièces jointes en https avec ie6 [résolu]

Bon j'ai récupéré une machine avec un IE et j'ai pu faire des tests en https.

Corrigé dans le dépot subversion.

Les modifs sont visibles ici : https://dev.indepnet.net:8080/glpi/changeset/3708


JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au  projet GLPI   : Soutenir

Offline

#11 2006-08-02 10:44:52

huberd
Member
Registered: 2006-08-01
Posts: 42

Re: Téléchargement de pièces jointes en https avec ie6 [résolu]

Ok ca marche.
Merci pour ton aide JMD.

Offline

Board footer

Powered by FluxBB