PDA

Просмотр полной версии : [php] Заполнение форм


Хелпер
07.11.2009, 14:03
Итак. Суть задачи скрипта:
Открывает страницу http://forma.net/index.php
На странице html форма с несколькими полями. Например:
<form action="res.php" method="post">
<input type="text" name="login">
<input type="text" name="pass">
<input type="text" name="email">
<input type="submit">
</form>

Вводит буквенное имя длиной от 4 до 10 символов, вводит пароль, идентичный имени, и емаил следущим образом:
имя@любые_буквосочетания(т чка)любые_быквосочетания
и жмет интер.
А затем все заново.
Никаких логов и статистик не нужно.

Так же желательно использование прокси серверов из txt документа.

Если кто-то возьмется бесплатно, буду рад, ну а если работа требует оплаты - ваши предложения. Мне надо для выпускной работы.

Gray_Wolf
07.11.2009, 14:21
Передаёте функции полный путь до вашего res.php и она отсылает нужные вам данные
function get_page($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=Vasya&pass=Vasya&email=Vasya@mail.ru");
$result = curl_exec($ch);
curl_close($ch);
}

GreenBear
07.11.2009, 14:22
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
=>
$ch = curl_init($url);
ну это просто так, так тоже можно

b3
07.11.2009, 15:17
Тока чет по адресу http://forma.net/index.php я не увидел формы =)

<?php
set_time_limit(0);
$proxylist = file('proxy.txt');
$proxylist = array_map('trim',$proxylist);

foreach ($proxylist as $proxy) {

$ch = curl_init('http://forma.net/index.php');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_REFERER, $url);
curl_setopt($ch,CURLOPT_TIMEOUT, 5);

curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, 'login=admin&pass=123456&email=admin@admin.ru');

curl_setopt($ch,CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch,CURLOPT_COOKIEFILE, './cook');

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox-Zalupa/3');
curl_setopt($ch, CURLOPT_PROXY, $proxy);
$content = curl_exec($ch);
curl_close($ch);

}
?>

Хелпер
07.11.2009, 16:39
вы немного не поняли задания. После выполнения цикла необходимо генерировать имя пароль маил и заново выполнять цикл.

b3
07.11.2009, 22:47
В цикле повставляй вызов функций.


function namegen($length)
{
$result = '';
$vals = "abcdefghijklmnopqrstuvwxyz0123456789";
for($i=1; $i<=$length; $i++)
{
$result .= $vals{rand(0, strlen($vals) - 1)};
}
return $result;
}



function passgen($length)
{
$result = '';
$vals = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx yz0123456789!@#$%^&*()_-+";
for($i=1; $i<=$length; $i++)
{
$result .= $vals{rand(0, strlen($vals) - 1)};
}
return $result;
}



function mail_gen($length)
{
$result = '';
$vals = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx yz0123456789!@#$%^&*()_-+";
for($i=1; $i<=$length; $i++)
{
$result .= $vals{rand(0, strlen($vals) - 1)};
}
$result .= $result.'@mail.ru';
return $result;
}

Хелпер
08.11.2009, 00:29
Тока чет по адресу http://forma.net/index.php я не увидел формы =)

<?php
set_time_limit(0);
$proxylist = file('proxy.txt');
$proxylist = array_map('trim',$proxylist);

foreach ($proxylist as $proxy) {

$ch = curl_init('http://forma.net/index.php');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_REFERER, $url);
curl_setopt($ch,CURLOPT_TIMEOUT, 5);

curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, 'login=admin&pass=123456&email=admin@admin.ru');

curl_setopt($ch,CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch,CURLOPT_COOKIEFILE, './cook');

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox-Zalupa/3');
curl_setopt($ch, CURLOPT_PROXY, $proxy);
$content = curl_exec($ch);
curl_close($ch);

}
?>

в каком формате должен быть файл с проксями?
xxx.xxx.xxx.xxx:port
xxx.xxx.xxx.xxx:port
TAK?

И как передать фун-ии адрес до res.php?

b3
08.11.2009, 06:46
в каком формате должен быть файл с проксями?
IP:PORT
И как передать фун-ии адрес до res.php?
Неебу о каком res.php вообще идет речь.

Вот вообщем слепил в кучу на всякий случай.

<?php
set_time_limit(0);
$proxylist = file('proxy.txt');
$proxylist = array_map('trim',$proxylist);

foreach ($proxylist as $proxy) {

$login = namegen(8);
$pass = passgen(10);
$email = mail_gen(8);

$ch = curl_init('http://forma.net/index.php');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch,CURLOPT_REFERER, 'http://rambler.ru');

curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, 'login='.$login.'&pass='.$pass.'&email='.$email);

curl_setopt($ch,CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch,CURLOPT_COOKIEFILE, './cook');

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox-Zalupa/3');
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch,CURLOPT_TIMEOUT, 5);

$content = curl_exec($ch);
curl_close($ch);

}

/* FUNCTIONS */

function namegen($length)
{
$result = '';
$vals = "abcdefghijklmnopqrstuvwxyz0123456789";
for($i=1; $i<=$length; $i++)
{
$result .= $vals{rand(0, strlen($vals) - 1)};
}
return $result;
}

function passgen($length)
{
$result = '';
$vals = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx yz0123456789!@#$%^&*()_-+";
for($i=1; $i<=$length; $i++)
{
$result .= $vals{rand(0, strlen($vals) - 1)};
}
return $result;
}
function mail_gen($length)
{
$result = '';
$vals = "abcdefghijklmnopqrstuvwxyz0123456789";
for($i=1; $i<=$length; $i++)
{
$result .= $vals{rand(0, strlen($vals) - 1)};
}
$result = $result.'@mail.ru';
return $result;
}
?>

Osip
08.11.2009, 08:36
<form action="res.php" method="post"> он про это...
ссылку сам поменяй с
http://forma.net/index.php на
http://forma.net/res.php

Хелпер
08.11.2009, 14:30
Я видимо тупой, свяжите все в одно пожалста.

QtQDuck
09.11.2009, 21:43
Рискну попросить в этой теме, чтоб не создавать других.

Нужен скрипт, который так же будет заполнять рендомом формы имя\фамилию\пасс\город\логи н\, а мыла, для ввода, будет брать из txt файла. Так же может и работа и со списком прокси(если можно).
Никаких ограничений на формы. т.е. вводи все что хочешь.

Вобщем, пользователю нужно нажать только 1 кнопку "Регистрация" и все....т.е. 1клик = 1регистрация...

Регистрация, абсолютно такая же как и здесь. (http://www.fishker.ru/net/registration)

Буду рад помощи, ну а если очень сложно, готов оплатить.
Буду очень благодарен...Спасибо