unlink et redirection

Petit nouveau ! | 1 Messages

09 nov. 2012, 22:27

Bonjour,

Suite à la suppression d'un fichier sur le serveur, je veux rediriger vers une nouvelle page. Voici mon code :
<?
$Id_Album = $_GET['id_album'];
$Pict = $_GET['pict'];
	
if ($Id_Album != Null)
{
// suppression du document 
@unlink("$Pict"); 

		$URL = "EditAlbum.php?id_album=$Id_Album";
	print "<script language=\"JavaScript\">location.replace('$URL');</script>";
}
?>
Suite à ce code, le fichier est bien supprimé du serveur mais la redirection ne s'opère pas. J'y perds mon latin.
Si vous avez un peu de temps, merci de m'aider.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

09 nov. 2012, 23:50

salut,

il faut vérifier l'existance des index dans $_GET avant de les utiliser.
l'arobase est une très mauvaise habitude surtout en phase de dev => donc a supprimer

Pas besoin de multiplier les variables et quand tu les utilisent pas besoin de les mettres dans une chaine de caractère (") ;)

/!\ Attention : ton code est une faille de sécurité on peux supprimer n'importe quel fichier !!!!!
ton code corrigé :
<?php
        
if (!empty( $_GET['id_album'] && !empty($_GET['pict'])){
// suppression du document 
if (file_exists($_GET['pict'])) {
unlink($_GET['pict']);  // Attention ceci est une très très grosse faille de sécurité !!!

                header('Location: EditAlbum.php?id_album='.$_GET['id_album'];
}
}
?>
 
@+
Il en faut peu pour être heureux ......