WordPress incluye, por seguridad, una serie de claves únicas y aleatorias para mejorar la seguridad de acceso al sistema, las llamadas «Salt Keys».
Se encuentran en el fichero WP-Config y se parecen a algo tal que esto:
define( 'AUTH_KEY', 'Em7t5e2Zq4GgaCff9d3AqtbDHJb4swf6JxAk' );
define( 'SECURE_AUTH_KEY', 'Ct4BtVLmvm2g8cQaBXSTZMz2CX65Uz5SuQNp' );
define( 'LOGGED_IN_KEY', '8qqZZDuBmAGUtVhRM4RkrdhhjGU9jhPFegRg' );
define( 'NONCE_KEY', 'x7B45gtBKjy2GN78PVnxKNQ6ntb579rBQDbX' );
define( 'AUTH_SALT', 'nUu8hgUtAGe8UQxXQzDmfhA42mZzNE6m6NFa' );
define( 'SECURE_AUTH_SALT', '2T4XD65j3Kx2JJcV3NCS3u5RjYNGmv9F5fPt' );
define( 'LOGGED_IN_SALT', 'xvXU9PMZEvMnTc3fe2XjY7wx7XBhAwE9AyZj' );
define( 'NONCE_SALT', 'zy2jyzwQUVq8fXeX5qsFZupNgfep9ptr8j6z' );
En cualquier caso, siempre tenemos la herramienta / API para generarlo.
Pero ¿qué ocurre si has de cambiar las claves de todos tus sitios WordPress por algún tipo de cambio de seguridad? Puedes hacerlo de la siguiente manera.
Lo primero que definiremos es a partir de qué carpeta ha de buscar en todo el sistema. En este caso va a ser en /webs/
:
#####
HOST_PATH="/webs/"
#####
Actualizaremos WP-CLI:
# PONIENDO AL DIA WP-CLI
echo ""
echo "Actualizando WP-CLI a la última versión:"
wp cli check-update --quiet
wp cli update --quiet
wp cli version
Y, si no está disponible, instalará la extensión de FIND.
# INSTALANDO WP-CLI FIND
echo ""
echo "Revisando el buscador de WP-CLI:"
if [ `wp package list --fields=name --format=csv | grep 'wp-cli/find-command'` ]
then
echo "Buscador de WP-CLI instalado."
else
echo "Instalando buscador de WP-CLI:"
wp package install wp-cli/find-command --quiet
if [ -z wp package list --fields=name --format=csv | grep 'wp-cli/find-command' ]
then
echo "Buscador de WP-CLI instalado."
else
echo "Se ha producido un error. No se ha podido instalar el buscador de WP-CLI."
echo "Prueba a instalarlo manualmente."
echo ""
echo "wp package install wp-cli/find-command"
echo ""
exit 1
fi
fi
Una vez esté, buscaremos todos los sitios del sistema:
# BUSCANDO SITIOS
echo ""
echo "Buscando sitios WordPress:"
WP_DATA=`wp find $HOST_PATH --format=csv --fields=wp_path,version | awk FNR-1`
WP_TOTAL=`echo "$WP_DATA" | wc -l`
echo "Se ha encontrado un total de ${WP_TOTAL} WordPress".
Y actualizaremos sus Salt-Keys:
echo ""
echo "Actualizando Salt-Keys"
echo ""
WP_SALTS=`wp config shuffle-salts --force --path="${WP_PATH}"`
echo "- Estado: ${WP_SALTS}"
Y, el código completo:
#!/bin/bash
#####
HOST_PATH="/webs/"
#####
# PONIENDO AL DIA WP-CLI
echo ""
echo "Actualizando WP-CLI a la última versión:"
wp cli check-update --quiet
wp cli update --quiet
wp cli version
# INSTALANDO WP-CLI FIND
echo ""
echo "Revisando el buscador de WP-CLI:"
if [ `wp package list --fields=name --format=csv | grep 'wp-cli/find-command'` ]
then
echo "Buscador de WP-CLI instalado."
else
echo "Instalando buscador de WP-CLI:"
wp package install wp-cli/find-command --quiet
if [ -z wp package list --fields=name --format=csv | grep 'wp-cli/find-command' ]
then
echo "Buscador de WP-CLI instalado."
else
echo "Se ha producido un error. No se ha podido instalar el buscador de WP-CLI."
echo "Prueba a instalarlo manualmente."
echo ""
echo "wp package install wp-cli/find-command"
echo ""
exit 1
fi
fi
# BUSCANDO SITIOS
echo ""
echo "Buscando sitios WordPress:"
WP_DATA=`wp find $HOST_PATH --format=csv --fields=wp_path,version | awk FNR-1`
WP_TOTAL=`echo "$WP_DATA" | wc -l`
echo "Se ha encontrado un total de ${WP_TOTAL} WordPress".
for WP_D in $WP_DATA
do
echo ""
echo "********************************************************************************"
echo ""
echo "WordPress"
echo ""
WP_PATH=`echo "$WP_D" | awk -F, 'NR { print $1 }'`
echo "- Ruta: ${WP_PATH}"
echo ""
echo "Actualizando Salt-Keys"
echo ""
WP_SALTS=`wp config shuffle-salts --force --path="${WP_PATH}"`
echo "- Estado: ${WP_SALTS}"
echo ""
echo "********************************************************************************"
done
echo ""
echo " -- FIN --"
echo ""
echo ""
Este código ha sido creado por:
Javier Casares
Sitio personal: Javier Casares
Sitio profesional: WPSysAdmin