admin-ajax.php如何工作?


14

我们与外部开发人员遇到了一些问题。

我们希望将对wp-admin站点的访问限制为仅内部访问(通过VPN)。简单地说,它将不会受到外部用户的攻击。我们可以从站点枚举管理员,而不希望他们被网络钓鱼。

我们的开发人员说我们不能这样做,因为该站点需要使管理页面可以从外部访问,以便该页面正常运行。特别是admin-ajax页面。

admin-ajax.php页面做什么?

它位于WordPress的管理部分。最终用户是否未经身份验证访问了它?将其提供给外部用户是否不安全?


ajax-admin.php处理.. ajax请求。请清除标题和一般的问题wordpress.stackexchange.com/faq
Wyck

Answers:


6

admin-ajax.phpWordPress AJAX API的一部分,是的,它确实处理来自后端和前端的请求。尽量不要担心它在其中的事实wp-admin。我认为这也是一个奇怪的地方,但它本身并不是安全问题。我不知道这与“枚举管理员”有何关系。


您是否建议将wp管理员页面从外部访问?并且您知道这样做是否会干扰Ajax管理员的工作?
尼克,

我不是100%知道这意味着什么,但是如果您要求wp-admin通过VPN的IP 访问文件,那么是的,应该会弄乱AJAX。AJAX调用来自用户的浏览器,因此来自用户的IP。
s_ha_dum 2012年

1
您能否解释一下,为什么对我们n00bs来说这不是安全问题?否则,回答得体。
daaxix

3

对于未经身份验证和不受信任的用户,您需要对VPN /防火墙/ Apache设置两个特定的例外.htaccess,它们是:

  • example.com/wp-admin/admin-post.php
  • example.com/wp-admin/admin-ajax.php

这是内部WP和各种插件广泛使用的两个自动魔术端点。

这是关于什么的一些解释admin-post.php

admin-ajax.php的工作方式非常相似,请参见此处的有用说明。


2

我个人认为这是一个可怕的主意。大约两个月前,我们的开发总监坚持我们这样做,这与开发团队的建议大相径庭。对于我们来说,这是一场真正的噩梦和令人难以置信的痛苦,不仅会杀死ajax,还会给我们带来许多管理问题。

我们有40名正式员工和4位开发人员试图同时使用vpn,而且结结巴巴,而且所有用户现在都需要两组密码,一组用于wp,一组用于vpn,而不仅仅是个人使用的共享密码,我表示您还将如何进行安全审核。记住一个安全密码就足够了,更不用说两个了。

加上很多人不知道如何使用VPN的问题,通常这只会引起更多问题。

最终,这是一个可怕的想法,通常由不了解或不了解WordPress的管理人员或更高级别的人提出。他们从可怕的角度看待它,因为它是开源的,所以它也必须是一个安全问题,里面充斥着容易被窃听的漏洞等等。

WordPress是安全的,将wp-admin留在vpn后面不仅使人恐惧,它给团队中的每个成员带来了噩梦

为什么在谈到WordPress时管理类型不信任,为什么它们似乎忘记了主要站点使用WordPress而不使用vpn,例如以mashable为例。

因此,回顾一下:

Ajax将无法在VPN后面运行。

出于上述原因,VPN是一个糟糕的主意

WordPress是安全的,并且会保持不变,如果您保持它和插件最新。

听您的开发人员,您为他们的专业知识付费。我可以向您保证,没有任何事情会破坏工作关系,例如不将您的信任放到个人身上,而必须检查他们的知识。

如果确实要使用VPN,请确保购买足够的用户许可证。


11
我没有足够的分数来否决你,但是如果我愿意,我会。您对信任开发人员一无所知,但您无处可说1)它做什么,或2)为什么在wp-admin中可以。这个答案让我印象深刻。
daaxix

可以使用admin-ajax.php利用脆弱的插件,具体取决于插件的开发方式。许多插件没有经过静态或动态代码分析来进行漏洞测试。WordPress核心也在不断修复漏洞。如果您遵循WordPress安全准则,其中包括诸如限制wp-admin,保持所有最新信息以及限制您安装的插件之类的强化措施,那么暴露的机会就更大了。但是,您不是100%安全的。
tacotuesday

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.