8791 sujets

Développement web côté serveur, CMS

HELP SOS probleme accé refusé
Smiley decu
Bonjour et merci à ceux qui veulent bien m'aider,

Développeur récent j'ai une cliente qui m' a confié la gestion de son site
réalisé en 2006.
Il posséde une fonction backoffice
Le backoffice fonctionne sans soucis pour charger vidéo, photo et mise à jour de certains rubriques et textes.
Depuis quelques jours la fonction de mise à jour pour certaines rubriques ne fonctionne plus, on saisie les mises à jour mais quand nous confirmons nous avons le message d'erreur suivant :

You don't have permission to access /back_office/change_content_standard.php on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Rien n'a été changé voici le code de la page

<?PHP

// on ouvre la session

session_start();

//conf sql/php

require("conf.inc.php&quotwink;
$connexion = mysql_connect("$dbhost","$user","$password&quotwink;
if ( !$connexion ) { echo "Impossible d'effectuer la connexion"; exit; }

// sélection de la base de données
$db = mysql_select_db("$usebdd", $connexion);
if ( !$db ) { echo "Impossible de sélectionner cette base de données"; exit; }

// *****************************
// variables transmises
// $_GET['id'] -> variable de l'identité du contenu concerné
// *****************************

if(isset($_POST['validation'])){
// on valide le formulaire donc on exécute UPDATE ou INSERT
if($_POST['id']=="&quotwink{
//ici id est null donc c'est un INSERT
$req = "INSERT INTO `contenu_texte_V2` ( `id` , `pourMoi` , `identifiant` , `date` , `titre_fr` , `titre_1` , `titre_2` , `titre_3` , `description_fr` , `description_1` , `description_2` , `description_3` , `fichierp` , `fichierg` , `cadre` , `position` , `active` ) VALUES ('','','".$_POST['key']."',NOW(),'".$_POST['titre_fr']."','".$_POST['titre_1']."','".$_POST['titre_2']."','".$_POST['titre_3']."','".$_POST['description_fr']."','".$_POST['description_1']."','".$_POST['description_2']."','".$_POST['description_3']."','".$_POST['photoChoix']."','".$_POST['photoChoix2']."','".$_POST['cadrePhoto']."','".$_POST['position']."','1')";

}else{
// si les champs pour la photo sont vide on ne les mets pas dans la requete
if($_POST['photoChoix']!="" and $_POST['photoChoix2']!="" and $_POST['cadrePhoto']!="&quotwink{
$addReqPhoto = "fichierp='".$_POST['photoChoix']."',fichierg='".$_POST['photoChoix2']."',";
}

// ici id vaut quu chose donc c'est un UPDATE
$req = "UPDATE contenu_texte_V2 SET titre_fr='".$_POST['titre_fr']."',titre_1='".$_POST['titre_1']."',titre_2='".$_POST['titre_2']."',titre_3='".$_POST['titre_3']."',description_fr='".$_POST['description_fr']."',description_1='".$_POST['description_1']."',description_2='".$_POST['description_2']."',description_3='".$_POST['description_3']."',cadre='".$_POST['cadrePhoto']."',".$addReqPhoto." position=".$_POST['position']." where id='".$_POST['id']."'";
$id = $_POST['id'];
}

// on copie l'image si partie gratuite dans le dossier image
if($_SESSION['partie']=="gratuit" and $_POST['photoChoix']!="&quotwink{

//$repertoire="/var/www/crazymouse/bara/membre/galerie".$_POST['photoChoixType']."/";
//$repertoireWeb="http://www.crazy-mouse.com/bara/membre/galerie".$type."/";
//suppresion si demandé
//$repertoire="/var/www/bara/membre/galerie".$_POST['photoChoixType']."/";
//$repertoireWeb="http://www.agnes-nue.com/membre/gal

$fileToCopy = "/var/www/bara/membre/galerie".$_POST['photoChoixType']."/".$_POST['photoChoix'];
$fileDest = "/var/www/bara/image/".$_POST['photoChoix'];
if(!copy($fileToCopy,$fileDest)){echo "échec de la copie";}
}

mysql_query($req,$connexion);
if($_POST['supPhoto']=="ok&quotwink{// on supprime le lien vers la photo d'illustration
$req2 = "UPDATE contenu_texte_V2 SET fichierp='".$_POST['photoChoix']."',fichierg='".$_POST['photoChoix2']."',cadre='".$_POST['cadrePhoto']."' where id='".$_POST['id']."'";
mysql_query($req2,$connexion);
}
if($_POST['id']=="&quotwink{$id = mysql_insert_id();}
//requete ---------------


// on retoure au formulaire
//header("location:change_content_standard.php?id=".$id."&key=".$_POST['key']);
//exit;
}


if(isset($_GET['id'])){
// requete ---------------
$req = mysql_query("SELECT * FROM contenu_texte_V2 WHERE id='".$_GET['id']."'&quotwink;
$ligne = mysql_fetch_array($req);
$titre_fr = $ligne['titre_fr'];
/*$titre_1 = $ligne['titre_1'];
$titre_2 = $ligne['titre_2'];
$titre_3 = $ligne['titre_3'];*/

$description_fr = $ligne['description_fr'];
/*$description_1 = $ligne['description_1'];
$description_2 = $ligne['description_2'];
$description_3 = $ligne['description_3'];*/

$position = $ligne['position'];
$photo = $ligne['fichierp'];
if($ligne['cadre']=="video&quotwink{ $selection1=" selected";}elseif($ligne['cadre']=="photo&quotwink{ $selection2=" selected";}

}else{}


?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Contenu de la rubrique</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="lien_or.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
</head>

<body>
<form action="" method="post" enctype="multipart/form-data" name="form1">
<table width="600" border="0" cellspacing="1" cellpadding="0">
<tr align="center">
<td colspan="2" class="bmauve">ajouter/changer le contenu</td>
</tr>
<tr>
<td><font size="6">1.</font><span class="textnoirgpetit">(changer le titre)</span></td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2"><p><span class="textnoirg">titre du paragraphe : </span><br>
<input name="titre_fr" type="text" class="textnoirgpetit" id="titre_fr" value="<? echo $titre_fr; ?>" size="50" maxlength="100">
<br>
<br>
</p>
</td>
</tr>
<tr>
<td colspan="2"><hr noshade class="champ">
</td>
</tr>
<tr>
<td colspan="2" class="textnoirg"><table width="600" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFEA">
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><font size="6">2.</font><span class="textnoirgpetit">(changer
le texte)</span></td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2"><p><span class="textnoirg">Texte du paragraphe
:<br>
<textarea name="description_fr" cols="100" rows="6" class="textnoirgpetit" id="description_fr"><? echo $description_fr; ?></textarea>
</span><span class="textnoirg"></span><br>
</p>
</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2"><span class="textnoirg">Position :</span>
<input name="position" type="text" class="textnoirgpetit" id="position" value="<? echo $position;?>" size="3">
</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2"><input name="validation" type="hidden" id="validation" value="ok">
<input name="id" type="hidden" id="id" value="<? echo $_GET['id'];?>">
<input name="key" type="hidden" id="key" value="<? echo $_GET['key'];?>">
<input name="key" type="hidden" id="key" value="<? echo $_POST['key'];?>">
</td>
</tr>
<tr>
<td colspan="2"><table width="600" border="0" cellspacing="1" cellpadding="0">
<tr bgcolor="#FFFFFF">
<td colspan="2" align="center" class="bmauve"><br>
Photo illustrative du paragraphe</td>
</tr>
<tr>
<td width="243"><font size="6">3.</font><span class="textnoirgpetit">(partie
photo)</span></td>
<td width="354">&nbsp;</td>
</tr>
<tr>
<td colspan="2"><p><br>
</p>
</td>
</tr>
<tr>
<td colspan="2"><hr noshade class="champ">
</td>
</tr>
<tr>
<td colspan="2" class="textnoirg">Photo d illustration (a)</td>
</tr>
<tr>
<td valign="top"><span class="textnoirgpetit">Actuellement -&gt;</span> <span class="b_o">
<? if($photo=="&quotwink{echo "aucune photo";}else{echo $photo;} ?>
<br>
</span> <? if($photo!="&quotwink{ ?><input name="supPhoto" type="checkbox" id="supPhoto" value="ok">
<span class="textnoirgpetit">supprimer la photo </span><? } ?> </td>
<td align="center"><p><a href="#" class="b_o" onClick="MM_openBrWindow('photo_selection.php','photo','status=yes,scrollbars=yes,resizable=yes,width=450,height=400')">Ins&eacute;rer
une photo</a></p>
<p align="right"><span class="textnoirgpetit"> <strong>votre
choix</strong> -&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <br>
<span class="textnoirgpetit">Nom de l image illustrative
:</span> <input name="photoChoix" type="text" class="textnoirgpetit" id="photoChoix">
<span class="textnoirgpetit"><br>
Nom du fichier li&eacute; (photo ou vid&eacute;o) :</span>
<input name="photoChoix2" type="text" class="textnoirgpetit" id="photoChoix3">
<span class="textnoirgpetit"></span><span class="textnoirgpetit"> <br>
Type du fichier :</span> <input name="photoChoixType" type="text" class="textnoirgpetit" id="photoChoixType">
<br>
<span class="textnoirgpetit"><em>***Laisser les 3 champs
ci-dessus se remplir automatiquement &agrave; l aide de la s&eacute;lection
que
vous
ferez
sur la fen&ecirc;tre que vous
avez ouverte (cliquez sur &quot;ins&eacute;rer une photo&quotwink.</em></span></p></td>
</tr>
<tr>
<td colspan="2" class="textnoirgpetit">Cadre de d&eacute;coration
de la photo <strong>(b)</strong> :
<select name="cadrePhoto" id="cadrePhoto">
<option value="video"<? echo $selection1;?>>vid&eacute;o</option>
<option value="photo"<? echo $selection2;?>>photo</option>
</select></td>
</tr>
<tr>
<td colspan="2" class="textnoirgpetit"><em>Cette photo doit faire
maxi 200 px de large et 300 px de hauteur</em></td>
</tr>
<tr>
<td colspan="2"><hr noshade class="champ">
</td>
</tr>
<tr>
<td colspan="2" class="textnoirgpetit"><p><strong>Aide :</strong></p>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td colspan="2" class="textnoirgpetit"><strong>Aide HTML</strong></td>
</tr>
<tr>
<td width="50%" class="textnoirgpetit">Saut de ligne</td>
<td class="textnoirg">&lt;br&gt;</td>
</tr>
<tr>
<td width="50%" class="textnoirgpetit">Italic</td>
<td class="textnoirg">&lt;i&gt;texte&lt;/i&gt;</td>
</tr>
<tr>
<td width="50%" class="textnoirgpetit">Gras</td>
<td class="textnoirg">&lt;b&gt;texte&lt;/b&gt;</td>
</tr>
<tr>
<td width="50%" class="textnoirgpetit">Soulign&eacute;</td>
<td class="textnoirg">&lt;u&gt;texte&lt;/u&gt;</td>
</tr>
<tr>
<td width="50%" class="textnoirgpetit">trait de s&eacute;paration</td>
<td class="textnoirg">&lt;hr size=&quot;1&quot; noshade
class=&quot;hr&quot;&gt;</td>
</tr>
<tr>
<td colspan="2" class="textnoirgpetit"><p>Vous pouvez faire
des liens interactifs dans vos paragraphes partie membre
et visiteur.<br>
Exemple : vous pouvez dans le partie membre dans le premier
paragraphe de la rubrique vid&eacute;o faire un lien &quot;t&eacute;l&eacute;chargez
un extrait&quot; qui pointera sur la page &quot;galerie vid&eacute;o&quot;.<br>
1/ rep&eacute;rez l identifiant de la page que vous souhaitez
cibler (en allant sur le site &eacute;xaminez dans l url la
valeur de &quot;idNav=&quot;. ex -&gt; la galerie photo a pour identifiant
&quot;9&quot;, <strong>?idNav=9<br>
</strong>Reste &agrave; faire le lien URL comme suit -&gt;<br>
<strong>&lt;a href=&quot;?idNav=9&quot; class=&quot;blanc&quot;&gt;T&eacute;l&eacute;chargez
un extrait&lt;/a&gt;<br>
</strong>ou<br>
<strong>&lt;a href=&quot;?idNav=9&quot; class=&quot;bleu&quot;&gt;T&eacute;l&eacute;chargez
un extrait&lt;/a&gt;</strong></p></td>
</tr>
</table>
<p><strong>a/
</strong>ce
panneau vous permet de cr&eacute;er des paragraphes attach&eacute;s aux rubriques
que vous avez pr&eacute;alablement cr&eacute;&eacute;s.<br>
Ces paragraphes fonctionnent aussi bien pour la partie membre
que pour la partie gratuite (visite).<br>
La gestion c&ocirc;t&eacute; visiteur se fera automatiquement.<br>
Exemple : si vous cr&eacute;ez un paragraphe dans la rubrique &quot;accueil&quot;
de la partie gratuite, la photo illustrative, que vous choisirez,
sera cliquable mais redirigera l internaute sur le module d acc&egrave;s
(paiement).<br>
Ci ce paragraphe est cr&eacute;&eacute; dans la partie membre cette m&ecirc;me
image sera elle aussi cliquable mais ouvrira le fichier li&eacute;
(image grand format ou vid&eacute;o)</p>
<p><strong>b/</strong> ce champ d option vous permet de faire un choix au niveau
design (pr&eacute;sentation de la photo)<br>
En s&eacute;lectionnant &quot;photo&quot; un encadr&eacute; de photo entourera l image.<br>
En s&eacute;lectionnant &quot;vid&eacute;o&quot;
un encadr&eacute; de vid&eacute;o entourera l image.</p>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input name="cat" type="hidden" id="cat" value="<? echo $_GET['cat']; ?>">
<input name="key2" type="hidden" id="key2" value="<? echo $_GET['key']; ?>">
<input name="validation" type="hidden" id="validation" value="ok">
</td>
</tr>
</table></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2"><hr noshade class="champ">
</td>
</tr>
<tr align="center">
<td colspan="2"><input name="Submit" type="submit" class="textnoirgpetit" value="--&gt; Valider &lt;--">
</td>
</tr>
</table>
</form>
<form name="form1" method="post" action="view_menu.php">
<input name="Submit2" type="submit" class="textnoirgpetit" value="&lt;&lt; retour &agrave; la page des menus">
</form>
<p>&nbsp;</p>
</body>
</html>
Quelqu'un aurez t'il SVP une idée de piste?
Serveur APACHE2 sous Cpanel

Merci beaucoup
Reply


Liens - Qui sommes-nous ? - Informations légales - Contact - © viaPHP.net

viaPHP, cours PHP
Salut,

L'erreur me parait suffisamment explicite. Tu n'a pas les droits suffisants pour exécuter le script PHP ( quels sont les droits d’accès à ce fichier?)

Et la page d'erreur (pointé par ErrorDocument dans le htaccess ou le vhost) sensé s'afficher n'existe pas.
Bonjour,

Merci pour ta reponse.

Les droits sont pour la Mysql tous privilèges
le schmod 644

Pour le .htaccess je ne comprend pas bien, j'avoue ne pas comprendre.

Comment se fait il que pour les autres rubriques je n'ai pas de souci?

Meric pour ton aide
arkreom2 a écrit :
Les droits sont pour la Mysql tous privilèges
le schmod 644


ce sont les droits de /back_office/change_content_standard.php qui posent problémes, vérifie que les droits de ton user php correspondent a ceux du fichier. (généralement 755 sur les dossiers et 644 sur les fichiers)

arkreom2 a écrit :
Pour le .htaccess je ne comprend pas bien, j'avoue ne pas comprendre


En fait l'erreur sur ton fichier génére une erreur HTTP 403, du coup ton serveur essaye de rediriger sur la page prévu pour les 403 (peut être que Cpanel le fait tout seul) et comme la page d'erreur 403 n'existe pas le serveur léve une 2eme erreur HTTP 404 cette fois.
Merci beaucoup

Par contre pour les autorisations elles sont biens toutes en 755 et 644 c'est pour cela que je ne comprend pas

et je ne trouve pas la solution d'autant plus que les changements pour les autres rubriques se font sans problème
Modérateur
Salut,

en cmd unix, c'est simple :

D'une manière générale et avant de faire les manip ci-dessous, voir falloir voir les droits de tes fichiers :

cd /var/www/mon_dossier_en_question/
ls -lah


pur changer les droits :

sudo chmod -Rf 755 /var/www/mon_dossier_en_question/


Il se peut qu'il y ait aussi un souci de user:group :

sudo chown -Rf nomUser:nomGroup /var/www/mon_dossier_en_question/


Si le serveur est externe, va falloir te connecter en SSH.

ssh login@ip_ou_nom_de_domain

Modifié par niuxe (10 Oct 2012 - 20:19)
Bonjour Merci pour la réponse mais toutes les autorisations sont OK. Lhébergeur de ma cliente me l'a confirmé

Merci
Modérateur
Quand tu importes le projet sur ta machine ça fonctionne ?
Dans Apache, il y a pas une interdiction d'accès ?
Modifié par niuxe (11 Oct 2012 - 23:12)
Bonjour

Avec Wamp en local le même probleme.

Le back office permet de charger des photos vidéos cela se passe sans probléme
des qu"il s'agit de changer un titre ajouter une rubrique j'ai l' erreur.

Cela fonctionnait parfaitement et d'un seul coup sans raison le bugg

Merci pour l'aide apportée