Qual è l'URL per l'accesso dell'utente (aka Come nascondere il modulo di accesso?)


10

Non desidero consentire ai visitatori di registrarsi sul mio sito Web; tuttavia, trovo la necessità di avere un singolo utente registrato a scopo di test. Ad esempio, pubblicherò un articolo con accesso limitato in modo che il mio utente di prova possa vedere come appare l'articolo sul sito senza "mandare in onda la biancheria sporca" al pubblico (ok, tutto 1 / giorno che effettivamente visita ...) .

Il mio problema al momento è che finisco per sfigurare il sito Web poiché devo pubblicare / annullare la pubblicazione del modulo di accesso dell'utente. Attualmente, "aggiro" questo problema nascondendo il modulo di accesso in una sottocategoria in modo che non sia immediatamente visibile a un visitatore occasionale. È possibile creare un metodo alternativo (ad esempio un URL personalizzato) che consenta al mio utente di prova di visualizzare i contenuti contrassegnati come limitati senza alterare ciò che un ospite con accesso pubblico vedrebbe?

Risposte:


8

Puoi creare un menu che non è pubblicato e inserire un collegamento alla pagina di accesso dell'utente e nominare l'alias come preferisci. Fintanto che disattivi la funzione Consenti registrazioni nelle opzioni di gestione utenti, dovresti essere bravo.

Quindi dai al tuo cliente l'URL.

Quindi i passaggi sono:

  1. Crea un nuovo menu, chiamalo Nascosto
  2. Non pubblicare un modulo del nuovo menu
  3. Aggiungi una nuova voce di menu, seleziona Gestione utenti e modulo di accesso
  4. Dai un titolo alla voce di menu Accedi o qualcosa del genere in modo da sapere di cosa si tratta, ma cambia l'alias in qualcosa che qualcuno non indovinerebbe.
  5. Prova il tuo modulo andando su yoursite.com/aliasname

10

Come estensione alla risposta di Brian Peat:

Se vai all'URL

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

puoi accedere senza avere una voce di menu impostata o qualsiasi tipo di problema di pubblicazione / non pubblicazione. Questo potrebbe essere definito come un po 'un problema in Joomla in quanto conoscendo il tuo modo di aggirare puoi ancora registrarti / accedere se conosci la struttura dell'URL. Ci sono regole per impedirlo, ma in genere per impostazione predefinita puoi semplicemente usare percorsi diretti come quello per arrivare dove devi andare.

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

Eccolo al lavoro, anche il sito principale di Joomla che non ha accesso diretto al login è accessibile in questo modo.

Il mio punto è, assicurati di usare anche l'ACL corretto, se i suoi "solo" utenti registrati possono entrare tutti quelli che conoscono la struttura di Joomla. Inoltre, come aveva detto Brian, assicurati che le registrazioni siano disattivate.


Esiste un URL analogo per /index.php?option=com_users&view=logout (che pensavo fosse intuitivo ma si rivela errato)?
bobthechemist,

Intendi disconnetterti automaticamente? È un po 'strano, il logout in joomla richiede alcuni dati di post, quindi il modulo / pulsante. Questo link ti porterà sostanzialmente a un pulsante.
Jordan Ramstad,

Se sei davvero preoccupato che le persone entrino in quella pagina, puoi installare un plug-in di fantasia che costringe l'utente a usare un token come parte dell'URL (so che ce n'è uno per l'amministratore, abbastanza sicuro che ce ne sia uno per il fronte fine) ... ma puoi anche installare questo: extensions.joomla.org/extensions/access-a-security/… che blocca gli IP se l'utente prova a dire, 10 volte per accedere. Inoltre ti avvisa. Ti aprirà gli occhi sulla frequenza con cui il tuo sito viene attaccato. Ho notato che il 100% dei tentativi utilizza anche "admin" come nome utente.
Brian Peat,

Volevo solo estendere per dire che, anche senza voci di menu, l'accesso / registrazione è ancora accessibile. Quindi, se è necessario effettuare l'accesso senza dover gestire una voce di menu, è possibile, ma significa anche che chiunque può farlo. Se il registro non è bloccato, chiunque può anche creare un account e accedere a qualsiasi pagina "segreta" che potrebbe esserci se non vi è alcun ACL per impedirlo. Questo può essere fatto creando un gruppo ACL aggiuntivo e rendendo l'utente che può accedervi anche in quel gruppo. La pagina in questione richiederebbe anche quel gruppo.
Jordan Ramstad,

Uhm, a che servono gli ACL se non hai già effettuato l'accesso. Comprendo che non puoi mai nascondere una pagina di accesso pubblica senza un plug-in speciale. Indipendentemente da ciò, ad eccezione degli attacchi di forza bruta, se non si dispone di un accesso non si può andare molto lontano. Non vedo l'uso nel pasticciare con questo così tanto.
Brian Peat,

4

Dovresti riuscire a farlo eseguendo l'override del layout per il modulo di accesso front-end. Aggiungi del codice PHP nella parte superiore del file di layout. Questo codice aggiunto controlla un parametro personalizzato nell'URL e un valore particolare. Se qualcuno tenta di accedere alla pagina di accesso tramite qualsiasi URL ma non include il parametro personalizzato e il valore particolare (come abc = xyz ), il codice genera un "return;" in modo che il layout del modulo non venga elaborato per la visualizzazione.

Con questo codice nel file di layout di sostituzione, solo un utente che conosce l'URL (che include questo parametro personalizzato e un valore accettabile) potrà utilizzare quel modulo di accesso.

Ad esempio: l'URL segreto può essere

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

Quindi aggiungere questo codice nella parte superiore del file di layout di sostituzione per il modulo di accesso:

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

Bella idea! Questa è una soluzione abbastanza semplice per disabilitare la vista. Può essere esteso anche al modulo, se necessario (sebbene il modulo non abbia un URL diretto per accedere).
Jordan Ramstad,

3

Spesso ho riscontrato un problema simile perché desidero spesso un accesso front-end per modificare i siti Web che gestisco, senza la necessità di disporre di un modulo di accesso. Ho finito per creare un piccolo bookmarklet che ho aggiunto alla barra degli strumenti del browser. Questa è ovviamente una soluzione molto "locale", poiché solo il bookmarklet è disponibile per me (o per chiunque copio il codice), ma funziona su QUALSIASI sito Joomla ed è un incredibile risparmio di tempo, basta fare clic sul collegamento e sul modulo di accesso verrà mostrato (dato che sei su un sito Joomla, ovviamente ...).

 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");})());
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.