Пишем скрипт для распространения вредоносного ПО на собеседовании

Вот такое тестовое задание компания N предлагает кандидатам на вакансию PHP Dev:
 
Обращение по ссылке /files/<имя файла>.exe должно возвратить EXE файл расположенный по адресу /file.exe, а также установить cookie с параметром referrer равным домену, с которого пришел данный пользователь для закачки этого файла.
 
Например, если на сайте www.cnet.com поместили прямую ссылку на http://www.auslogics.com/files/myfile.exe и посетитель щелкает по ней, то он сможет скачать файл /files/myfile.exe (а на самом деле /file.exe) и на его компьютере будет оставлена cookie с referrer = cnet.com. Написать скрипт (PHP), реализующий этот функционал, привести текст .htaccess, если нужен.
 
 
Распространять exe-шники, конечно, не стОит, если вместо этого можно распространять сиськи. Итак, приступим. Начнем с htaccess для контроля над URI: включаем RewriteEngine и пишем правило:
 
RewriteEngine On
RewriteRule ^files/(.*) download.php?_file=$1 [L]
 
Теперь download.php процедурным:
 
<?php

if (!isset($_GET["_file"]) || !$_GET["_file"]) {
	echo 'What kind of boobs do you like?';
	echo '<ul>';
		foreach(['small','middle','big','bigger than big'] as $value) {
			echo '<li><a target="_blank" href="' . str_replace(' ', '_', $value) .'_boobs.jpg">'.$value.'</a></li>';
		}
	echo '</ul>';
	exit;
}

$file_true_path = __DIR__ . '/small_boobs.jpg';
$file_fake 		= pathinfo($_GET["_file"]);
$file_true 		= pathinfo($file_true_path);

if ($file_fake["extension"] !== $file_true["extension"]) { // оставим универсальное условие. вдруг правда кто-то захлочет другой тип файла
	die('Pervert!');
}

if (isset($_SERVER["HTTP_REFERER"]) && $_SERVER["HTTP_REFERER"] && (!isset($_COOKIE["referrer"]) || !$_COOKIE["referrer"])) 
{
	$parse_url = parse_url($_SERVER["HTTP_REFERER"]); // получаем домен
	setcookie('referrer', $parse_url['host'], time()+(60*60*24*7), '/'); // пишем куку
}
// отдаем файл
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$file_fake['basename'].'"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file_true_path)); 
readfile($file_true_path);
exit();
Мои PET-проекты
Матч Шредингера. Про футбол без спойлеров. Сервис помогает выбрать интересный матч для просмотра в записе. Перейти »
MafiozZz. Сервис для тех, кто любит играть в мафию. Сервис дает клубам возможность завести клубный сайт, предоставляет удобный интерфейс для ведения подобной статистики, расписания игр, выдавать игрокам награды, проводь адресную SMS рассылку (и прочие плюшки). Перейти »