Запустив скрипт, я был очень удивлен увиденному, а увидел я следующее(приведен лишь отрывок полного кода):
Код:
#!/usr/bin/perl -w # Password reminder for mail.rambler.ru project # Original version by maniac@rambler-co.ru # Rewritten by Maxim Dounin, mdounin@rambler-co.ru # $Id: reminder.cgi,v 1.35 2009/04/02 18:51:47 citrin Exp $ ################################################## #############################
use strict;
use warnings;
use utf8;
use CGI qw/ param /;
use Digest::MD5 qw/ md5_hex /;
use Time::HiRes;
use Rambler::CaptchaManager;
use rutils; use r_icq;
use rcfg;
my $H = { myname => 'reminder.cgi', DEBUG => 0, LOG => $rcfg::logdir.'/reminder/reminder_log', # template, used by rutils::print_tmpl TMPL_ROOT => $rcfg::tmpldir, TMPL => 'reminder.tmpl', SKIN => 'id', SKIN_OPT => { DEFAULT => $rcfg::urls{id}, LOGOUT => 'http://www.rambler.ru/', AUTH => $rcfg::urls{id}.'script/auth.cgi', }, # interface charset CHARSET => 'windows-1251', # ratelimits RATE_LOGIN => { rate => 1/3600, burst => 5 }, RATE_IP => { rate => 1/3600, burst => 10 }, RATE_IP_ROBOT => { rate => 1/60, burst => 50 }....
Собственно после несложного мыслительного процесса, я пришел к выводу, что передо мной исходники страницы Восстановление паролей.
А причина то, смешная!
После небольшого танца вокруг Рамблера, было выявлено еще как минимум 5 скриптов, которые можно скачать таким образом, и мне захотелось узнать с чем это связано.Первой мыслью было, что умер интерпретатор Perl, но из браузера я видел вполне нормальный результат работы скрипта, а не его исходник, значит этот вариант отпадает.Посмотрев заголовки отправляемые браузером сервера Рамблера, были поставлены опыты, и выявлено, что Рамблер показывает исходники некоторых скриптов, если к ним обратиться без заголовка User-Agent: ****.
То есть, вот такое обращение к скрипту: