Proteger un formulaire d'upload d'image?
corsichris
-
Sri Lumpa Messages postés 177 Statut Membre -
Sri Lumpa Messages postés 177 Statut Membre -
bonjour,
voila mon probleme;
je suis novice en programation PHP,
j'ai recupéré un script d'agenda sur internet que j'ai bien installé, mais je subissais des attaques de hackers, et je me suis apercu qu'en fait il passait par ce script d'agenda par le formulaire d'upload d'image , ou l'on peut envoyer toute sorte de fichier.
Donc je voudrais tout simplement restreindre le format de fichier d'envoi à un "jpg ou gif"
Je vous joint ci dessous donc le script d'upload et le formulaire html,
si quelqu'un pouvait m'aider en me completant ce code pour palier à ce probleme
merci d'avance pour votre aide...
Formulaire d'envoi
---------------------------------------------------------------------------------------------
<td width="75%" height="29" valign="top"> <br>
<input type="image" border="0" name="imageField222" src="../images/carret0.gif" width="18" height="18" onClick="OnSubmit('upload')">
Upload image<br>
<br>
<input type="image" border="0" name="imageField2222" src="../images/logodel2.gif" width="15" height="15" onClick="OnSubmit('removeimage')">
Remove image </td>
------------------------------------------------------------------------------------------------
scipt d'upload
------------------------------------------------------------------------------------------
<?
function upload_image($idevent , $uploadedfile , $uploadedfile_name)
{
// upload an image for the event
global $CFG;
debug("image upload : $uploadedfile_name" );
$uploadedfilename = "";
if(isset($uploadedfile) && $uploadedfile<>"none" && $uploadedfile_name != "" )
{
$path = basename($uploadedfile_name); // does not use pathinfo function for compatibility with PHP3
$pathex = explode("." , $path);
$uploadedfilename = generate_filename("../".$CFG->image_event_dir , $pathex[1]);
if($uploadedfilename["filename"] <> "" )
{
debug("uploadedfilename = ".$uploadedfilename["path"]);
if(!copy($uploadedfile,$uploadedfilename["path"]))//"$CFG->image_event_dir/".$uploadedfilename))
{
echo("Sorry, Your file failed to upload.<br>" );
echo("Either your file doesn't exist or it was too large." );
return "";
}
else
db_query("UPDATE $CFG->table_event SET image = '$uploadedfilename[filename]' WHERE id=$idevent" );
}
else
echo("Sorry, Your file failed to upload.(filename generation failed)<br>" );
}
return $uploadedfilename;
}
?>
---------------------------------------------------------------------------------------------------------------
voila mon probleme;
je suis novice en programation PHP,
j'ai recupéré un script d'agenda sur internet que j'ai bien installé, mais je subissais des attaques de hackers, et je me suis apercu qu'en fait il passait par ce script d'agenda par le formulaire d'upload d'image , ou l'on peut envoyer toute sorte de fichier.
Donc je voudrais tout simplement restreindre le format de fichier d'envoi à un "jpg ou gif"
Je vous joint ci dessous donc le script d'upload et le formulaire html,
si quelqu'un pouvait m'aider en me completant ce code pour palier à ce probleme
merci d'avance pour votre aide...
Formulaire d'envoi
---------------------------------------------------------------------------------------------
<td width="75%" height="29" valign="top"> <br>
<input type="image" border="0" name="imageField222" src="../images/carret0.gif" width="18" height="18" onClick="OnSubmit('upload')">
Upload image<br>
<br>
<input type="image" border="0" name="imageField2222" src="../images/logodel2.gif" width="15" height="15" onClick="OnSubmit('removeimage')">
Remove image </td>
------------------------------------------------------------------------------------------------
scipt d'upload
------------------------------------------------------------------------------------------
<?
function upload_image($idevent , $uploadedfile , $uploadedfile_name)
{
// upload an image for the event
global $CFG;
debug("image upload : $uploadedfile_name" );
$uploadedfilename = "";
if(isset($uploadedfile) && $uploadedfile<>"none" && $uploadedfile_name != "" )
{
$path = basename($uploadedfile_name); // does not use pathinfo function for compatibility with PHP3
$pathex = explode("." , $path);
$uploadedfilename = generate_filename("../".$CFG->image_event_dir , $pathex[1]);
if($uploadedfilename["filename"] <> "" )
{
debug("uploadedfilename = ".$uploadedfilename["path"]);
if(!copy($uploadedfile,$uploadedfilename["path"]))//"$CFG->image_event_dir/".$uploadedfilename))
{
echo("Sorry, Your file failed to upload.<br>" );
echo("Either your file doesn't exist or it was too large." );
return "";
}
else
db_query("UPDATE $CFG->table_event SET image = '$uploadedfilename[filename]' WHERE id=$idevent" );
}
else
echo("Sorry, Your file failed to upload.(filename generation failed)<br>" );
}
return $uploadedfilename;
}
?>
---------------------------------------------------------------------------------------------------------------
A voir également:
- Proteger un formulaire d'upload d'image?
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Proteger cellule excel - Guide
- Protéger un dossier par mot de passe - Guide
- Upload video youtube - Télécharger - Diffusion
4 réponses
Dans ton input pour envoyer l'image tu dois rajouter l'attribut type="image/jpeg image/gif" ou un truc dans le genre...
il faut egalement que tu fasse une verif de securité dans ton php, coté HTML ça ne suffit pas
comment appel tu cette fonction ?
function upload_image($idevent , $uploadedfile , $uploadedfile_name)
comment appel tu cette fonction ?
function upload_image($idevent , $uploadedfile , $uploadedfile_name)
bien avec ce formulaire deja,
<input type="hidden" name="image" value="">
<input type="file" name="uploadfile">
</p>
<p>
<input type="image" name="upload" border="0" src="../images/carret0.gif" width="18" height="18" onClick="OnSubmit('upload')">
Upload image </p>
Que dois je et ou inserer dans ma fonction upload_image? pour securisé
<input type="hidden" name="image" value="">
<input type="file" name="uploadfile">
</p>
<p>
<input type="image" name="upload" border="0" src="../images/carret0.gif" width="18" height="18" onClick="OnSubmit('upload')">
Upload image </p>
Que dois je et ou inserer dans ma fonction upload_image? pour securisé