PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#1 04/02/2012 17:21:05

Humpf
Membre
Inscription : 22/01/2012
Messages : 7

Bug de la fonction de téléchargement

Bonjour,


En utilisant la fonction de téléchargement "?telechargement/xxxx" décrite dans le Wiki, je pense être tombé sur 2 problèmes (au moins en v5.1.5) :


1) La réécriture d'URL (plxMotor->urlRewrite()) ne supporte pas correctement le caractère "," qui est pourtant possible en sortie de plxEncrypt::base64url_encode()
En effet, la réécriture peut retourner ce genre d'URL (notez le "#" à la fin) :
   

http://localhost/xxx/index.php?telechargement/QWNpZEJhc3RhcmQtb25seS1hY2lkLTIwMTIubXAzKmMxYWZmNg#,,

Au lieu de ceci :
   

http://localhost/xxx/index.php?telechargement/QWNpZEJhc3RhcmQtb25seS1hY2lkLTIwMTIubXAzKmMxYWZmNg,,

Conséquence, le navigateur transmet la QueryString suivante (notez la fin) :
   

telechargement/QWNpZEJhc3RhcmQtb25seS1hY2lkLTIwMTIubXAzKmMxYWZmNg

Par chance, tout semble marcher (miraculeusement) car "," correspond au "=" qui est le caractère de padding de l'encodage en BASE64...


Actuellement dans class.plx.motor.php, il y a (ligne 905):
   

preg_match('/^([0-9a-z\_\-\.\/]+)?[\?]?([0-9a-z\_\-\.\/]+)?[\#]?(.*)$/i', $url, $args);

Il faudrait ajouter le caractère "," dans le second sous-pattern :
   

preg_match('/^([0-9a-z\_\-\.\/]+)?[\?]?([0-9a-z\_\-\.\/,]+)?[\#]?(.*)$/i', $url, $args);

2) L'appel à plxMotor->sendTelechargement() est erroné
Conséquence, le téléchargement échoue.


Actuellement dans class.plx.motor.php, il y a (ligne 228):
   

if($this->sendTelechargement($this->cible)) {

Il faudrait :
   

if($this->sendTelechargement($capture[2])) {

En tout cas, bravo aux auteurs pour ce CMS très clair et bien fait.


Humpf

Hors ligne

#2 04/02/2012 17:39:31

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 3 820
Site Web

Re : Bug de la fonction de téléchargement

Bonjour Humpf

Merci de t'etre penché sur le probleme. Je garde tout ça précieusement


Pluxopolis un site sur PluXml, mais pas seulement...
Twitter: @pluxopolis
-----
Mon site perso
Mon compte twitter

Hors ligne

Pied de page des forums

Copyright © 2006-2013 PluXml.org, tous droits réservés