Bonjour,

Alors mon problème est le suivant. J'ai créé un script php permettant à un utilisateur de changer sa photo de profil, or, lors de l'envoi de sa photo au serveur :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<h3>PHOTO</h3><br>
<img class="col-lg-12" src="assets/img/PhotoProfil/'.$PhotoProfil.'">
<form class="col-lg-12" method="post" action="CLASS/Administrateur/receptionform.php?uploadphotoprofil" enctype="multipart/form-data">
    <br><input type="file" name="photoprofil"/>
    <br><button id="envoyerphotoprofil" type="submit" class="btn btn-default centered">Envoyer</button>
</form>

il fait appelle à ce script là :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
require_once('administrateur.class.php');
require_once('PreparationREQAdministrateur.php');
session_start();
$Admin = unserialize($_SESSION['Objet']);
require_once (dirname(dirname(__FILE__)).'/MyPDO.php');
$PrepREQ = new PreparationREQAdministrateur(new MyPDO());
$retour = false;
print_r($Admin->ArrayProfil());
function nettoyerChaine($chaine) //afin de pouvoir renommer le fichier dans une syntaxe appropriée
{
	$caracteres = array(
			'À' => 'a', 'Á' => 'a', 'Â' => 'a', 'Ä' => 'a', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ä' => 'a', '@' => 'a',
			'È' => 'e', 'É' => 'e', 'Ê' => 'e', 'Ë' => 'e', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', '€' => 'e',
			'Ì' => 'i', 'Í' => 'i', 'Î' => 'i', 'Ï' => 'i', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i',
			'Ò' => 'o', 'Ó' => 'o', 'Ô' => 'o', 'Ö' => 'o', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'ö' => 'o',
			'Ù' => 'u', 'Ú' => 'u', 'Û' => 'u', 'Ü' => 'u', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'u', 'µ' => 'u',
			'Œ' => 'oe', 'œ' => 'oe',
			'$' => 's');
 
	$chaine = strtr($chaine, $caracteres);
	$chaine = preg_replace('#[^A-Za-z0-9]+#', '-', $chaine);
	$chaine = trim($chaine, '-');
	$chaine = strtolower($chaine);
 
	return $chaine;
}
 
if (isset($_GET['uploadprofil']))
{
 
	if ($Admin->Modifier($_POST['Nom'], $_POST['Prenom'], $_POST['Tel'], $_POST['Email']))
	{
	$NewAdmin = new administrateur ($Admin->GetIdentifiants()['Login'], $Admin->GetIdentifiants()['MDP']);
	$_SESSION['Objet'] = serialize($NewAdmin);
	$retour = array (error => 0, gritter_titre => 'Mise à jour de votre profil', gritter_msg => 'Les modifications apportées à votre profil ont bien été prises en compte');
	}
	else
	{
	$retour = array (error => 1, gritter_titre=> 'Erreur lors de la modification', gritter_msg => 'La modification des informations de votre profil a échouée.<br>Contactez l\'administrateur du site.');
	}	
}
 
if (isset($_GET['uploadphotoprofil']))	
{	
	if ($PrepREQ->selectById($Admin->Arrayprofil()['ID']))
	{
		if ($_FILES['photoprofil']['error'] <= 0)
		{
			$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );	// Liste des extensions de fichier valides
			$extension_upload = strtolower(substr(strrchr($_FILES['photoprofil']['name'],'.') ,1)); //1. strrchr renvoie l'extension avec le point (« . »). 	//2. substr(chaine,1) ignore le premier caractère de chaine. 	//3. strtolower met l'extension en minuscules.
			if (in_array($extension_upload,$extensions_valides))
			{
				$titreImage = nettoyerChaine($Admin->ArrayProfil()['Nom'].'-'.$Admin->ArrayProfil()['Prenom']);
				$URLAlbum = 'PhotoProfil';
				$nom = "assets/img/{$URLAlbum}/{$titreImage}.{$extension_upload}";
				$resultat = move_uploaded_file($_FILES['photoprofil']['tmp_name'], dirname(dirname(getcwd())).'/'.$nom);
				if ($resultat)
				{
					if($Admin->UpdateInsertPhotoProfil($titreImage, $titreImage.'.'.$extension_upload))
					{
					$retour = array (error => 0, gritter_titre=> 'Succés lors de la modification', gritter_msg => 'La modification de votre photo de profil a été prise en compte' );
					}
					else
					{
					$retour = array (error => 1, gritter_titre=> 'Erreur lors de la modification', gritter_msg => 'Erreur dans la modification de la base de données.<br>Contactez l\'administrateur du site.');			
					}
				}
				else {$retour = array (error => 1, gritter_titre=> 'Erreur lors de la modification', gritter_msg => 'Une erreur s\'est produite lors de l\'envoi du fichier dans les dossiers du serveur .<br>Contactez l\'administrateur du site.');}	
 
			}
			else {$retour = array (error => 1, gritter_titre=> 'Erreur lors de la modification', gritter_msg => 'Extensions d\'images acceptées : .png, .jp(e)g, .gif');}
		}
		else {$retour = array (error => 1, gritter_titre=> 'Erreur lors de la modification', gritter_msg => $retour['gritter'].'Erreur dans l\'upload votre photo de profil.<br>Contactez l\'administrateur du site.');}
	}
else {$retour = array (error => 1, gritter_titre=> 'Erreur lors de la modification', gritter_msg => $retour['gritter'].'Vous n\'êtes pas connecté');}
}
 
header("Location: ../../profil.php?error=".$retour['error']."&gritter_titre=".$retour['gritter_titre']."&gritter_msg=".$retour['gritter_msg']."");

Seulement le serveur sur lequelle j'ai uploader mon site m'a bloqué l'accés à toute les page suite à l'éxécution de ce script. Je tombe donc sur cette page lors ce que je vais à la racine de mon serveur :

Nom : 929903Capture.png
Affichages : 126
Taille : 213,6 Ko

et quand je vais sur un chemin différent :

Forbidden

You don't have permission to access /****/*****/ on this server.

Merci d'avance de l'aide que vous pourrez m'apporter.

P.S : Je suis le seul à qui cela le fait, lorsque j'utilise un proxy j'arrive parfaitement à accéder au site.