securiser mon upload

Ascari
Invité n'ayant pas de compte PHPfrance

06 août 2005, 04:12

Bonjour.
Je fais appel à vous pour m'aider à securiser l'upload de mon site.
Mon probleme est que je n'arrive pas a limiter la hauteur & largeur des images j'ai seulement put mettre une restriction sur la taille.
Le second probleme est que l'utilisation de ma gallerie peut uploader n'importe quel type de fichier j'aimerais que mon site accept que les fichiers ayant l'extension attendue (jpg)
Et enfin 3eme probleme j'aimerais que le fichier uploader soit renomer car j'ai des problemes de fichier ecrassé.
Voici le code du traitement de l'upload de mon site si vous savez m'expliquer comment faire ou modifier mon code.
Je vous remercie d'avance.
<?php
	
	$max_size = 200000;
	$today = date("d-m-Y");								     

	if ($Fichier_size > $max_size || $Fichier_size == 0) { 
		header("location: ../membres.php?up=bad");
	}
	elseif ($Fichier_2_size > $max_size || $Fichier_2_size == 0) { 
		header("location: ../membres.php?up=bad");
	}
	else { 
		include("../config.php");
	
	session_start();
	
	if(!session_is_registered('username') ||!session_is_registered('smartid')) {
    	exit;
    }
	
	db_connect();
	$req = "SELECT * FROM $dbtable WHERE id='$smartid'";
	$res = mysql_query($req);

	$email = mysql_result($res,$i,"email"); 
	$url = mysql_result($res,$i,"url");
	$niveau = mysql_result($res,$i,"niveau"); 
	$ville = mysql_result($res,$i,"ville"); 
	
	// Image 1
    $file_name = str_replace(" ","_",$Fichier_name);  
    copy($Fichier, $file_name);

    $nom = $file_name;
    $nom_mini = 'mini_'.$file_name;

    $size = getimagesize($nom); 
    $largeur = $size[0];
	$hauteur = $size[1]; 
    $dest_width = ($size[0]/3); // La largeur de la miniature est égale un tiers de celle de l'originale
    $dest_eight = ($size[1]/3); // La hauteur de la miniature est égale un tiers de celle de l'originale

    $src_img = imagecreatefromjpeg($nom);
    $dst_img = imagecreatetruecolor($dest_width,$dest_eight);

    imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_eight, $size[0], $size[1]);
    imagejpeg($dst_img, $nom_mini, 60);
    imagedestroy($src_img);
    imagedestroy($dst_img);    

	  
	$requete2 = "insert into Web_Galerie VALUES('', '$cat', '$username', '$titre', '$email', '$datecrea', '$niveau', '$ville', '$url', '$nom', '$largeur', '$hauteur', '$logiciel', '$today', '$commentaire', '$smartid', '$nom_mini')";
	mysql_query($requete2);

	header("location: ../membres.php?up=ok");
}
?>

Mammouth du PHP | 19672 Messages

06 août 2005, 07:41

Note de modération : merci de lire les règles du forum. J'ai procédé à la correction puisque comme invité tu ne peux pas éditer ton message.

Lorsque tu mets du code, tu as au dessus de la zone de saisie du message des boutons [php] ou [code], il servent à mettre ces partie de message dans un encadré en conservant l'indentation et en ajoutant une coloration syntaxique pour le premier. Merci de penser à ceux qui lisent ton message en leur rendant la lecture moins pénible.

Règles du forum, 1ière ligne de l'article 3
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 199 Messages

06 août 2005, 08:02

Pour n'accepter que les jpg il faut mettre une condition si genre si extension = jpg bouger le fichier sinon refuser !!!