WordPress: disabilitare most used plugin (DisableMU)

Condividi questo articolo:


Must-Use plugins. Sono convenienti, sono utili… e possono anche essere piuttosto spaventosi.

WordPress Most Used Plugin: Avvertenze, considerazioni, ecc.

DisableMU non è per tutti i siti web. Molte case di sviluppo, amministratori di sistema e società di hosting hanno usi molto legittimi per /mu-plugin e hanno costruito piani di business intorno all’utilizzo di questa caratteristica di WordPress. Installando e attivando DisableMU sul tuo sito web, potresti rompere qualcosa. Per favore, fate attenzione e utilizzate questo plugin solo se sapete cosa state facendo. Come con la maggior parte dei plugin, DisableMU è scritto con l’intento di essere utile, ma voi siete responsabili del suo uso o delle sue azioni sul vostro sito web.

TL;DR

Se il vostro sito web non dovrebbe eseguire alcun /mu-plugin, non volete che venga eseguito codice arbitrario dalla directory /mu-plugins. Il plugin DisableMU agisce come una rete di sicurezza che assicura che WordPress non possa trovare la directory /mu-plugins, disabilitando quella funzionalità.

Clicca qui per ottenere DisableMU dal repository di WordPress

Storia di /mu-plugins

All’inizio, era difficile gestire i plugin su più siti web in esecuzione sotto una singola installazione (siti “multi-utente”, o “multisiti”). Per estendere la funzionalità standard dei plugin, è nato un nuovo sistema di plugin che ha permesso agli amministratori del sito di caricare e abilitare rapidamente e facilmente i plugin su tutti i loro siti web in esecuzione in un ambiente multisito.

Caricando il codice del plugin in /wp-content/mu-plugins/ piuttosto che nella directory standard /wp-content/plugins/, si poteva immediatamente avere un plugin attivo e funzionante su tutti i siti web. Non c’è bisogno di attivare manualmente, nessuna preoccupazione per gli amministratori del sito che disabilitano “accidentalmente” questi plugin. Questo è il motivo per cui oggi, come notato nell’articolo del codex stesso, /mu-plugins è più comunemente indicato come “must-use plugins” poiché quando un plugin esiste all’interno della directory, il sistema deve usarlo.

Come funzionano i /mu-plugins

Il modo in cui i /mu-plugins sono caricati è strano. Questi plugin sono una delle prime cose caricate in WordPress al caricamento della pagina: infatti, il primissimo hook disponibile nel caricamento di WordPress è “muplugins_loaded”… che è il momento direttamente dopo che tutti i /mu-plugins sono stati caricati. Inoltre, questi plugin non possono vivere all’interno delle loro proprie directory come possono fare i plugin “normali”. Gli amministratori che desiderano utilizzare /mu-plugins devono trovare plugin drop-in che funzionano da un singolo file di inizializzazione, o potenzialmente rifattorizzare i plugin comuni per farli funzionare all’interno dell’ambiente /mu-plugins.

Al giorno d’oggi, WordPress ha strumenti migliori per gestire i vostri plugin in installazioni multisito direttamente dall’area di amministrazione, quindi la necessità iniziale di /mu-plugins è sparita. La gestione degli elementi all’interno di /mu-plugins richiede un approccio molto più pratico poiché questi plugin non si aggiornano insieme ai plugin “normali”. In effetti, vengono anche visualizzati sotto un proprio filtro nella schermata principale di gestione dei plugin di WordPress, il che può renderli facili da “perdere” a meno che non si sappia come cercarli. Il filtro predefinito “Tutti i plugin” non significa veramente “tutti”.

WordPress Mu Plugin : Possibili implicazioni per la sicurezza

Quindi qual è il problema? Beh, il problema è che il sistema /mu-plugin è probabilmente il modo più veloce, più facile e più coerente per eseguire codice arbitrario sul vostro sito web. Se il filesystem del vostro sito web viene compromesso (e siamo onesti, questo succede a più siti di quanto vorremmo ammettere) è già banale per il malware creare le proprie cartelle e script nella root del web in modo da poter essere eseguito in remoto. Ma avere una posizione dedicata in cui si può mettere un frammento di codice correttamente formato che viene eseguito ogni volta che un visitatore del sito accede a uno script è una prospettiva spaventosa.

Gli attacchi al sito non sono l’unico modo in cui il codice potrebbe improvvisamente essere eseguito sul vostro sito web. Ogni volta che scegliete di installare un nuovo software sul vostro sito, state correndo un rischio sull’autore di quel tema o plugin. Guardiamo tutti attraverso ogni linea di codice sorgente prima di installare qualcosa? Probabilmente no. Ma cosa succederebbe se, da qualche parte sepolto in profondità nel codice, un autore scegliesse di far cadere del codice che aggiungerebbe il proprio codice /mu-plugin al vostro sito web quando attivate il tema o il plugin?

Nessun sito web può o sarà mai sicuro al 100%, ma DisableMU può darvi un po’ più di tranquillità come amministratore del sito.

Usare DisableMU per disattivare /mu-plugins
A causa della natura dei /mu-plugins e di come sono scritti nel core di WordPress, non c’è un vero modo per “disabilitare” o “spegnere” i /mu-plugins. Tuttavia, WordPress è scritto in modo tale da andare avanti con grazia se non riesce a trovare la directory /mu-plugins definita.

Poiché non siamo in grado di applicare alcuna azione o filtro a WordPress, ci affidiamo invece alla scrittura di costanti nel file wp-config.php per realizzare ciò di cui abbiamo bisogno. Ci sono tre variabili che sono rilevanti:

WPMU_PLUGIN_DIR
WPMU_PLUGIN_URL
MUPLUGINDIR

All’attivazione, DisableMU scriverà queste costanti nel file wp-config.php e punterà WordPress ad una directory casuale che non esiste. Così facendo, WordPress non riuscirà a trovare il percorso della cartella /mu-plugins e non ne caricherà nessuno. Quando DisableMU è disattivato, rimuove il suo contenuto dal file wp-config.php.

 


Per ulteriori informazioni visita il sito: immagi.net

Condividi questo articolo: