Problème avec l'upload de fichiers (espace disque et sécurité)

Résolu
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014 - 1 févr. 2012 à 08:22
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014 - 1 févr. 2012 à 10:53
Bonjour à tous

Je travaille sur actuellement sur un projet dans lequel les utilisateurs peuvent créer une page perso. Il faudrait que l'utilisateur puisse remplir sa page et en avoir un aperçu avant de la valider.
Le problème, c'est que si je permets à l'utilisateur d'envoyer des photos dans une galerie photo, mais qu'ensuite il ne valide pas et qu'il quitte le site, les fichiers vont rester sans être liés à aucun contenu. En plus, ça permet à des utilisateurs non enregistrés d'envoyer des fichiers potentiellement dangereux.

Comment faire pour d'une part s'assurer qu'un jpg envoyé en est bien un, et d'autre part gérer ce problème de fichiers qui pourraient rester pour rien?

Quelqu'un aurait une idée?
Merci d'avance

4 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
1 févr. 2012 à 08:49
bonjour

tu peux faire une partie démo ou les fichiers ne sont jamais enregistrés du moins tu permets l'upload de jpg mais chaque jour tu vide le répertoire temporaire par un script soit dans l'index du répertoire démo ou par un cron job. TU SURVEILLES LA TAILLE ET L EXTENSION DANS LE SCRIPT PHP D UPLOAD. Utilise un editeur javascript wyswg

Pour ceux qui veulent faire une page il doivent s’inscrire sur ton site puis il peuvent créer une page avec leur compte, les jpg sont dans une table lié à la table membre par id_client ou id_membre ainsi tu sais à qui sont les images.

Si quelqu'un supprime son compte tu supprimes (le script de suppression) les documents liés avec sont id membres dans les tables (photos,pages ...)






Bonne programmation !
3
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
1 févr. 2012 à 10:11
des fichiers sont vraiment du type de leur extension.


oui cela est relativement simple

tu peux le faire en vérifiant le type mime ou l'extension par des bouts de script php, des fonctions ...
Tapez le texte de l'url ici.

les deux en réalité pour plus de sécurité

un peu de securité
un extrait du pdf

<?php
$blacklist = array(".php", ".phtml", ".php3", ".php4");
foreach ($blacklist as $item) {
   if(preg_match("/$item\$/i", $_FILES['userfile']['name'])) {
       echo "We do not allow uploading PHP files\n";
       exit;
{   
{
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "File uploading failed.\n";
{
<?


PDF Tapez le texte de l'url ici.


tape dans google ou video google

mime control with php

file extension control with php

il y a des centaines d'exemple


Bonne programmation !
3
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
1 févr. 2012 à 09:33
Le répertoire temporaire et le cron semblent être une super idée. Merci :)

Mon client souhaite que les utilisateurs puissent créer la page d'abord, puis qu'ils s'inscrivent s'ils sont convaincus. C'est pour ça que je suis inquiet pour la sécurité.
Il m'est arrivé que quelqu'un envoie un jpg sur un site. Mais quand on l'ouvrait avec notepad, il y avait dedans un script PHP. Le fichier était ensuite appelé d'un site distant (ou inclus, ou autre chose, j'ai pas vraiment compris) et utilisait mon serveur pour envoyer du spam. Alors je me demandais si il existait un moyen de vérifier si des fichiers sont vraiment du type de leur extension.
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
1 févr. 2012 à 10:53
OK

Donc si 'ai bien compris, on peut avoir une extension .jpg par exemple, mais un type MIME qui ne correspond pas?

Merci encore pour les infos.
0
Rejoignez-nous