Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

02.04.2010, 23:47
|
|
Постоянный
Регистрация: 18.02.2008
Сообщений: 368
Провел на форуме: 4075418
Репутация:
386
|
|
Что то я туплю =\
Загружаю страницу курлом, паршу данные к капче и после чего загружаю к себе на сервер, дальше вывожу форму с этой капчей и ставлю проверку на нажатие этой кнопки в итоге получается так что перегружается страница и вылезает новая капча. Как мне получается неперегружая страницу отправить мои данные с этой капчей ?
Код типа такого:
PHP код:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://ste.ru/reg');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'regcook');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'regcook');
$answer = curl_exec($ch);
preg_match("#/captcha/(.*?).jpg#",$answer,$out);
curl_setopt($ch, CURLOPT_URL, 'http://site.ru/'.$out[0]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'regcook');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'regcook');
$answer = curl_exec($ch);
$fp=fopen('captcha.jpg','r+');
fputs($fp,$answer);
fclose($fp);
echo '<img src="captcha.jpg" /><br />
<form name="captcha_form" action="#" method="POST">
<input type="text" name="captcha" value="" /><br />
<input type="submit" value="ok" />
</form>';
... // тут инфа о заполняемой форме
if(!$_POST['captcha']) {
curl_setopt($ch, CURLOPT_URL, 'http://site.ru/reg');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'regcook');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'regcook');
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_POSTFIELDS,$postdata);
$answer = curl_exec($ch);
}
|
|
|

02.04.2010, 23:54
|
|
Участник форума
Регистрация: 13.04.2009
Сообщений: 121
Провел на форуме: 436858
Репутация:
33
|
|
Сообщение от DiSi
как сделать так чтобы "если ип есть в списке то ничего не делаем, если ип в списке нету то выполняем код (список небольшой 4 ипшника)"
PHP код:
$my_ip = $_SERVER['REMOTE_ADDR'];
/* Разрешенные IP адреса */
$ips = array(
'127.0.0.1',
'127.0.0.2',
'127.0.0.3',
'127.0.0.4'
);
if(in_array($my_ip, $ips)){
print 'Пользователь '.$my_ip.' найден!';
}else{
print 'Пользователь '.$my_ip.' не найден!';
}
|
|
|

03.04.2010, 00:24
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
warlok,
файл regcook создается?
и дай ссылку на сайт где капча
Последний раз редактировалось phpdreamer; 03.04.2010 в 00:28..
|
|
|

03.04.2010, 00:31
|
|
Постоянный
Регистрация: 18.02.2008
Сообщений: 368
Провел на форуме: 4075418
Репутация:
386
|
|
phpdreamer, да создается. сайт digg.com/register
|
|
|

03.04.2010, 01:41
|
|
Участник форума
Регистрация: 27.12.2009
Сообщений: 126
Провел на форуме: 1170081
Репутация:
63
|
|
Ищу скрипт закидать окнами
может у кого есть? 
|
|
|

03.04.2010, 01:51
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
warlok, вот это близко к правде... но думаю, я не заметил еще какую-то проверку( завтра попробую еще поковырять
PHP код:
<?php
#---------------------------------------------------------------------------
function noPost($url)
{
$ch = curl_init($url);
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/3.0.4");
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}
function post($url,$post,$refer)
{
$ch = curl_init($url);
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/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}
#---------------------------------------------------------------------------
$first = noPost('http://digg.com/register/','','http://digg.com/register/');
preg_match("#/captcha/(.*?).jpg#",$first,$capcha);
//адрес картинки
$Capch = 'http://digg.com' . $capcha['0'];
//получаем картинку
$img = noPost($Capch,'','');
//сохраняем в файл
file_put_contents('captcha.jpg',$img );
#---------------------------------------------------------------------------
if(isset($_POST['captcha']))
{
echo post('http://digg.com/register/',$_POST['captcha'] ,'http://digg.com/register/');
}
else
{
echo '<img src="captcha.jpg"> <br />
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="captcha[input]" id="captcha[input]" />
</label>
<input type="hidden" id="captcha[id]" name="captcha[id]" value="'.$capcha['1'].'" />
<label>
<input type="submit" name="button" id="button" value="Отправить" />
</label>
</form>';
}
?>
Tesson, пробей в гугле "javascript создание окон"
|
|
|

03.04.2010, 01:52
|
|
Новичок
Регистрация: 23.05.2009
Сообщений: 7
Провел на форуме: 28913
Репутация:
0
|
|
PHP код:
<?
$fo= fopen("1.txt", "a+");
$file_array_dic = file( "slov.txt" ); // перевод строк в массив
$file_array_basa = file( "basa.txt" );
$s_s = count($file_array_dic); //кол-во строк
$s_b = count($file_array_basa);
for($d=0; $d <= $s_s; $d++) { // пробегаем по словарю
for ($b=0; $b <= $s_b; $b++){ // пробегаем по базе
$var=strpos($file_array_basa[$b], $file_array_dic); // проверка принадлежности подстроки к строке
if ($var > 0)
fwrite($fo, $file_array_basa[$b]. "PASS: ". $file_array_dic[$d]. "\r\n" ); // если есть совпадение записывает в файл эти элементы
}
}
?>
Суть проблеммы в том, что программа видит совпадения только в последней строке словоря(судя по тому что она выводит в текстовой документ), если выводить весь лог операций видно что цикл построен правильно. тоесть программа способна увидеть совпадения только с последней строкой словоря. Я уже 4ый день туплю. буду очень благодарен тому кто поможет дописать\исправить программку что бы та проверяла на совпадение каждую строку базы с каждой строкой словоря.
|
|
|

03.04.2010, 10:38
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
1)
$var=strpos($file_array_basa[$b], $file_array_dic);
счетчик по file_array_basa используется, а счетчик по file_array_dic - нет
как оно будет искать массив в строке?
2)если искомое будет в начале строки, то $var будет 0 и условие не выполнется.
можно сделать так:
PHP код:
strpos('##' . $file_array_basa[$b], $file_array_dic[$d], 2);
(если у тебя не будет нигде строки, начинающейся с ##)
3)переменная var не нужна...
PHP код:
if( strpos('##' . $file_array_basa[$b], $file_array_dic[$d], 2) )
fwrite($fo, $file_array_basa[$b]. "PASS: ". $file_array_dic[$d]. "\r\n" );
|
|
|

