diff options
Diffstat (limited to 'controller/Security.php')
| -rw-r--r-- | controller/Security.php | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/controller/Security.php b/controller/Security.php index 0ab4c02..4bdba08 100644 --- a/controller/Security.php +++ b/controller/Security.php | |||
| @@ -56,16 +56,19 @@ class Security | |||
| 56 | // filtrer / et \ semble inutile | 56 | // filtrer / et \ semble inutile |
| 57 | 57 | ||
| 58 | $cibles = [' ', '/', '\\', ':', '*', '?', '<', '>', '|', '=', "'", '`', '"', '%22', '#']; | 58 | $cibles = [' ', '/', '\\', ':', '*', '?', '<', '>', '|', '=', "'", '`', '"', '%22', '#']; |
| 59 | $chaine = str_replace($cibles, '_', $chaine); | 59 | $chaine = str_replace($cibles, '_', $chaine); // nécéssite l'extension mbstring |
| 60 | $chaine = mb_strtolower($chaine); | 60 | $chaine = mb_strtolower($chaine); |
| 61 | return($chaine); | 61 | return($chaine); |
| 62 | 62 | ||
| 63 | // les problèmes avec \ persistent !! | 63 | // les problèmes avec \ persistent !! |
| 64 | // => javascript | 64 | // => javascript |
| 65 | // malheureusement document.getElementById('upload').files[0].name = chaine; ne marche pas! interdit! | 65 | // malheureusement document.getElementById('upload').files[0].name = chaine; ne marche pas! interdit! |
| 66 | // solution? | 66 | // javascript ne doit pas pouvoir accéder au système de fichiers |
| 67 | // créer une copie du fichier et l'envoyer à la place | 67 | // solutions: |
| 68 | // envoyer le nom souhaité au serveur en AJAX puis renommer avec PHP | 68 | // - au lieu de fournir une chaine (le chemin du fichier), donner un objet à files[0].name |
| 69 | // - créer une copie du fichier et l'envoyer à la place | ||
| 70 | // - envoyer le fichier en AJAX | ||
| 71 | // - envoyer le nom du fichier à part puis renommer en PHP | ||
| 69 | } | 72 | } |
| 70 | } | 73 | } |
| 71 | 74 | ||
