Wordpress" admin-ajax.php" 404错误

时间:2017-12-09 08:38:25

标签: php jquery ajax wordpress admin-ajax

我创建了一个小型住宿加早餐的网站,但我发现了一个问题,如果它依赖于WordPress或服务器,我不明白。

本网站使用弹出式动画来显示房间描述。问题是这个弹出窗口在上周停止了工作。从浏览器控制台,我注意到整个事情取决于404错误(找不到admin-ajax.php)。这是详细信息:

jquery.js?ver=1.12.4:4 POST http://lettoacastello.net/wp-admin/admin-ajax.php 404 (Not Found)
send @ jquery.js?ver=1.12.4:4
ajax @ jquery.js?ver=1.12.4:4
(anonymous) @ script.js?ver=4.9.1:207
dispatch @ jquery.js?ver=1.12.4:3
r.handle @ jquery.js?ver=1.12.4:3

为了能够暂时解决问题,我只需从仪表板重新安装WordPress 即可。问题不会再发生一整天,一切正常!但第二天所有人都重新开始,问题再次出现(这个周期每天都在这样)。出于这个原因,我不明白它是否是服务器问题。

最后一件非常重要的事情。如果我登录到WordPress管理面板,则弹出窗口没有问题(浏览器识别“admin-ajax.php”文件)。

代码不是由我编写的(开发人员说问题不依赖于他)。

但是,我相信这是控制房间弹出窗口的代码部分:

jQuery(document).ready(function($){

$('.special-room button.btn, .rooms-sec button.btn').live('click', function(e){

    e.preventDefault();

    $('#room.modal').html('');

    var thislink = this;

    var page_id = $(this).data('id');



    $.ajax({

        url: ajaxurl,

        method: 'POST',

        data: 'action=_sh_ajax_callback&subaction=sh_room_detail&post_id='+page_id,

        success: function(res){

            $('#room.modal').html(res);

        }

    });



});

拜托,我可以请你帮忙吗?不幸的是,我不是很技术。

谢谢

3 个答案:

答案 0 :(得分:1)

我从你的评论中拿出这个:

  

感谢@NicoHaase和@LawrenceCherone!在使用admin-ajax.php文件修改一下之后,我找到了导致问题的字符串。如果我删除它,一切正常,直到第二天,当字符串被自动重新创建时。

问题是您的网站遭到黑客攻击,脚本/软件正在使用此代码注入您的网站。

答案 1 :(得分:0)

如果您在登录时一切正常,这不是您的代码的直接问题,而是安全问题:当然您不能调用/wp-admin/中的任何内容(这是后端的文件夹)如果没有登录,但你的代码处理得不好。

如果您需要在没有登录的情况下运行此操作,则必须在PHP代码中完成更多工作。但是如果我们看不到代码那么帮忙就很难了

答案 2 :(得分:0)

评论文件:wp-admin/.htaccess --> #Order Allow,Deny AND #Deny from all 示例:

<FilesMatch ".*\.(phtml|php)$">
#Order Allow,Deny
#Deny from all
</FilesMatch>
<FilesMatch "(index).php$">
#Order Allow,Deny
#Allow from all
</FilesMatch>

来自秘鲁的问候 :D