晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/stando/www/wp-content/plugins/duplicator/installer/dup-installer/classes/ |
Upload File : |
<?php
defined('ABSPATH') || defined('DUPXABSPATH') || exit;
/**
* DUPX_cPanel
* Wrapper Class for cPanel API */
class DUPX_Server
{
/**
* Returns true if safe mode is enabled
*/
public static $php_safe_mode_on = false;
/**
* The servers current PHP version
*/
public static $php_version = 0;
/**
* The minimum PHP version the installer will support
*/
public static $php_version_min = "5.2.7";
/**
* Is the current servers version of PHP safe to use with the installer
*/
public static $php_version_safe = false;
/**
* Is PHP 5.3 or better running
*/
public static $php_version_53_plus;
/**
* A list of the core WordPress directories
*/
public static $wpCoreDirsList = "wp-admin,wp-includes,wp-content";
public static function _init()
{
self::$php_safe_mode_on = in_array(strtolower(@ini_get('safe_mode')), array('on', 'yes', 'true', 1, "1"));
self::$php_version = phpversion();
self::$php_version_safe = (version_compare(phpversion(), self::$php_version_min) >= 0);
self::$php_version_53_plus = version_compare(PHP_VERSION, '5.3.0') >= 0;
}
/**
* Display human readable byte sizes
* @param string $size The size in bytes
*/
public static function is_dir_writable($path)
{
if (!@is_writeable($path)) return false;
if (is_dir($path)) {
if ($dh = @opendir($path)) {
closedir($dh);
} else {
return false;
}
}
return true;
}
/**
* Can this server process in shell_exec mode
* @return bool
*/
public static function is_shell_exec_available()
{
if (array_intersect(array('shell_exec', 'escapeshellarg', 'escapeshellcmd', 'extension_loaded'), array_map('trim', explode(',', @ini_get('disable_functions'))))) return false;
//Suhosin: http://www.hardened-php.net/suhosin/
//Will cause PHP to silently fail.
if (extension_loaded('suhosin')) return false;
// Can we issue a simple echo command?
if (!@shell_exec('echo duplicator')) return false;
return true;
}
/**
* Returns the path this this server where the zip command can be called
* @return string The path to where the zip command can be processed
*/
public static function get_unzip_filepath()
{
$filepath = null;
if (self::is_shell_exec_available()) {
if (shell_exec('hash unzip 2>&1') == NULL) {
$filepath = 'unzip';
} else {
$possible_paths = array('/usr/bin/unzip', '/opt/local/bin/unzip');
foreach ($possible_paths as $path) {
if (file_exists($path)) {
$filepath = $path;
break;
}
}
}
}
return $filepath;
}
/**
* Does the site look to be a WordPress site
*
* @return bool Returns true if the site looks like a WP site
*/
public static function isWordPress()
{
$search_list = explode(',', self::$wpCoreDirsList);
$root_files = scandir($GLOBALS['DUPX_ROOT']);
$search_count = count($search_list);
$file_count = 0;
foreach ($root_files as $file) {
if (in_array($file, $search_list)) {
$file_count++;
}
}
return ($search_count == $file_count);
}
public static function parentWordfencePath()
{
$scanPath = $GLOBALS['DUPX_ROOT'];
$rootPath = DupLiteSnapLibIOU::getMaxAllowedRootOfPath($scanPath);
if ($rootPath === false) {
//$scanPath is not contained in open_basedir paths skip
return false;
}
DUPX_Handler::setMode(DUPX_Handler::MODE_OFF);
$continueScan = true;
while ($continueScan) {
if (self::wordFenceFirewallEnabled($scanPath)) {
return $scanPath;
break;
}
$continueScan = $scanPath !== $rootPath && $scanPath != dirname($scanPath);
$scanPath = dirname($scanPath);
}
DUPX_Handler::setMode();
return false;
}
protected static function wordFenceFirewallEnabled($path)
{
$configFiles = array(
'php.ini',
'.user.ini',
'.htaccess'
);
foreach ($configFiles as $configFile) {
$file = $path.'/'.$configFile;
if (!@is_readable($file)) {
continue;
}
if (($content = @file_get_contents($file)) === false) {
continue;
}
if (strpos($content, 'wordfence-waf.php') !== false) {
return true;
}
}
return false;
}
/**
* Is the web server IIS
*
* @return bool Returns true if web server is IIS
*/
public static function isIISRunning()
{
$sSoftware = strtolower( $_SERVER["SERVER_SOFTWARE"] );
if ( strpos($sSoftware, "microsoft-iis") !== false ) {
return true;
} else {
return false;
}
}
}
//INIT Class Properties
DUPX_Server::_init();