Je pense que l’équipe de WP-Spamshield manque vraiment de sérieux, leur dernière mise à jour a mis hors service un grand nombre de site sous WordPress. Il aurait pu faire des bêtas tests sur leur version.
Déroulement, à 18h37 la mise à jour ce fait.
[21/Jan/2017:18:37:56 +0100] "GET /wp-admin/update.php?action=update-selected&plugins=wp-spamshield%2Fwp-spamshield.php&_wpnonce=539f30c06d HTTP/1.1" 200 15142 "https://www.cyber-neurones.org/wp-admin/update-core.php?action=do-plugin-upgrade"
Et à 18h39 le site est H.S , a chaque test on a une erreur 500.
192.0.101.226 - - [21/Jan/2017:18:38:17 +0100] "HEAD / HTTP/1.1" 500 - "-" "jetmon/1.0 (Jetpack Site Uptime Monitor by WordPress.com)" "www.cyber-neurones.org" "mutu0174.phpnet.org » 192.0.101.226 - - [21/Jan/2017:18:39:20 +0100] "HEAD / HTTP/1.1" 500 - "-" "jetmon/1.0 (Jetpack Site Uptime Monitor by WordPress.com)" "www.cyber-neurones.org" "mutu0313.phpnet.org » 54.217.201.243 - - [21/Jan/2017:18:39:26 +0100] "HEAD / HTTP/1.1" 500 - "-" "jetmon/1.0 (Jetpack Site Uptime Monitor by WordPress.com)" "www.cyber-neurones.org" "mutu0174.phpnet.org » 122.248.245.244 - - [21/Jan/2017:18:39:27 +0100] "HEAD / HTTP/1.1" 500 - "-" "jetmon/1.0 (Jetpack Site Uptime Monitor by WordPress.com)" "www.cyber-neurones.org" "mutu0311.phpnet.org"
Au début j’ai cru à une panne de PHPNET.ORG, mais leur serveur fonctionnait correctement. En regardant les logs j’ai pu voir que c’était la mise à jours qui avait causé le problème. Mais pour avoir les logs chez PHPNET.ORG il faut attendre le jour suivant 🙁 .
Ensuite j’ai réussi a trouvé un forum de personnes qui avaient le même problème. Disons que j’aurai pu voir l’erreur si j’avais eu un fichier de logs avec toutes les erreurs PHP.
If you would like immediate relief, you can comment out the following line in the wp-spamshield.php file that have WPSS_Utils::append_log_data. Lines 2642, 7323, 7393 are the only ones you would need to edit. Just add “//” to the beginning of the line. This is a debugging function, so it’s safe to comment it out. (If anyone isn’t familiar with editing PHP files, just make sure you’re using a text editor like Notepad or Notepad++, and don’t use any Microsoft, Office, or word-processor-type apps. Also, always back up the original file first.)
Si vous souhaitez une correction immédiate, vous pouvez commenter les lignes suivantes dans le fichier wp-spamshield.php qui ont WPSS_Utils :: append_log_data. Les lignes 2642, 7323, 7393 sont les seules à éditer. Il suffit d’ajouter « // » au début de la ligne. Il s’agit d’une fonction de débogage, il est donc prudent de commenter. (Si quelqu’un n’est pas familier avec l’édition de fichiers PHP, assurez-vous simplement que vous utilisez un éditeur de texte comme le Bloc-notes ou le Bloc-notes ++ et n’utilisez pas d’applications Microsoft, Office ou de type processeur de texte. Le fichier d’origine d’abord.)
if( !empty( $bclm_off ) ) { /* Turns Blocked Spam Logging Mode off and clears vaues */
WP_SpamShield::update_option( array( ‘comment_logging’ => 0, ‘comment_logging_all’ => 0, ‘comment_logging_start_date’ => 0, ‘comment_logging_end_date’ => 0, ) );
//if( !empty( $wpss_rsds ) ) { WPSS_Utils::append_log_data( NULL, NULL, ‘Blocked Spam Logging Mode has been disabled. ‘.'[‘.$bclm_oc.’]’ ); }
} else {
if( FALSE === $valid ) {
//WPSS_Utils::append_log_data( NULL, NULL, ‘Error sanitizing IP address in method ‘.__CLASS__.’::’.__FUNCTION__.’ | Original IP: ‘.$str.’ | Sanitized IP: ‘.$tmp );
}
if( !is_string( $pattern ) || !is_string( $subject ) || FALSE === strpos( $pattern, ‘~’ ) || 0 !== strpos( $pattern, ‘~’ ) || 0 !== strpos( $pattern_rev, ‘~’ ) ) {
//WPSS_Utils::append_log_data( NULL, NULL, ‘Error in regex pattern: ‘.$pattern );
return FALSE;
}
Ensuite il faut copier le fichier et écraser l’ancien. Normalement cela permet de refaire fonctionner le fichier, ce qui a été le cas pour moi.
Et derrière il faut faire la mise à jour avec le correctif du correctif :
On nous avez promis le bordel avec Trump, cela n’a pas loupé 😉 .
Pour leur défense, ils ont étés très réactif sur la correction. Mais je pense qu’il ne faut pas faire de mise à jours le Samedi. Il devrait faire les mises à jours du lundi au jeudi, sauf s’il y a une faille critique.
Version 1.9.9.8.7, released 01/22/17
Fixed a bug affecting certain server configurations.
Made various code enhancements and improvements.
Version 1.9.9.8.6, released 01/21/17Made various code enhancements and improvements.
Added an option to disable automatic plugin updates.
Maintenance: Updated the spam filters.Version 1.9.9.8.5, released 01/19/17
Fixed a bug causing PHP Notices/Warnings.
Made various code enhancements and improvements.
Maintenance: Updated the spam filters.
Pour finir une petite commande curl pour voir le nombre d’erreur 500 par jour à partir des logs d’Apache :
cat access.log.201701* | awk '{print $4 " " $9}' | sed 's/:/ /g' | awk '{print $1 " " $5}' | sort -n | uniq -c | grep "2017 500" 32 [01/Jan/2017 500 28 [02/Jan/2017 500 436 [03/Jan/2017 500 45 [04/Jan/2017 500 42 [05/Jan/2017 500 48 [06/Jan/2017 500 39 [07/Jan/2017 500 33 [08/Jan/2017 500 49 [09/Jan/2017 500 71 [10/Jan/2017 500 43 [11/Jan/2017 500 52 [12/Jan/2017 500 107 [13/Jan/2017 500 62 [14/Jan/2017 500 53 [15/Jan/2017 500 64 [16/Jan/2017 500 53 [17/Jan/2017 500 102 [18/Jan/2017 500 64 [19/Jan/2017 500 56 [20/Jan/2017 500 1284 [21/Jan/2017 500 6365 [22/Jan/2017 500
Misère.