'); //echo('server name: ' . $_SERVER['SERVER_NAME'] . '
'); // echo('dirname: ' . dirname(__FILE__) . '
'); // echo('file: ' . __FILE__ . '
'); // echo('dir: ' . __DIR__. '
'); //$lien_htaccess = $_SERVER['SERVER_NAME'] . "/.htaccess"; //$nomDuSite = "melaine"; // créer le .htaccess if(!file_exists(".htaccess")) { echo('

Le .htaccess semble absent ce qui rend le site vulnérable, veuillez contacter l\'administrateur.

'); //$contenu = "# redirection en cas d'erreur 404\nErrorDocument 404 http://" . $_SERVER['SERVER_NAME'] . "/" . $nomDuSite . "/erreur404.php\n# Interdire exploration du répertoire\nOptions All -Indexes"; // $fichier = fopen('.htaccess', 'w'); // fputs($fichier, $contenu); // fclose($fichier); // chmod('.htaccess', 0666); // mettre 0644 en production } // droits en lecture et écriture dans le cas d'une migration // tester si le site est "vide" et prévoir un formulaire permettant d'upload le fichier .zip // contenant toutes les données qu'il est possible de créer depuis le mode admin // cette méthode a deux intérêts: // - facilité pour l'utilisateur // - toutes les données sont la "possession" du serveur apache, // on prévient ainsi tous les futurs problèmes de droits // dans le cas de l'utilisation d'une base de données, le fichiers zip devrait contenir un "dump" // (un fichier .sql), à voir si php est capable d'obtenir ou redonner ce fichier à la BDD // créer les dossiers (fait également à l'extraction du zip de données) // attention: ne fonctionne pas sans une manipulation préalable // - modifier soit-même les droits du dossier data pour 777 // - modifier ceux du dossier parent (nom du site) avec son client FTP à la mise en ligne chez l'hébergeur et ensuite remettre tout comme avant // création des dossiers // valeur en octal $droitsDossiers = 0777; // mettre 0755 en production if(!file_exists('data') && !mkdir('data')) { $erreur = 'data'; $title = 'Dossier data absent'; require('view/backup.php'); exit(); } if(!touch('data')) { $erreur = 'data'; $title = 'Écriture non autorisée dans le dossier data'; require('view/backup.php'); exit(); } $listePages = array('melaine', 'discographie', 'concerts', 'presse', 'ateliers', 'liens', 'peinture', 'archives'); foreach ($listePages as $page) { if(!file_exists('data/' . $page)) { mkdir('data/' . $page); chmod('data/' . $page, $droitsDossiers); } if(!file_exists('data/' . $page . '/html')) { mkdir('data/' . $page . '/html'); chmod('data/' . $page . '/html', $droitsDossiers); } if(!file_exists('data/' . $page . '/images')) { mkdir('data/' . $page . '/images'); chmod('data/' . $page . '/images', $droitsDossiers); } // if(!file_exists('data/' . $page . '/multimedia')) // { // mkdir('data/' . $page . '/multimedia'); // chmod('data/' . $page . '/multimedia', 0777); // } } // dossiers supplémentaires dans discographie if(!file_exists('data/discographie/json')) { mkdir('data/discographie/json'); chmod('data/discographie/json', $droitsDossiers); } if(!file_exists('data/discographie/images-mini')) { mkdir('data/discographie/images-mini'); chmod('data/discographie/images-mini', $droitsDossiers); } // créer le melainePHP.zip if(!file_exists("data/melainePHP.zip")) { require('controller/backup.php'); creerMelainePHP(); } // le modèle donnera les droits 0666 (octal) aux nouveaux fichiers à l'intérieur des dossiers // création d'un mot de passe si password.txt est vide createPassword(); }