我正在使用CMS。当我把HTML代码放在它的工作时,当我把简单的PHP代码如“hello World”或者当我尝试连接到数据库时,它可以工作。但是,当我放置更复杂的PHP代码(如“phpinfo()”或任何SQL语句,如"$reponse = $bdd->query('SELECT * FROM insription_14juin');"
时,它不起作用。我使用fiddler获得的消息是
403 Forbidden
You don't have permission to access /admin/modules/gestion_articles/updateContenu.php
on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
经过多次测试后,我认为JavaScript文件正在尝试将信息加载到PHP文件中,显然当PHP代码很复杂时,JavaScript文件无权访问PHP文件。
这是JavaScript文件:
$(function() {
$('#savemodif').click(function() {
$('#formModif').append('<img src="images/ajax-loader.gif" alt="Enregistrement en cours..." id="loadingImg" />');
var contenu ="";
var type = $('#type').val();
if(type == '0')
{
tinyMCE.triggerSave();
contenu = $('#contenu').val();
contenu = encodeURIComponent(contenu);
}
else
{
contenu = $('#contenu').val();
contenu = encodeURIComponent(contenu);
}
/* Récupération d'infos nécessaires à la mise à jour */
var id = $('#idcontenu').val();
var oldtitre = $('#oldtitre').val();
/* Récupération des mises à jours */
var titre = $('#titre').val();
var date = $('#date').val();
var publie = 0; if($('#publie').is(':checked')) publie = 1;
var diapo = '0'; if($('#diapo').is(':checked')) diapo = '1';
var prive = 0; if($('#prive').is(':checked')) prive = 1;
$.ajax({
url: 'modules/gestion_articles/updateContenu_test.php',
type: 'POST',
data: 'id='+encodeURIComponent(id)
+ '&oldtitre='+encodeURIComponent(oldtitre)
+ '&titre='+encodeURIComponent(titre)
+ '&date='+encodeURIComponent(date)
+ '&contenu='+contenu
+ '&publie='+encodeURIComponent(publie)
+ '&diapo='+encodeURIComponent(diapo)
+ '&prive='+encodeURIComponent(prive),
success: function(result) {
$('#result').html(result);
$('#loadingImg').fadeOut(1000, function() {
$(this).remove();
});
}
});
$('#oldtitre').attr('value',titre);
return false;
});
});
我已经尝试在cpanel中更改权限,但它不起作用。我重命名了每个htaccess文件,它不起作用。
任何帮助都将不胜感激。
答案 0 :(得分:1)
问题终于解决了,它是关于modsecurity的。技术人员告诉我,modsecurity存在限制。如果您遇到同样的问题,请与您的提供商联系。
我上面发布的代码现在完美无缺。
答案 1 :(得分:0)
您的问题是文件系统的权限。我假设你不是服务器管理员。
向您的服务器管理员发送一封电子邮件,说明正在发生的事情,他会调查并更改权限。
答案 2 :(得分:0)
这是一个黑暗中的镜头,但每当页面的服务器文件夹中缺少占位符文件时,我在我的cms上遇到类似的消息。像index.php一样。
另一件事可能是添加
async: false,
到你的ajax调用,以确保它与适当的数据一起运行。