Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#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/QWNpZEJhc3RhcmQtb25seS1hY2lkLTIwMTIubXAzKmMxYWZmNgPar 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
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
Pages : 1