Що таке URL-адреса для входу користувача (він же як приховати форму входу?)


10

Я не хочу дозволити відвідувачам реєструватися на моєму веб-сайті; однак я вважаю необхідним мати єдиного зареєстрованого користувача для тестування. Наприклад, я опублікую статтю з обмеженим доступом, щоб мій користувач-тестовик міг бачити, як ця стаття виглядає на сайті, не "перевозячи будь-яку брудну білизну" для широкої громадськості (добре, всі 1 / день, хто насправді відвідує ...) .

Моя проблема на даний момент полягає в тому, що я закінчую непридатність веб-сайту, оскільки мені потрібно опублікувати / скасувати публікацію форми для входу користувачів. В даний час я "обходжу" цю проблему, приховуючи форму входу в підкатегорію, щоб вона була не відразу видно випадковому відвідувачеві. Чи можливо створити альтернативний метод (наприклад, власну URL-адресу), який дозволить моєму користувачеві тестування переглядати вміст, позначений як обмежений, не змінюючи те, що бачить гість із загальнодоступним доступом?

Відповіді:


8

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

Тоді просто надайте клієнту URL.

Отже, кроки такі:

  1. Створіть нове меню, назвіть його Приховане
  2. Не публікуйте модуль нового меню
  3. Додайте новий пункт меню, виберіть "Диспетчер користувачів" та форму входу
  4. Назвіть пункт меню Увійти або щось таке, щоб ви знали, що це таке, але змініть псевдонім на те, що хтось не здогадається.
  5. Перевірте форму, перейшовши на веб-сайт yoursite.com/aliasname

10

Як продовження відповіді Брайана Піта:

Якщо перейти до URL-адреси

domain.com/index.php?option=com_users&view=login

Ви можете увійти, не встановлюючи пункту меню або будь-якої проблеми з публікацією / скасування публікації. У Joomla це можна назвати якоюсь проблемою, оскільки знаючи свій шлях навколо себе, ви все ще можете зареєструватися / увійти, якщо ви знаєте структуру URL. Існують правила для запобігання цього, але зазвичай за замовчуванням ви можете просто використовувати прямі шляхи, як, щоб дістатися туди, куди вам потрібно йти.

http://www.joomla.org/index.php?option=com_users&view=login

Ось це на роботі, навіть до головного сайту Joomla, який не має прямого доступу до входу, можна отримати доступ таким чином.

Моя думка, переконайтеся, що ви також користуєтеся належним ACL, якщо його "просто" зареєстровані користувачі можуть потрапити будь-хто, хто знає структуру Joomla.


Чи є аналогічна URL-адреса для /index.php?option=com_users&view=logout (яку я вважав інтуїтивно зрозумілою, але виявляється невірною)?
бобтехімік

Ви маєте на увазі автоматично вийти? Це трохи дивно, для входу в joomla потрібні деякі дані про публікацію, отже форма / кнопка. Це посилання в основному приведе вас до кнопки.
Джордан Рамстад

Якщо ви дійсно переживаєте за те, щоб люди потрапляли на цю сторінку, ви можете встановити вигадливий плагін, який змушує користувача використовувати маркер як частину URL-адреси (я знаю, що він є для адміністратора, майже впевнений, що він є для передньої сторінки кінець) ... але ви також можете встановити це: extensions.joomla.org/extensions/access-a-security/…, який блокує IP-адреси, якщо користувач намагається сказати, 10 разів для входу в систему. Він також повідомляє вас. Це відкриє вам очі на те, як часто ваш сайт атакують. Я помітив, що 100% спроб також використовують "admin" як ім'я користувача.
Брайан Торф

Я просто хотів сказати, що навіть без пунктів меню вхід / реєстрація все ще доступний. Тож якщо є потреба увійти, не маючи справу з пунктом меню, можливо, але це також означає, що це може зробити кожен. Якщо реєстр не заблокований, будь-хто також може створити обліковий запис і отримати доступ до будь-якої «секретної» сторінки, якщо немає ACL, який би це запобігав. Це можна зробити, створивши додаткову групу ACL та зробивши користувача, який може отримати доступ до неї також у цій групі. Сторінка, про яку йдеться, також вимагає цієї групи.
Йордан Рамстад

Гм, які хороші ACL, якщо ви ще не ввійшли в систему. Я розумію, що ви не можете приховати публічну сторінку входу без спеціального плагіна. Незважаючи на те, що, за винятком грубої атаки, якщо у вас немає входу, ви не можете зайти дуже далеко. Я не бачу користі в тому, щоб возитися з цим.
Брайан Торф

4

Ви повинні мати змогу досягти цього, змінивши макет форми для входу на передній частині. Додайте код PHP біля верхньої частини файлу макета. Цей доданий код перевіряє спеціальний параметр у URL-адресі та на певне значення. Якщо хтось намагається отримати доступ до сторінки входу через будь-яку URL-адресу, але не включає спеціальний параметр і конкретне значення (наприклад, abc = xyz ), код видає "return"; щоб макет форми не оброблявся для відображення.

З цим кодом у файлі макета, що перекриває, лише користувач, який знає URL-адресу (що включає цей спеціальний параметр і прийнятне значення), зможе використовувати цю форму входу.

Наприклад: секретна URL-адреса може бути

mydomain.com/?option=com_users&view=login&abc=xyz

Потім додайте цей код вгорі верхнього файла макета для форми входу:

if(JFactory::getApplication()->input->get('abc')!='xyz'){
    return;
}

Хороша ідея! Це досить просте рішення для відключення перегляду. Він також може бути розширений до модуля, якщо це необхідно (хоча модуль не має прямого URL для доступу).
Джордан Рамстад

3

Я часто стикався з подібною проблемою, тому що часто хочу ввійти в систему для редагування веб-сайтів, якими я керую, без необхідності мати форму для входу. Я створив невелику закладку, яку я додав на панель інструментів браузера. Це, очевидно, дуже "локальне" рішення, оскільки закладки доступні лише мені (або комусь, на який я копіюю код), але він працює на будь-якому сайті Joomla і є неймовірною економією часу, просто натисніть на посилання та форму для входу буде показано (враховуючи, що ви перебуваєте на сайті Joomla, звичайно ...).

 javascript:void((function(){var loc = location.href; loc.indexOf("?") == -1 ? (location.href = loc+"?option=com_users&view=login") : (location.href = loc+"&option=com_users&view=login");})());
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.