PHP: <?php // html print_r(' <html> <head> <title>Test page!</title> <meta http-equiv="Content-type" content="text/html; charset="windows-1251"> <meta name="keywords" content="Test of my product" > <meta name="description" content="Test of scritps, writed by ac1d"> </head> <body bgcolor="black"> <font style="font-size: 30px; color: #006400;"> '); $chb = '<input type="checkbox" name="dir" value="1"> '; // установка соединения $conn_id = ftp_connect("host"); // вход с именем пользователя и паролем $login_result = ftp_login($conn_id, "login", "password"); // проверка соединения if ((!$conn_id) || (!$login_result)) { die("Не удалось подключиться к FTP серверу!"); } echo "<b>Текущая директория:</b>" . ftp_pwd($conn_id) . "\n"; // попытка сделать somedir текущей if (ftp_chdir($conn_id, "/php/")) { echo ftp_pwd($conn_id) . "<br> \n"; } else { echo "Не удалось сменить директорию <br> \n"; } $site = ftp_nlist($conn_id, "."); foreach($site as $v) if(is_dir($v)) echo $chb . $v . '<br>'; // закрытие соединения ftp_close($conn_id); print_r(' </font> </body> </html>'); ?> Нужно вывести директории поддоменов из каталога /www/ на ftp. В директории /www/ так же лежат файлы основного домена. Скрипт выводит только директории созданные для корневого домена, а нужно выводить как раз наоборот только директории с поддоменами.
Посоветуйте, как правильно организовать отправку капчи: В куках сохраняется значение: captcha=_md5_капчи_; И показывается картинка: <img src="http://site.ru/?_цыфирки_разные_ alt=""> 1) Курлом захожу на страницу авторизации 2) Смотрю цыферки после site.ru/? и показываю капчу в скрипте 3) preg_match_all('|Set-Cookie: (.*);|U', $res, $results); $cookies = implode(';', $results[1]); 4) Отсылаю курлом капчу + curl_setopt($ch, CURLOPT_COOKIE, $cookies); Ну конечно не работает не Х*я хиден полей нету ... отправка всех заголовков не помогает( Понять в чём проблема не могу
Какой-то у тебя сильно хитрожопый способ Я делаю так: В файле с капчей стартую сессию, в переменную сессии сую ранд, тот же рэнд на капчу, а в скрипте просто сверяю значения переменной сессии и инпута от пользователя, вроде всё элементарно
image.php: PHP: session_start(); $_SESSION['captcha'] = rand(100000,999999); //его же вставляем в текст, выводимый картинкой index.php: PHP: session_start(); if($_SESSION['captcha'] == $_POST['captca']) { echo 'антикапча фореве'; } else { echo 'пошёл на ***'; } форма: HTML: <img src = "image.php"> <form method = "POST"> <input type = "text" name = "captcha"> <input type = "submit"> </form>
Ru}{eeZ либо ты не понял, либо я )) Мне не нужно генерировать капчу и отдавать её пользователю .... мой скрипт должен заходить на сайт *не мой) смотреть капчу (показывать мне) и отправлять обратно
2geforse Если я правильно понял, то вот тебе мой пример для отправки смс на номера билайна. Выводится каптча с сайта билайна и форма, в которую ты вписываешь циферки. Думаю, ты сможешь отредактировать под свои нужды... Или кинь сайт, каптчу с которого ты будешь вводить. PHP: <?php $url="http://www.beonline.ru/portal/comm/send_sms"; $cfile = "cookie.txt"; function curl($url,$post) { $cfile = 'cookies.txt'; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile); curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_USERAGENT, "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1"); curl_setopt($ch, CURLOPT_POST, 1); $result = curl_exec($ch); curl_close($ch); return $result; }; $result=curl($url,""); //Открываем страницу с каптчей preg_match('[ <IMG SRC=\"(\S+)\" WIDTH=\"146\"]', $result, $pic); //извлекаем картинку с цифрами preg_match('[NAME=\"confirm_key\" VALUE=\"(\S+)\" MAXLENGTH=\"4\">]', $result, $key); //извлекаем код в hidden echo "<img src='http://www.beonline.ru/".$pic[1]."'>"; //выводим каптчу //отправляем каптчу, текст смс и т.д. if(isset($_POST['code'])) { echo "<br>CODE:".$_POST['code']; $post="deferto=&adv_year=&send=send&confirm_key=".$_POST['key']."&destination_number_from=ordinary&phone=9067654776&message=hi+ooooa&mlength=148&confirm_code=".$_POST['code']; $result = curl($url,$post); echo $result; }; ?> <form name="send" method="POST"><b>Введите код, указанный на картинке</b><input size="10" type="text" name="code"><input value="Отправить" type="submit"><input type="hidden" name="key" value="<?php echo $key[1]; ?>"></form>
Help помогите и мне PHP: $icq = new ICQclient($uin, $password); $icq->connect(); if ($icq->connected) { $icq->login(); if ($icq->logged) { $status = $icq->getstatus($uin_sendto); $icq->send_message($uin_sendto, $message1); echo "ok"; } } Как отправлять 2 сообщения на разные icq ? Использую вот этот класс - http://kanicq.ru/invisible/icqlib.rar
не понимаю чего тут не понять? PHP: $icq->send_message($uin_sendto, $message1); $icq->send_message($uin_sendto2, $message2);
Всю ночь просидел ... не выходит PHP: ### Заходим на сайт и получаем капчу $ch = curl_init('http://mirtesen.ru/login'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)'); $res = curl_exec($ch); curl_close($ch); ### Получаем код для картинки preg_match('#<img src="http://mirtesen.ru/captcha/login?(.*?)"#i', $res, $match_capt); ### Получаем куки preg_match_all('|Set-Cookie: (.*);|U', $res, $results); $cookies = implode(';', $results[1]); ### Показываем капчу echo '<img src="http://mirtesen.ru/captcha/login'.$match_capt[1].'" alt=""> <p><form name="spam" action="index.php" method="POST"> <input type="text" name="captcha"> <input type="submit" value ="Ok"></form>'; ### Отправляем обратно капчу/логин/пассворд if(isset($_POST['captcha'])){ $ch = curl_init('http://mirtesen.ru/login'); curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)'); curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, 'auth%5Bbackurl%5D=http%3A%2F%2Fmirtesen.ru%2F&auth%5Blogin%5D=LOGIN%40mail.ru&auth%5Bpassword%5D=PASSWORD&auth%5Bcaptcha%5D='.trim($_POST['captcha']).'&auth%5Bremember%5D=on'); curl_setopt($ch, CURLOPT_COOKIE, $cookies); $res = curl_exec($ch); curl_close($ch); } В куках хранится значение капчи, без них вобще никак не получится,т.к. даже если в браузере отключить куки, то капча не вводится...
У меян вопрос. почему программа не записывает в файл $file_data? все значения переменных $all_user_row = $login. " " .$password. " " .$emeil. " " .$city. "\n";. Проверяю цыклом масив $_POST, все переменные получены, а в файл не записываються, записиваеться только логин и пароль, а емеил и город нет. $login = $_POST['login']; $password = $_POST['password']; $emeil = $_POST['emeil']; $city = $_POST['login']; foreach($_POST as $name => $value) { echo''.$name.' '.$value.' <br>'; } if ($vse_gud = true) { chdir("D:\Webservers\home\libra.com\www"); $file_data = fopen("all_User_data.txt", "a+"); $all_user_row = $login. " " .$password. " " .$emeil. " " .$city. "\n"; fwrite($file_data, $all_user_row); $User_row = $login. " " .$password."\n"; $file = fopen("User_data.txt", "a+"); fputs($file, $User_row); fclose($file_data); fclose($file); Сорри я уже разобрался, все работатет.
В твоём коде куки не приходят. Как там посылается каптча? потомучто я ненашёл связи md5(номер каптчи) и значений в кукисах
Это я просто забыл тут хедер написать, в коде у мну есть HEADER, 1 Потом отправляю с помощью: curl_setopt($ch, CURLOPT_COOKIE, $cookies); Насколько я понял, там в куках есть значение mirtesen=....; нужно передавать его + капчу .... я так и делаю, но что-то не получается(
как тогда оно сверяет, что ты ввёл нужную каптчу? я пробывал залогинится и сотрел в кикусах мд5 хеш от номера каптчи. Сходства ненашёл.
Товарищи, есть скрипт (код ниже) нужно этим скриптом вывести все папки с поддоменами с фтп. Папки пооддоменов лежат в каталоге /www/. Так же каталог /www/ - это директория для основного домена, тоесть там лежат файлы корневого домена. У меня в корневом домене только одна папка - immages, собственно которую скрипт и выводит, а мне нужно выводить какраз таки всё кроме неё. Тоесть мне нужно выводить только папки с поддоменами (для последующей заливки в них файлов. PHP: <?php // html print_r(' <html> <head> <title>Test page!</title> <meta http-equiv="Content-type" content="text/html; charset="windows-1251"> <meta name="keywords" content="Test of my product" > <meta name="description" content="Test of scritps, writed by ac1d"> </head> <body bgcolor="black"> <font style="font-size: 30px; color: #006400;"> '); $chb = '<input type="checkbox" name="dir" value="1"> '; // установка соединения $conn_id = ftp_connect("host"); // вход с именем пользователя и паролем $login_result = ftp_login($conn_id, "login", "password"); // проверка соединения if ((!$conn_id) || (!$login_result)) { die("Не удалось подключиться к FTP серверу!"); } echo "<b>Текущая директория:</b>" . ftp_pwd($conn_id) . "\n"; // попытка сделать somedir текущей if (ftp_chdir($conn_id, "/php/")) { echo ftp_pwd($conn_id) . "<br> \n"; } else { echo "Не удалось сменить директорию <br> \n"; } $site = ftp_nlist($conn_id, "."); foreach($site as $v) if(is_dir($v)) echo $chb . $v . '<br>'; // закрытие соединения ftp_close($conn_id); print_r(' </font> </body> </html>'); ?>
если у тебя в #10915 посте выложен полный код , то не работает потому , что при сабмите формы скрипт получает новую капчу и куки , и отправляет уже их , естественно они не совпадают с введненными тобой как вариант сделать перед получением картинки Code: if(!isset($_POST[captcha])) либо делать сабмит на другую страницу , с которой уже и будут отправляться данные