【发布时间】:2017-09-15 12:05:10
【问题描述】:
我有一些 bash 用于在服务器上“安装”一个 wordpress 站点。
在其中,我通过 SALTS=$(curl -L https://api.wordpress.org/secret-key/1.1/salt/); 发出 curl 请求以获取随机 SALT
我在我的 wp-config.php 文件 ##WP_SALTS## 中放了一个“令牌”
我的sed 声明似乎不正确,因为它不断向我抛出错误:
sed: -e expression #1, char 99: unknown option to `s'
我试过了:
sed -i "s+##WP_SALTS##+$SALTS+g" $WPCONFIG
还有:
sed -i "s/##WP_SALTS##/$SALTS/g" $WPCONFIG
仍然出现错误。我做错了什么?
curl 请求的响应每次都是随机的,但类似于:
define('AUTH_KEY', ':a>?5od_kaveFKaIB8px|!vgF-W/6/AQX04=&>Tu.-q3ehGOh59=SX+qc9sWk|gG'); define('SECURE_AUTH_KEY', ':tw+w! Sn2n~Rt0ReVA6#eWqsUXW5elHo@V~ oiRhTH4k]kg{<k`:An`]z==K@wZ'); define('LOGGED_IN_KEY', 'mD,JT*4pa3}zfGEpXFR}9jlzF,iD ;:]|>yu]T}&8Uy~(-5ml/AEBTG4|7QYCB|j'); define('NONCE_KEY', '@{Q`.7T a)S?0DTutE}D5Is(UlwnG4NuoQiFHas&i@qz%-HTd7-8[v50Nx<]akuT'); define('AUTH_SALT', 'es*7hCVnh/+c-cecgmZ?%QZ_KN^kaA[jD]N}{A8sK|~MH@Vl|(6-|{3EIGMhksy['); define('SECURE_AUTH_SALT', '}AF@:i!hy#C5,Q_5c4yhycm~i|fc53@+|h7r5H9y(/&4VBeX&sOrKC-6+AqeZ|L>'); define('LOGGED_IN_SALT', '4,}H+&[@qN#^!B+?3a+Mh0+?pURhP|v.CV/]4F-6G!TncU*Pd=GMSRPf?58j5Sv0'); define('NONCE_SALT', 'Dlo,7F[:EaWQT57-P0Q+x</nUf4UD&LH=-0wS6l._2Fx!-jR0KBJ-U_1*{sXo?>Q');
编辑 现在实现一种随机生成 64 个字符盐的方法,如下所示:
RSTR=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-64} | head -n 1);
SALTS="define('AUTH_KEY', '$RSTR');
define('SECURE_AUTH_KEY', '$RSTR');
define('LOGGED_IN_KEY', '$RSTR');
define('NONCE_KEY', '$RSTR');
define('AUTH_SALT', '$RSTR');
define('SECURE_AUTH_SALT', '$RSTR');
define('LOGGED_IN_SALT', '$RSTR');
define('NONCE_SALT', '$RSTR');";
sed -i "s/##WP_SALTS##/$SALTS/g" $WPCONFIG
我已经用 +、~、/、&、* 替换了分隔符,它们仍然会产生同样的错误。
【问题讨论】:
-
$SALTS中的值是多少?提供样本值
标签: php wordpress bash curl sed