Cum aflam versiunile expirate de WordPress de pe Server
Facem un fișier în care vom adăuga comanda de căutare a wordpress instalate pe server:
vi /usr/bin/gaseste_wordpress
– și adăugam în el:
<?php define('LATEST_VERSION', '3.8.1'); if(!isset($argv[1])) die("Please start this program with " . $argv[0] . " <web pase bath> [<csv file>]\n"); // set the base path define('BASE_PATH', $argv[1]); define('OUTFILE', (isset($argv[2]) ? $argv[2] : false)); // check that provided path exists if(!is_dir(BASE_PATH)) { die(BASE_PATH . " is no valid path.\n"); } // define array to store the installation paths $wp_inst = array(); /* main function to loop through paths recursively */ function path_loop($path) { global $wp_inst; // make sure path ends with a slash if(substr($path, -1) !== '/') $path .= '/'; // open dir $dir = opendir($path); if(!$dir) { print "[WARN] Could not access " . BASE_PATH . "\n"; return false; } // loop through everything this dir contains while($cur = readdir($dir)) { // we only want to read paths, not files if($cur === '.' || $cur === '..' || is_link($path . $cur) || !is_dir($path . $cur)) continue; if(($cur === 'wp-content' || $cur == 'wp-admin' || $cur == 'wp-includes') && array_key_exists($path, $wp_inst) == false) { // this seems to be a wordpress installation path // check for the version file now $versionfile = $path . 'wp-includes/version.php'; if(!file_exists($versionfile) || !is_readable($versionfile)) continue; // cannot read the file // we don't simply include the file for security reasons. // so store it in a variable $cont = file_get_contents($versionfile); // search for the version string $found = preg_match('/\$wp_version\s*=\s*(["\'])([0-9\.]+)\\1;/', $cont, $match); if(!$found) continue; // we found no version string in the file... strange. $wp_inst[$path] = $match[2]; print '[INFO] found wp version ' . $match[2] . ' in ' . $path . "\n"; } path_loop($path . $cur); // we dive into the dir even if we found wp here. } // free resource closedir($dir); } // start the loop process path_loop(BASE_PATH); // some statistic variables $current = 0; $outdated = 0; if(OUTFILE) $fp = fopen(OUTFILE, 'w'); // loop through all found versions foreach($wp_inst as $path => $version) { // is the found version lower than latest one? if(version_compare($version, LATEST_VERSION, '<')) { $outdated++; print '[WARN] outdated wordpress version ' . $version; } else { $current++; print '[OK] current wordpress version ' . $version; } print ' in ' . $path . "\n"; if(OUTFILE) fputcsv($fp, array($path, $version, LATEST_VERSION), ';', '"'); } if(OUTFILE) fclose($fp); // print summary print "We found " . count($wp_inst) . " wordpress installations, of which " . $outdated . " are outdated and " . $current . " are up to date.\n"; ?>
– după ce am adăugat conținutul și am salvat, îl facem executabil
chmod 777 /usr/bin/gaseste_wordpress
– și putem rula asa (calea care dorim sa o scaneze este cu rosu, și unde vrem sa fie rezultatul scanării cu verde):
php /usr/bin/gaseste_wordpress /var/www/ /var/www/wordpress.expirat
– la sfîrșit va zice ceva de genul:
We found 65 installations, of which 6 are outdated and 59 are up to date.
– și vom găsi exact cele care sunt expirate în fișierul cu rezultatul scanării
Sursa: (c) 2014 howtoforge.com (M. Cramer) <m.cramer@pixcept.de
Știri:
- Comment on How to Connect Your WordPress Site to the Fediverse by Matthias Pfefferle
- Comment on Open Enrollment at WordPress.com: Free Websites for Students by tipsytreasuresdecor872
- Comment on How to Connect Your WordPress Site to the Fediverse by A. I. Sajib
- Comment on Open Enrollment at WordPress.com: Free Websites for Students by tampete
- Comment on Connect With More Clients: Our Partner Directory Has Arrived by Christine Snowdon
- Comment on The Secrets of One of the World’s Largest Ad-Free Blogs by Brittney Williams
- Comment on How to Connect Your WordPress Site to the Fediverse by Stephen Rees
- Comment on The Fediverse Files: The Magic of Federation by Matthias Pfefferle
- Comment on WordPress.com and Developers: Roadmap Update by Hoang Hxn
- Comment on WordPress.com and Developers: Roadmap Update by Sorin Nunca
Leave a Reply
Want to join the discussion?Feel free to contribute!