Site icon Tosolini.info

WordPress in sottocartelle, ottimo contro i bot login

L’articolo di oggi è secondo me un ottimo trucchetto che andrebbe fatto sempre o quasi sotto WordPress. Infatti lo scopo è quello di installare il nostro CMS all’interno di una sottocartella o subdirectory rispetto alla root del dominio, ma fare in modo che il sito sia visibile e fruibile dalla root, come appunto fosse installato in modo “normale”.

Perché

Perché fare una cosa simile? ci sono vari motivi. Il primo è che in questo modo spostiamo tutta la parte di amministrazione all’interno di una subdirectory, questo fa in modo che tutti bot di login che tentano continuamente di forzare l’accesso con il classico database delle password più utilizzate vadano a vuoto. Se non sono i bot c’è sempre qualche babbeo che ci prova, e in quel caso deve andare a scoprire la URL esatta, cosa non impossibile intendiamoci, ma almeno gli rendiamo la situazione un po’ più complicata.

Facciamo un esempio pratico. Adesso vi ritrovate la login o amministrazione in miosito.com/wp-admin, dopo le modifiche avrete l’accesso, a miosito.com/wordpresstest/wp-admin. la sottocartella wodpresstest la conoscete solo voi, ma sarà comunque rintracciabile da un informatico un minimo skillato.

L’altra motivazione è di tipo pratico. Ovvero arriva prima o poi il momento di dover cambiare grafica o rifare il sito. Sebbene sia possibile creare degli ambienti di test server  ottimi e con poco sforzo, vuoi per le versioni differenti o per altri motivi, l’ambiente di test con quello di produzione possono riservare risultati differenti. E quando rilasciate un restyling di un sito è una scocciatura. Con il metodo che andremo a descrivere potremo testare, lontano dalla vista del pubblico, un blog parallelo, con plugin e temi indipendenti e nel caso dopo il lancio vi ritroviate con il sistema instabile potrete agevolmente tornare indietro. Ovviamente questa breve descrizione presuppone che abbiate la possibilità di avere due database distinti.

Passiamo alla pratica. Nuovo sito.

Bene, come si realizza tutto questo? partiamo dalla parte facile, ovvero state creando il sito per la prima volta. Installiamo WordPress all’interno di una cartella che chiameremo in questo articolo wordpresstest, ma potrebbe essere quello che vi pare ovviamente.  Terminiamo il setup e verifichiamo che sia tutto funzionante. Opzionale: attiviamo e verifichiamo anche i Permalinks (gli URL semplificati).

♣ Il primo step significativo è quello di andare sotto Impostazioni → Generali. Nella schermata vedrete, e forse ve ne sarete chiesti il perché, la possibilità di inserire due URL distinte. Ovvero un Indirizzo WordPress e Indirizzo Sito. Noi agiremo sulla seconda, lasciando invariata la prima, per cui immetteremo solamente il nome a dominio.

Salviamo. Se ci viene restituito un errore ignoratelo. Non tentate di andare a verificare il sito, in questa fase non si vedrebbe.
♣ Passiamo allo step due, ovvero andremo a copiare (sottolineo COPIARE E NON SPOSTARE) i file index.php e .htaccess dalla cartella wordpresstest alla radice del dominio. Se non vedete .htaccess è perché o non avete impostato i permalinks, oppure il vostro programma nel caso di ftp, o pannello del vostro hosting provider, non mostra i file nascosti.

♣ Step quattro; modifichiamo il file index.php che abbiamo copiato, ovvero quello nella root di dominio. All’interno di esso dobbiamo identificare e modificare la riga come segue:

require( dirname( __FILE__ ) . '/wp-blog-header.php' );
//modificalo in
require( dirname( __FILE__ ) . '/wordpresstest/wp-blog-header.php' );

♣ Step cinque; possiamo accedere al nostro sito in area amministrativa, miosito.com/wordpresstest/wp-admin effettuare il login se lo richiede, e se avete configurato in precedenza i permalinks andate sotto Impostazioni → Permalink e salvare così come sta; questa operazione farà in modo di settare correttamente il file .htaccess.

