par
McGreg » 19 oct. 2005, 15:40
J'ai écrit (base pompée je ne sais plus où) cette page, il s'agit d'un formulaire standard qui upload ton fichier dans le dossier où se trouve le script, et qui te permet de voir les fichiers existant et de les supprimer.
Il est clairement améliorable, mais pour mes besoins il m'a toujours suffit.
Accessoirement il n'y a aucun sécurité, n'importe qui qui accède à cette page peut modifier tes fichiers.
Dans cet exemple le fichier s'appelle a1b2c3d4.php
<?
$debutTabOK = "<table border=\"1\" bordercolor=\"black\" bgcolor=\"#EEEEEE\"><tr><td valign=\"top\">";
$debutTabKO = "<table border=\"1\" bordercolor=\"black\" bgcolor=\"#BBBBBB\"><tr><td valign=\"top\">";
$finTab = "</td></tr></table>";
if (isset($_GET["effacerFichier"])) {
if(file_exists($_GET["effacerFichier"]))
unlink($_GET["effacerFichier"]);
}
?>
<html><body bgcolor="#CCCCCC">
<center><h2><a href="a1b2c3d4.php">Refresh</a></h2></center><hr><br>
<table width="100%" height="100%">
<tr>
<td valign="top">
<?php
$dir = "./";
echo $debutTabOK;
echo "<h2><u>Fichiers existants:</u></h2><br>";
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (($file != ".") && ($file != ".."))
echo "$file [<a href=a1b2c3d4.php?effacerFichier=" . str_replace(" ", "%20", $file) . ">x</a>]<br>";
}
closedir($dh);
}
echo $finTab;
?>
</td>
<td valign="top">
<? echo $debutTabOK; ?>
<h2><u>Upload:</u></h2>
<br>
<form enctype="multipart/form-data" action="a1b2c3d4.php?upload=oui" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="300000" />
Envoyez ce fichier: <input name="userfile" type="file" />
<input type="submit" value="Envoyer le fichier" />
</form>
<?
echo $finTab;
if (isset($_GET["upload"]) && ($_GET["upload"] == "oui")) {
echo "<br><br>";
$uploaddir = './';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
echo $debutTabOK;
echo "<pre>Le fichier est valide, et a ete telecharge avec succes. Voici plus d'informations :\n";
print_r($_FILES) . "</pre>";
echo $finTab;
} else {
echo $debutTabKO;
echo "<pre>Attaque par upload potentielle. Voici plus d'informations :\n";
print_r($_FILES) . "</pre>";
echo $finTab;
}
}
?>
</td>
</tr>
</table>
</body>
</html>
J'ai écrit (base pompée je ne sais plus où) cette page, il s'agit d'un formulaire standard qui upload ton fichier dans le dossier où se trouve le script, et qui te permet de voir les fichiers existant et de les supprimer.
Il est clairement améliorable, mais pour mes besoins il m'a toujours suffit.
Accessoirement il n'y a aucun sécurité, n'importe qui qui accède à cette page peut modifier tes fichiers.
Dans cet exemple le fichier s'appelle a1b2c3d4.php
[php]
<?
$debutTabOK = "<table border=\"1\" bordercolor=\"black\" bgcolor=\"#EEEEEE\"><tr><td valign=\"top\">";
$debutTabKO = "<table border=\"1\" bordercolor=\"black\" bgcolor=\"#BBBBBB\"><tr><td valign=\"top\">";
$finTab = "</td></tr></table>";
if (isset($_GET["effacerFichier"])) {
if(file_exists($_GET["effacerFichier"]))
unlink($_GET["effacerFichier"]);
}
?>
<html><body bgcolor="#CCCCCC">
<center><h2><a href="a1b2c3d4.php">Refresh</a></h2></center><hr><br>
<table width="100%" height="100%">
<tr>
<td valign="top">
<?php
$dir = "./";
echo $debutTabOK;
echo "<h2><u>Fichiers existants:</u></h2><br>";
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (($file != ".") && ($file != ".."))
echo "$file [<a href=a1b2c3d4.php?effacerFichier=" . str_replace(" ", "%20", $file) . ">x</a>]<br>";
}
closedir($dh);
}
echo $finTab;
?>
</td>
<td valign="top">
<? echo $debutTabOK; ?>
<h2><u>Upload:</u></h2>
<br>
<form enctype="multipart/form-data" action="a1b2c3d4.php?upload=oui" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="300000" />
Envoyez ce fichier: <input name="userfile" type="file" />
<input type="submit" value="Envoyer le fichier" />
</form>
<?
echo $finTab;
if (isset($_GET["upload"]) && ($_GET["upload"] == "oui")) {
echo "<br><br>";
$uploaddir = './';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
echo $debutTabOK;
echo "<pre>Le fichier est valide, et a ete telecharge avec succes. Voici plus d'informations :\n";
print_r($_FILES) . "</pre>";
echo $finTab;
} else {
echo $debutTabKO;
echo "<pre>Attaque par upload potentielle. Voici plus d'informations :\n";
print_r($_FILES) . "</pre>";
echo $finTab;
}
}
?>
</td>
</tr>
</table>
</body>
</html>[/php]