) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($uri)) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($uri)), true) . ''); } } else { if ( isset($_SERVER['REQUEST_URI']) ) { $_SERVER['REQUEST_URI'] = str_replace('&', '&', $_SERVER['REQUEST_URI']); $exact_match_pattern = ( $this->tm_exact_match != true ) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($_SERVER['REQUEST_URI'])) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($_SERVER['REQUEST_URI'])), true) . ''); } } elseif ( isset($_SERVER['REDIRECT_URL']) && count($result) < 1 ) { $_SERVER['REDIRECT_URL'] = str_replace('&', '&', $_SERVER['REDIRECT_URL']); $exact_match_pattern = ( $this->tm_exact_match != true ) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($_SERVER['REDIRECT_URL'])) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($_SERVER['REDIRECT_URL'])), true) . ''); } } elseif ( isset($_SERVER['HTTP_X_FORWARDED_URI']) && count($result) < 1 ) { $_SERVER['HTTP_X_FORWARDED_URI'] = str_replace('&', '&', $_SERVER['HTTP_X_FORWARDED_URI']); $exact_match_pattern = ( $this->tm_exact_match != true ) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($_SERVER['HTTP_X_FORWARDED_URI'])) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($_SERVER['HTTP_X_FORWARDED_URI'])), true) . ''); } } } // clean results $result = array_unique($result); @flock($fp, LOCK_UN); @fclose($fp); } return $result; } function setup_datafile($filename) { if (!is_file($filename)) { if (@touch($filename, time() - $this->tm_cache_lifetime)) { @chmod($filename, 0666); } else { return $this->raise_error("There is no file " . $filename . ". Failed to create. Set mode to 777 on the folder."); } } if (!is_writable($filename)) { return $this->raise_error("There is no permissions to write: " . $filename . "! Set mode to 777 on the folder."); } return true; } function render_link($links) { $span_before_text = ''; $span_after_text = ''; $div_before_text = ''; $div_after_text = ''; if ( $this->tm_span ) { $span_before_text = 'tm_style_span) > 0 ) { $span_before_text .= ' style="' . $this->tm_style_span . '"'; } if ( strlen($this->tm_class_name_span) > 0 ) { $span_before_text .= ' class="' . $this->tm_class_name_span . '"'; } $span_before_text .= '>'; $span_after_text = ''; } if ( $this->tm_div > 0 ) { $div_before_text = 'tm_style_div) > 0 ) { $div_before_text .= ' style="' . $this->tm_style_div . '"'; } if ( strlen($this->tm_class_name_div) > 0 ) { $div_before_text .= ' class="' . $this->tm_class_name_div . '"'; } $div_before_text .= '>'; $div_after_text = ''; } if ( $this->tm_div_span_order == 'div' ) { $links = $div_before_text . $span_before_text . $links . $span_after_text . $div_after_text; } else { $links = $span_before_text . $div_after_text . $links . $div_after_text . $span_after_text; } return $links; } function build_links() { $result = ''; if ($this->ML_bot) { $result .= '' . $this->version . "\n"; $result .= 'REMOTE_ADDR=' . $this->tm_host . "\n"; $result .= 'charset=' . $this->tm_charset . "\n"; $result .= 'file change date=' . $this->tm_file_change_date . "\n"; $result .= 'tm_cache_file_size=' . $this->tm_file_size . "\n"; $result .= 'tm_links_count_on_page=' . $this->tm_links_count . "\n"; $result .= '-->'; } if (isset($_COOKIE['getver']) || $this->ML_bot || $this->tm_force_sign) { $result .= ''; } $start_index = $this->tm_limit_start; $limit = ( $this->tm_limit_items > 0 ) ? $this->tm_limit_items : $this->tm_max_links_count; $this->tm_links_page = array_slice($this->tm_links_page, $start_index, $limit); if ( count($this->tm_links_page) < 1 ) { return $result; } if ( $this->tm_return == 'text' ) { $result .= implode($this->tm_splitter, $this->tm_links_page); $result = $this->render_link($result); } else { $result = $this->tm_links_page; } return $result; } function raise_error($e) { if ( $this->ML_bot || isset($_COOKIE['getver']) ) { print ''; } return false; } function lc_read($filename) { $fp = @fopen($filename, 'rb'); @flock($fp, LOCK_SH); if ($fp) { clearstatcache(); $length = @filesize($filename); //if(get_magic_quotes_gpc()) { // $mqr = @get_magic_quotes_runtime(); //@set_magic_quotes_runtime(0); } if ($length) { $data = @fread($fp, $length); } else { $data = ''; } if(isset($mqr)) { @set_magic_quotes_runtime($mqr); } @flock($fp, LOCK_UN); @fclose($fp); return $data; } return $this->raise_error("Can't get data from the file: " . $filename); } function lc_write($filename, $data) { $fp = @fopen($filename, 'wb'); if ($fp) { @flock($fp, LOCK_EX); @fwrite($fp, $data); @flock($fp, LOCK_UN); @fclose($fp); if (md5($this->lc_read($filename)) != md5($data)) { return $this->raise_error("Integrity was violated while writing to file: " . $filename); } return true; } return $this->raise_error("Can't write to file: " . $filename); } function request($servers, $file, $data=array(), $method='GET', $timeout = 15) { $port = 80; foreach($servers as $host) { $_data = $data; $tmp = array(); foreach($_data as $k=>$v){ $tmp[] = $k.'='.urlencode($v); } $_data = implode('&', $tmp); $path = $file; if( $method == 'GET' && $_data != '' ) { $path .= '?' . $_data; } $request = $method." ".$path." HTTP/1.0\r\n"; $request .= "Host: ".$host."\r\n"; $request .= "User-Agent: MainLinkAds links db updater 6.3\r\n"; $request .= "Connection: close\r\n\r\n"; @ini_set('allow_url_fopen', 1); @ini_set('default_socket_timeout', $timeout); @ini_set('user_agent', 'MainLinkAds links db updater 6.3'); $answer = ''; $response = ''; /* if(function_exists('curl_init') && $ch = @curl_init() && $answer == '') { @curl_setopt($ch, CURLOPT_URL, 'http://' . $host . $path); @curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); @curl_setopt($ch, CURLOPT_HEADER, true); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); @curl_setopt($ch, CURLOPT_USERAGENT, 'MainLinkAds links db updater 6.3'); $response = @curl_exec($ch); $answer = ( $response != '' ) ? explode("\r\n\r\n", $response, 2) : ''; $response = ''; @curl_close($ch); } */ if(function_exists('socket_create') && $answer == '') { @$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); @socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array('sec' => $timeout, 'usec' => 0)); @socket_connect($socket, $host, $port); @socket_write($socket, $request); while($a = @socket_read($socket, 0xFFFF)) { $response .= $a; } $answer = ( $response != '' ) ? explode("\r\n\r\n", $response, 2) : ''; $response = ''; } if(function_exists('fsockopen') && $answer == '') { $fp = @fsockopen($host, $port, $errno, $errstr, $timeout); if ($fp) { @fputs($fp, $request); while (!@feof($fp)) { $response .= @fgets($fp, 0xFFFF); } @fclose($fp); } $answer = ( $response != '' ) ? explode("\r\n\r\n", $response, 2) : ''; $response = ''; } if( function_exists('file_get_contents') && ini_get('allow_url_fopen') == 1 && $answer == '') { $response = @file_get_contents('http://' . $host . $path); $answer[1] = ( $response != '' ) ? $response : ''; } if($answer[1] != '') { return $answer[1]; } } return $this->raise_error(''); } } ?>