A questo punto potrete andare sotto miosito.com e verificare che dalla root del dominio sarete in grado di navigare correttamente all’interno del blog, senza che nella URL compaia mai la redirezione wordpresstest.

Installazione pre-esistente, come fare.

Ovviamente quando tutto è nuovo, tutto è bello. Ma se abbiamo un sito che è già installato da tempo nella root del dominio? I passaggi sono ovviamente un po’ più complessi, ma tutto si può fare.

♣ Primo step, creiamo la cartella wordpresstest (nel nostro esempio) attraverso FTP, pannello di controllo o SSH.

♣ Secondo step, andiamo sotto Impostazioni → Generali. Nella schermata vedrete, e forse ve ne sarete chiesti il perché, la possibilità di inserire due URL distinte. Ovvero un Indirizzo WordPress e Indirizzo Sito. Noi agiremo sulla seconda, lasciando invariata la prima, per cui immetteremo solamente il nome a dominio.

Salviamo. Se ci viene restituito un errore ignoratelo. Non tentate di andare a verificare il sito, in questa fase non si vedrebbe.

♣ Terzo step, copiamo tutto il contenuto della  root directory, ovvero il contenuto di WordPress, all’interno della cartella wordpresstest. Per questa operazione possiamo avvalerci del pannello di controllo offerto dal nostro hosting provider, oppure attraverso SSH con il comando move.

mv /wp-*/* /wordpresstest
mv  *  /wordpresstest

♣ Quarto step, andremo a copiare (sottolineo COPIARE E NON SPOSTARE) i file index.php e .htaccess dalla cartella wordpresstest alla radice del dominio. Se non vedete .htaccess è perché o non avete impostato i permalinks, oppure il vostro programma nel caso di ftp, o pannello del vostro hosting provider, non mostra i file nascosti.

♣ Step cinque; modifichiamo il file index.php che abbiamo copiato, ovvero quello nella root di dominio. All’interno di esso dobbiamo identificare e modificare la riga come segue:

require( dirname( __FILE__ ) . '/wp-blog-header.php' );
//modificalo in
require( dirname( __FILE__ ) . '/wordpresstest/wp-blog-header.php' );

♣ Step sei; possiamo accedere al nostro sito in area amministrativa, miosito.com/wordpresstest/wp-admin effettuare il login se lo richiede, e se avete configurato in precedenza i permalinks andate sotto Impostazioni -> Permalink e salvare così come sta; questa operazione farà in modo di settare correttamente il file .htaccess.

A questo punto potrete andare sotto miosito.com e verificare che dalla root del dominio sarete in grado di navigare correttamente all’interno del blog, senza che nella URL compaia mai la redirezione wordpresstest.

Installazione di un nuovo sito e come si torna indietro.

Nell’incipit dell’articolo abbiamo descritto come sia possibile fare una installazione di test. Il metodo sarà semplice, creiamo una nuova sottocartella nuovosito, copiamo il sito esistente (attenzione a non spostare) dalla cartella wordpresstest alla nuova cartella

cp -p *.* ./nuovosito

a questo punto dobbiamo anche effettuare una copia del database e modificare il wp-config con i nuovi parametri di accesso. Non è la sede dell’articolo attuale, ne faremo uno in seguito che spiegherà nel dettaglio i vari passaggi.

Alla fine dobbiamo ottenere un secondo sito completamente funzionante. Per modificare il puntamento, come abbiamo visto sopra, sarà sufficiente agire sul file index.php e modificare la sotto cartella di riferimento.

Conclusioni

La versatilità di WordPress ci permette di nascondere l’area amministrativa, utile appunto per i login-bot e malintenzionati. Allo stesso tempo possiamo agevolmente creare un sito di test secondario che rimane nell’ombra, e quando questo passa dalla modalità test a quella di produzione si può agevolmente cambiare o tornare indietro senza conseguenze complicate. Ovviamente non è possibile utilizzare il medesimo DataBase, poiché si andrebbero a creare delle “interferenze” che possano generare confusione ed errori. Quando questa modalità è da ritenersi non produttiva. Sicuramente con l’utilizzo di WordPress MU o MultiSite e se dovete muovere una versione molto, molto vecchia di WordPress.

Exit mobile version