|

Hacker's PHP
Xakep, номер #043, стр. 043-046-3
Наиболее просто задача решается использованием уже написанного буржуйскими программистами class'а - "mime_mail".
Этот класс предоставляет довольно широкие возможности по работе с почтой, избавляя от необходимости вручную строить сообщения.
А вот скрипт, показывающий, каким образом можно аттачить файлы.
<?
include "mime_mail.inc";
$file="big_file.jpg";
$content_type="image/jpeg";
$f=fopen($file, "r"); //Читаем файл
$filesize= filesize($file);
$data=fread($f, $filesize);
fclose($f);
$mail=new mime_mail; #создаем копию объекта
$mail->from="hacker@yuorhost.com";
$mail->to="hacker@isp.ru";
$mail->subject="Файло!";
$mail->body="Держи файл!";
$mail->add_attachment($data, $file, $content_type);
$mail->send();
?>
И делов-то ;)
Накрутка голосований
Ну вот и подошли к основной задаче. Не так уж это просто - грамотно накрутить голосование, ведь в абсолютном большинстве случаев voting-скрипт ведет статистику по Ip-адресам голосовавших, дабы избежать повторных волеизъявлений. Есть, однако, анонимные proxy-сервера, позволяющие оставлять в логах разные ip'шники, что, зачастую, довольно эффективно. Но опять же, если накручивать с сервера, притом желательно буржуйского, т.к. почти все проксики находятся за М9, а стало быть, связь с ними лучше из забугорных каналов. Сразу скажу, это довольно серьезная задача, под которую я наворотил довольно сильный скрипт.
Сценарий будет использовать в работе текстовый файл с адресами анонимных проксиков, где порт отделяется от хоста двоеточием. Например, 217.65.34.11:3128 (адрес я придумал от балды). Следует заметить, что в PHP нет как таковой поддержки proxy-серверов, поэтому мне пришлось слепить класс (class), позволяющий осуществлять работу через прокси. Приводить здесь код класса я не буду - незачем; если тебе интересно, ты ведь всегда его можешь посмотреть.
В этом class'e создана функция px(), принимающая две обязательные переменные (хост и URL получаемого файла) и одну необязательную (номер порта web-сервера, по умолчанию - 80). Этот класс - сердце нашего скрипта, поэтому начинается накрутчик довольно стандартно:
<?
include"proxy.inc";
$prox=new proxy;
?>
А вот продолжение... Я писал его минут 40(!) - постоянно что-то не работало ;). В итоге я приблизился если не к идеалу, то, по крайней мере, рабочему варианту:
<?
include "proxy.inc"; //Подключаем класс
$prox=new proxy; //делаем копию объекта
if(isset($submit)) //Нажата ли кнопка отправки формы?
{
$prox_arr=file("proxies.txt"); //Режем в массив файл с проксиками
$num_prox=count($prox_arr); //считаем количество элементов в массиве
Назад на стр. 043-046-2 Содержание Вперед на стр. 043-046-4
|