diff options
| author | polo <ordipolo@gmx.fr> | 2023-07-29 11:25:13 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2023-07-29 11:25:13 +0200 |
| commit | 1ad47a7ca38e679a50c8dfee004db88b1633d7cf (patch) | |
| tree | e60107c17da6341f08335cb9df730a5c34073b4b /controller | |
| parent | 353a25789d477a0403f0acf35cef158ec8c8e4eb (diff) | |
| download | melaine-1ad47a7ca38e679a50c8dfee004db88b1633d7cf.tar.gz melaine-1ad47a7ca38e679a50c8dfee004db88b1633d7cf.tar.bz2 melaine-1ad47a7ca38e679a50c8dfee004db88b1633d7cf.zip | |
tests extensions php, chmod dans Image
Diffstat (limited to 'controller')
| -rw-r--r-- | controller/Security.php | 11 | ||||
| -rw-r--r-- | controller/installation.php | 12 |
2 files changed, 18 insertions, 5 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 | ||
diff --git a/controller/installation.php b/controller/installation.php index 2e4e1c3..f0d2890 100644 --- a/controller/installation.php +++ b/controller/installation.php | |||
| @@ -21,7 +21,17 @@ function installation() | |||
| 21 | // fclose($fichier); | 21 | // fclose($fichier); |
| 22 | // chmod('.htaccess', 0666); // mettre 0644 en production | 22 | // chmod('.htaccess', 0666); // mettre 0644 en production |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | // extensions de php | ||
| 26 | // nécessité de 'dom' à confirmer | ||
| 27 | $extensions = ['imagick', 'gd', 'zip', 'mbstring', 'dom']; | ||
| 28 | foreach($extensions as $extension) | ||
| 29 | { | ||
| 30 | if(!extension_loaded($extension)) | ||
| 31 | { | ||
| 32 | echo("l'extension " . $extension . ' est manquante<br>'); | ||
| 33 | } | ||
| 34 | } | ||
| 25 | 35 | ||
| 26 | // dans le cas de l'utilisation d'une base de données, le fichiers zip devrait contenir un "dump" (un fichier .sql), | 36 | // dans le cas de l'utilisation d'une base de données, le fichiers zip devrait contenir un "dump" (un fichier .sql), |
| 27 | // à voir si php est capable d'obtenir ou redonner ce fichier à la BDD | 37 | // à voir si php est capable d'obtenir ou redonner ce fichier à la BDD |
