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 создание окон"
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ый день туплю. буду очень благодарен тому кто поможет дописать\исправить программку что бы та проверяла на совпадение каждую строку базы с каждой строкой словоря.
1) счетчик по 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" );
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 (в корне сервера) будут куки
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; } ?>
PHP: $string = '9507F007'; //проверка if(strlen($string) != 8) die('должно быть 8 символов'); $str1 = substr($string,0,2);//вырезаем первые 2 символа $str2 = substr($string,2,2);//вырезаем 2-ые 2 символа $str3 = substr($string,4,2);//вырезаем 3-ые 2 символа $str4 = substr($string,6,2);//вырезаем 4-ые 2 символа $string = $str4 . $str3 . $str2 . $str1; echo $string;
Интересно, почему вы все стремитесь работать с числом как со строкой? Банально мыслите, господа. PHP: <?php $num = 123456789; while( ( int )$num > 0 ) { $number = ( int )$num % 10; $num /= 10; echo $number; } ?>
Даже с символами можно на много проще сделать: PHP: <?php $num = '1a2b3c4d'; $min = strlen( $num ); for( $i = 0; $min >= $i; $min-- ) { echo $num[$min]; } ?> -- UPD: Хорошо было бы задание узнать.
то что ты написал делает ф-я strrev а задание было другое... уже проехали - есть 2 решения (решение от Kaimi - практичней, а мое - читабельней и понятней)
Нужно написать регулярку что будет заменять в html коде все ссылки (a href,js и т.п.) на ссылку домена самого скрипта. при этом не трогая адресс картинок... + как сделать так чтобы все картинки без адресса напр. <img src"/...."> заменялись на те что с адрессом ЗЫ Это 15555 ответ в этой теме