Як працює admin-ajax.php?


14

У нас виникають деякі проблеми із зовнішнім розробником.

Ми хочемо обмежити доступ до wp-adminсайту лише до внутрішнього доступу (через VPN ). Просто так на нього не будуть нападати зовнішні користувачі. Ми можемо перерахувати адміністраторів із сайту та не хочемо, щоб вони фіширувалися.

Наш розробник каже, що ми не можемо цього зробити, оскільки сайт повинен мати сторінку адміністратора зовнішньо, щоб сторінка діяла. конкретно на admin-ajaxсторінці.

Що робить admin-ajax.phpсторінка?

Він розташований у розділі адміністратора WordPress. Чи отримують доступ до нього не автентифіковані кінцевими користувачами? Чи небезпечна практика надавати це доступним зовнішнім користувачам?


ajax-admin.phpручки .. прохання Ajax. Очистіть назву та питання взагалі, wordpress.stackexchange.com/faq
Wyck

Відповіді:


7

admin-ajax.phpє частиною API WordPress AJAX , і так, він обробляє запити як із бекенда, так і з фронту. Постарайтеся не турбуватися про те, що воно є wp-admin. Я думаю, що це теж дивне місце для цього, але це не є проблемою безпеки сама по собі. Як це стосується "перерахування адміністраторів", я не знаю.


чи рекомендуєте ви перенести сторінку адміністратора wp із зовнішньої доступності? а чи знаєте ви, якщо це зробить щось з порушенням адміністратора ajax?
нік

Я не на 100% впевнений, що це означає, але якщо вам потрібен доступ до файлів wp-adminз IP-адреси вашого VPN, то так, це повинно зіпсувати AJAX. Дзвінки AJAX надходять із браузера користувача, тому надходять із IP-адреси користувача.
s_ha_dum

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

Моя особиста думка, що це бога жахлива ідея. Близько двох місяців тому наш директор з розробки наполягав, що ми робимо саме це, на противагу порадам команди Dev. Це справжній кошмар і неймовірний біль для нас, він не тільки вбиває аякса, а разом і разом з нами створює стільки проблем з адміністрацією.

У нас 40 штатних співробітників і 4 розробники, які намагаються використовувати vpn часом, і він просто заїкається, а також всім користувачам зараз потрібні два набори паролів, один для wp і один для vpn, і це не просто загальний пароль, це індивідуальні, я означає, як інакше ви зробили б аудит безпеки. Досить важко запам’ятати один безпечний пароль, не кажучи вже про два.

Додайте до проблеми, що багато людей не знають, як використовувати vpn, і часто це викликає більше проблем.

Зрештою, це жахлива ідея, і її часто висувають керівництво або вище, які не знають і не розуміють WordPress. Вони бачать у жахливому світлі, що, оскільки це відкритий код, це також має бути проблемою безпеки, наповненою легко використовуваними подвигами тощо. Старіння.

WordPress захищений і тримає wp-адмініструвальника за vpn - це не лише страх, що надихається, він представляє кошмар для кожного члена команди

Чому типи управління не мають довіри, коли мова заходить про WordPress, вони, здається, забувають, що основні сайти використовують WordPress і не використовують vpns, подивіться, наприклад, на mashable.

Отже, резюмувати:

Ajax не працюватиме за vpn.

Vpn - жахлива ідея з вищезгаданих причин

WordPress захищений і залишатиметься таким, якщо ви будете постійно його оновлювати та додатки.

Слухайте свого Dev, ви платите їм за їхній досвід. Я можу вам пообіцяти, що ніщо не підриває робочих відносин, як, наприклад, не довіряти особі і не потрібно перевіряти їх знання.

Якщо ви хочете користуватися vpn, не забудьте придбати достатню кількість ліцензій користувача.


11
У мене ще недостатньо балів, щоб підкреслити вас, але я б, якби. Ви продовжуєте довіряти довірі розробникам, але ніде не говорите 1) що це робить, або 2) чому це нормально в wp-admin. Я не вражена цією відповіддю.
daaxix

Вразливі плагіни можна використовувати за допомогою адмін-ajax.php, залежно від того, як розробляється плагін. Багато плагінів не проходять статичний або динамічний аналіз коду для тестування на вразливість. Ядро WordPress також постійно виправляє вразливості. Якщо ви дотримуєтесь рекомендацій щодо безпеки WordPress, які включають загартування, як обмеження wp-адміністру, постійне оновлення та обмеження встановлених плагінів, експозиція буде обмежена. Однак ви не на 100% захищені.
такоту вівторок

2

Якщо ви хочете обмежити доступ до бекенда WP (наприклад:) wp-admin, просто використовуйте .htaccessправило в wp-adminкаталозі.

Перегляньте цю статтю для загального огляду: Захист паролем каталогу за допомогою .htaccess

Також ознайомтеся з цією темою для вашого конкретного випадку: Захист паролем / wp-admin /


1
Або якщо ви хочете зробити це по IP: betterwp.net/wordpress-tips/protect-wordpress-wp-admin-folder
skim-
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.