Identificare de la distanță a versiunii unei instalări WordPress?

27 feb. 2011, 23:12:52
Vizualizări: 17.3K
Voturi: 4

Cum determină unealta DD32 versiunea WordPress a unei instalări. Nu funcționează corect pentru WP 3.1 dar nu utilizează nici tag-ul meta generator și nici readme.txt al WP. Deci ce altceva ar putea fi?

1
Comentarii

Ai putea încerca să-l reverse-engineer-uiesti, pur și simplu lasă-l să-ți verifice propriul site și urmărește cererile HTTP pe care le generează.

mtekk mtekk
27 feb. 2011 23:39:56
Toate răspunsurile la întrebare 3
0
12

Acesta este un cod pe care l-am scris acum ceva timp pentru a detecta versiunea WordPress în cele mai evidente moduri: http://ottodestruct.com/class-wp-detection.phps

Există și alte metode, mai subtile și mai puțin evidente. Metoda lui constă în amprentarea fișierelor. Practic, verifică dacă anumite fișiere există sau nu.

28 feb. 2011 02:52:26
3

Presupun doar, dar acest lucru se face de obicei prin identificarea unor fișiere/directoare/cod specifice versiunii și uneori chiar prin dimensiune.

De exemplu, poți elimina toate tag-urile meta de versiune (nu sunt cam 12 locuri?) și fișierul .txt pentru 3.1, dar din moment ce 3.1 este singura versiune care include în mod implicit următorul fișier nou, este destul de ușor de identificat.

wp-includes/js/l10n.js

Deoarece fiecare versiune are multe adăugiri noi, dacă petreci suficient timp scriind un bot inteligent, nu este foarte greu să găsești date specifice versiunii. Ascunderea tuturor acestor informații ar fi multă muncă pentru fiecare lansare.

28 feb. 2011 00:31:37
Comentarii

Ce înseamnă cele 12 tag-uri meta de versiune?

Simon Blackbourn Simon Blackbourn
28 feb. 2011 00:36:23

Am înțeles punctul tău, dar +1 pentru întrebarea lui Simon

Ashfame Ashfame
28 feb. 2011 01:26:31

Îmi pare rău, ar fi trebuit să fiu mai clar. Tag-ul meta de versiune este inserat în mai multe locuri, de exemplu îl puteți elimina din antetul implicit al blogului, dar apare în alte părți. De aceea folosiți un filtru global pentru a "scăpa de el" în loc să comentați pur și simplu afișarea antetului html. Totuși, acel număr este probabil exagerat. De exemplu, uitați-vă la scriptul lui Otto mai jos.

Wyck Wyck
28 feb. 2011 05:17:49
2

Știu că deja există un răspuns acceptat, dar doar arunc și eu ideea asta. Modul în care o fac eu este să extrag variabila $wp_version din fișierul 'wp-includes/version.php' din directorul blogului tău:

function get_wp_version() {
 $versionFile = ABS_PATH.'/wp-includes/version.php';
 // FIȘIER VERSIUNE INEXISTENT //
 if (($versionStr = @file_get_contents($versionFile))=='') return ''; 

 $regex = "wp_version.*'(?<wpVersion>.*)'";
 if (preg_match('/'.$regex.'/', $versionStr, $matches)) {
  return $matches['wpVersion'];
 }
 return '';
}
28 feb. 2011 03:16:14
Comentarii

Frumos, dar pot să o îmbunătățesc și dacă rulez ultima versiune, nu ar trebui să am nicio problemă.

Ashfame Ashfame
28 feb. 2011 07:31:35

Mai mult, ar trebui să rulezi pe același server pentru ca asta să funcționeze. Nu am observat asta înainte. lol

Ashfame Ashfame
22 nov. 2011 16:42:58