我创建了一个小型住宿加早餐的网站,但我发现了一个问题,如果它依赖于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);
}
});
});
拜托,我可以请你帮忙吗?不幸的是,我不是很技术。
谢谢
答案 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