Comment l'outil de DD32 détermine-t-il la version WordPress d'une installation? Cela ne fonctionne pas bien pour WP 3.1 mais il n'utilise pas de balise meta generator ni le fichier readme.txt de WP. Alors quoi d'autre peut-il être?
Je suppose juste ici, mais cela se fait généralement en prenant les empreintes pour la version spécifique des fichiers/répertoires/code et parfois même la taille.
Par exemple, vous pouvez supprimer toutes les balises Meta versions (12 emplacements) et le fichier .txt pour 3.1, mais 3.1 étant la seule version à inclure le nouveau fichier suivant par défaut, il est assez facile de prendre les empreintes digitales.
wp-includes/js/l10n.js
Comme chaque version comporte de nombreux ajouts, si vous passez suffisamment de temps à écrire un bot intelligent, il n’est pas très difficile de trouver des données spécifiques à la version. Cacher toute cette information représenterait beaucoup de travail pour chaque publication.
C’est un peu de code que j’écrivais il ya quelque temps à la détection de versions de la manière la plus évidente WP: http://ottodestruct.com/class-wp-detection.phps
Il existe d'autres méthodes, plus subtiles et moins évidentes. Sa méthode est l'empreinte de fichier. En gros, vérifier si certains fichiers existent ou non.
Je sais que la réponse a déjà été acceptée, mais il suffit de jeter cela dehors. Pour ce faire, j'analyse la variable $ wp_version du fichier 'wp-includes/version.php' de votre répertoire:
function get_wp_version() {
$versionFile = ABS_PATH.'/wp-includes/version.php'
// NO VERSION FILE //
if (($versionStr = @file_get_contents($versionFile))=='') return '';
$regex = "wp_version.*'(?<wpVersion>.*)'";
if (preg_match('/'.$regex.'/', $versionStr, $matches)) {
return $matches['wpVersion'];
}
return '';
}