БОГОМ БЫТЬ НЕЛЕГКО
Павел Павлов


(Фантастический рассказ)

Не знаю, как там другим, а мне эта должность не доставляет ничего, кроме головной боли да множества хлопот. Впрочем, история эта неновая — как-то мне довелось услышать про такого парня по имени Зевс... или Кронос, не помню точно, да это и неважно. Суть в том, что из него нарождались новые боги, просто как яблоки с яблони с него сыпались. Только давалось ему это потруднее, чем средней яблоне. Как-то у него настолько разболелась голова, что он приказал разрубить ее топором. Из головы вышла, при оружии и в полном снаряжении, богиня Афина, по ее имени еще греческая столица называется. Так вот, насколько же у парня должна была разболеться голова, чтобы лечить ее таким варварским способом. А что поделаешь, богом вообще быть нелегко.
Боги вообще, наверное, странная публика, все время что-то затевают, не дают людям спать спокойно. Впрочем, я с другими богами не знаком, так что буду говорить только за себя. Нелегко, скажу я вам, ощущать в своей голове шевеление десятков, может быть, сотен разных людей, личностей, существ. Этакое тихое копошение, они ходят туда-сюда, словно пациенты в отделении психбольницы, закрытые на замок. Они ходят, толкутся, наталкиваются на стенки, иногда кричат и дергаются, иногда пробуют найти выход силой.
Неправильно делают, совсем неправильно, скажу на основании своего собственного опыта. Нужно вести себя тихо, никаких странностей врачам не рассказывать, сестрам ни на что не жаловаться, ходить прямо, выхода не искать. Вот тогда выпустят — если не насовсем, то в отпуск.
Впрочем, я не главврач — меня отпуска не интересуют, я своих подопечных стараюсь отправить раз и навсегда. Метод свой скрывать не буду — я даже заинтересован, чтобы о нем слышали многие, мне тогда будет еще проще. А делается это в те промежутки, когда я не в больнице — либо после выписки и до очередной вписки, то есть госпитализации, либо когда в больнице мне дают на выходные отпуск. Я к этому времени стараюсь определить, кто там в моей голове дозрел для выхода на свет — как его зовут, какие у него мысли, как он одевается, двигается, дышит... Иногда это мужчина, иногда женщина. Иногда моего возраста, иногда старше, иногда совсем старик или ребенок.
Когда я на свободе, я первым делом стараюсь привести свой облик в соответствие с обликом своего детища. Сколько тут тряпок, париков, косметики идет в ход! Вы бы ни за что меня не узнали во многих из моих обличий. Впрочем, я редко пытаюсь выглядеть ребенком или молодой женщиной, чаще — чем-то, кем-то подходящим им под пару. Так, если я создаю девушку из пригорода, в спортивных штанах и туфлях на шпильках, накрашенную как рекламный образчик из городского морга, с сигаретой, семечками и слогом «ля» на устах, то я буду парнем с золотой цепкой на шее, в кепке, низко надвинутой на лоб, с синими от татуировок пальцами. Для ребенка я наряжусь этаким папашей, для бомжеватой старухи — городским неудачником неопределенных лет, с седой, отбеленной пергидролем щетиной на заветренных щеках и со стойким запахом кислятины, пропитавшим всю одежду.
Итак, задача определена, цель намечена, антураж создан... Пора выходить на поиск.
Не буду раскрывать излюбленные маршруты, районы, методы. Я не собираюсь дать кому-либо пособие на тему «как изловить бога». Пусть это остается моим фирменным секретом, ноу-хау, как говорят англичане. Предположим, я отыскал намеченный объект. Либо он оказывается почти зеркальной моей копией — внешне, либо мы идеально дополняем друг друга, как это я уже описывал. Следующий шаг — войти в доверие, втереться, заморочить всеми средствами. Детище мое уже стучится в стенку, просит выхода, я прислушиваюсь к нему, иногда спрашиваю совета, но давать ему волю не спешу. Богом быть нелегко, но и сил мне отмерено немало, так что я со всем справляюсь.
Намеченный объект обычно слегка заморочен изначально, я стараюсь эту замороченность подогреть, довести до незнания, чего же он на самом деле хочет, до легкой растерянности. Обычно это оказывается нетрудно. И тут я подсказываю легкий выход — пойдем со мной, я покажу короткий путь, расскажу, устрою, научу... Объект — я немного презираю эти лица, этот взгляд засыпающей рыбины, которая едва раскрывает рот... объект следует за мной в намеченное уже безлюдное место. Кругом ни одной живой души, где-то вдали воют то ли волки, то ли собаки, фонари разбиты еще до царя Гороха, а поставить новые не сулится даже самый популистский из кандидатов в депутаты, не видно ни зги, хоть глаз коли.
Тут в ход идет мой гипноз. Обычно я заранее беру бутылочку пива, иногда две, не только пью сам, но и угощаю намеченного клиента. Быть богом еще и недешево? У меня вторая группа, пенсия 609 рублей, так что на пиво хватает. Как известно, легче всего гипноз производится при помощи блестящего предмета. Ну вот, в руке у меня пустая бутылка, она слегка блестит в лунном свете. Объект ничего не подозревает, спит наяву, рассеян, как обычно — а ведь он тоже мог бы стать богом, если бы вслушался во все то бормотание, которое наверняка и у него множится в голове. Но нет времени ждать прозрения, и я быстро фиксирую внимание объекта на бутылке. Очень просто, всего лишь один удар бутылкой по голове, и объект к гипнозу готов. Он растерян, он плохо осознает окружающее, он чувствует свою боль и видит свою кровь. И тут я произвожу вселение. Созревшая внутри меня личность поселяется в новом теле, а я чувствую необыкновенное облегчение и свободу, свободу!
Как я узнаю, что созданная мной личность вселилась в намеченное тело? О, это легко для того, кто читает мысли так же, как вы прочитываете передовицу в газете. Впрочем, намеченный объект всегда так близок к поселяемой личности, что не так уж многое и меняется. Зачастую это одно лишь имя, тайное имя. Видите вот этого мужичка. С виду ничего особенного. А если подойти вот эдак сзади, да толкнуть слегка и позвать: «Эдгар Аллан Поц». Видите?
Впрочем, у вас это как художественное, наверное, пойдет. Ну да мне без разницы, под какой рубрикой прочитает это такой вот парень. Меньше ему намеков придется запускать потом. Сам наутро проснется да начнет думать — а не загипнотизировали ли меня вчера... Мне нравится, когда кровь бежит. Это надежно. Но есть ведь еще сотни других способов.