03.04.2010, 11:34
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
warlok, получай ручной авторегер
PHP код:
<?php
#-----------------------------------------
# Полуавтоматический авторегер digg.com
# Автор phpdreamer
# 03.04.10
#-----------------------------------------
function noPost($url) //для получения данных по кукисам
{
$ch = curl_init($url);
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/3.0.4");
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cook.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cook.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}
function post($url,$post,$refer) //для отправки post
{
$ch = curl_init($url);
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/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cook.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cook.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}
function generate($number) //для генерации случайных строк
{
$arr = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','v','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','R','S','T','U','V','X','Y','Z',
'1','2','3','4','5','6','7','8','9','0');
$pass = '';
for($i = 0; $i < $number; $i++)
{
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];
}
return $pass;
}
#---------------------------------------------------------------------------
if(isset($_POST['captcha']) && isset($_POST['mail']))
{
$user = generate(10);
$password = generate(12);
//$email = $user '@gmail.com'; //мыла можно сочинять на ходу, вводить каждый раз, брать из файла или прикрутить авторегер мыл
$email = $_POST['mail'];
$postQ = 'username=' . $user . '&password[a]=' . $password . '&password[b]=' . $password . '&email=' . $email . '&newsletter=on&bestofdiggweekly=on&birthday[Month]=01&birthday[Day]=02&birthday[Year]=1970&captcha[input]=' . $_POST['captcha'] . '&captcha[id]=' . trim(file_get_contents('captcha.txt.tmp') );
$res = post('http://digg.com/register/',$postQ ,'http://digg.com/register/');
file_put_contents($_SERVER['DOCUMENT_ROOT'].'/cook.txt','');//чистка кукисов
if(strpos($res,'Now, please check your email'))
{
$fo = fopen("accounts.txt", "a+");
fwrite($fo, "$user;$password;$email\n" );
fclose($fo);
echo 'Успешно! <a href="'.$_SERVER['PHP_SELF'].'">нажмите для продолжения.</a>';
}
else
{
die($res);
}
}
else
{
$first = noPost('http://digg.com/register/','','http://digg.com/register/');
preg_match("#/captcha/(.*?).jpg#",$first,$capcha);
//адрес картинки
$Capch = 'http://digg.com' . $capcha['0'];
//получаем картинку
$img = noPost($Capch);
//сохраняем в файл
file_put_contents('captcha.jpg',$img );
///test - вторая картинка
$img = noPost($Capch);
file_put_contents('captcha2.jpg',$img );
//записываем id капчи
file_put_contents('captcha.txt.tmp',$capcha['1'] );
#---------------------------------------------------------------------------
echo '<img src="captcha.jpg"> <br /><img src="captcha2.jpg"> <br />
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="captcha" />
</label>
<label>
<br />email<input type="text" name="mail" value="'.generate(10).'@gmail.com" />
</label>
<label>
<input type="submit" name="button" id="button" value="Отправить" />
</label>
</form>';
}
?>
Файлы:
в accounts.txt будут записываться учетки (логи;пароль;мыло)
captcha.jpg и captcha2.jpg - будет 2 экземпляра капчи (если на одной какой-то символ плохо видно, то его видно на другой)
captcha.txt.tmp - временный файл с id капчи (в принципе, можно от него избавится, если добавить hiddenfield)
в cook.txt (в корне сервера) будут куки
Последний раз редактировалось phpdreamer; 03.04.2010 в 12:20..
|
|
|

03.04.2010, 12:59
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
PHP код:
<?php
if(isset($_POST['str']) && !empty($_POST['str']) && !is_array($_POST['str']) && strlen($_POST['str']) == 8)
{
$str = $_POST['str'];
for($i=2,$j=strlen($str);$i<=$j;$i+=2)
print substr($str, -$i, 2);
}
else
{
print<<<HERE
<form method="post">
<input type="text" name="str">
<input type="submit" value="OK">
</form>
HERE;
}
?>
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|