Через сокерты, хм.. Думаю не получится, по адресу 192.168.1.1 унего вложенный вебсервер, там управляющий сайт с настройками адсл модема, думаю он как раз через соекты нам страничку и покажет. Конешно сокеты мысль, можно попробовать произвести авторизацию, и обратно отправеть post submit на ребут, но тоже там не все просто..
а ты просто попробуй и все станет понятно, когда ты выполняешь telnet 192.168.1.1, ты просто коннектишся на 23 порт 192.168.1.1 также как у меня в примере, а вебсервер обычно на 80 или 8080 порту находится ты просто пойми, что мой скрипт делает, он открывает соединение с 192.168.1.1 на 23 порт и записывает туда комманды, тоже самое, что делаешь ты через программу telnet открой у себя на компе любой порт (с помощью nc -l -n -v -p <port>) на прослушку и запусти мой скрипт с твоим ip и номером открытого у себя порта, и посмотри что произойдет, ты увидишь что скрипт соединится с твоим компом на установленный порт и пошлет комманды туда
[x26]VOLAND, предположим, что имеем дело с простейшей таблицей: Code: CREATE TABLE `some_table` ( `id` int(11) unsigned NOT NULL auto_increment COMMENT 'Идентификатор автора', `author` varchar(20) NOT NULL default '' COMMENT 'Имя автора', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COMMENT='Тестовая таблица'; Забьём в неё записи: Code: INSERT INTO `some_table` (`id`, `author`) VALUES (1, 'John'), (2, 'Mary'), (3, 'Jane'), (4, 'Marty'), (5, 'John'), (6, 'Annie'), (7, 'John'), (8, 'Marty'), (9, 'Jane'), (10, 'Marty'); Тогда, для поставленной тобой задачи код будет выглядеть следующим образом: PHP: <?php define("DB_HOST", "127.0.0.1:3306"); define("DB_NAME", "test"); define("DB_USER", "test"); define("DB_PASSWD", "test"); // Соединяемся с базой данных $db_id = mysql_connect(DB_HOST, DB_USER, DB_PASSWD) or die("Error: " . mysql_error()); // Выбираем рабочую базу данных $ret = mysql_select_db(DB_NAME, $db_id) or die("Error: " . mysql_error()); // Запрос к БД $sql = "SELECT author, COUNT(id) amount FROM some_table GROUP BY author ORDER BY amount DESC"; // Выполняем запрос к базе данных $result = mysql_query($sql) or die("Error: " . mysql_error()); // Делаем визуальное оформление результата print("<style>\n"); print(".tbl {font: normal 10pt Tahoma; border: #000000 1px solid}\n"); print("th {height: 25px; background-color: #cacaca}\n"); print("td {height: 20px; text-align: center; border-top: #000000 1px solid}\n"); print("td.vert {border-right: #000000 1px solid}\n"); print("</style>\n"); print("<table cellspacing=\"0\" cellpadding=\"0\" width=\"150\" class=\"tbl\">\n"); print("<tr><th>Автор</th><th>Кол-во</th></tr>\n"); // Если запрос вернул не пустую выборку if (mysql_numrows($result) > 0) // В цикле по всем строкам выводим результат (ассоциативный массив) while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) printf("<tr><td class=\"vert\">%s</td><td>%s</td></tr>\n", $row["author"], $row["amount"]); else print("<tr><td class=\"vert\">--</td><td>--</td></tr>\n"); // Выводим прочерки print("</table>\n"); mysql_free_result($result); // Освобождаем результат mysql_close($db_id); // Закрываем соединение ?> Ничего сложного...
трабл немного не по пхп, пытаюсь вставить в таблицу пхп файл а он выдает пустой экран почему? <table width=100% height=100% border=1> <tr><td height=150> <center>Заголовок</center> </td></tr> <tr><td width=150> <?php пробовал require "left.php"; пробовал include "left.php"; ?> </td></tr> </table> если вставляю через фрэйм то все находит <FRAMESET cols="15%,*, 15%"> <FRAME src="left.php" name="left" scrolling=no marginheight=0 marginwidth=0 noresize> <FRAME src="" name="center" scrolling=no marginheight=0 marginwidth=0 noresize> <FRAME src="" name="right" scrolling=no marginheight=0 marginwidth=0 noresize> </FRAMESET> кто нибуть знает почему?
По-моему, не имеет значения. XopoIII, приведи сгенерированный код получившейся страницы, а не только то, что ты пишешь. Наверняка у тебя там так и осталось: PHP: <?php require "left.php"; ?> .
Не работает так, не достигает того результата, проверить через nc не сообразил, пробовал скачать программу, там мне впаривают какуюту cms систему, запутался, короче не смог просмотреть запрос, и вычеслить где ошибка, но сдается что ошибка в строчке где отправляем пароль \r \n - это же два символа юнекс и виндовс перехода строки, ентер он же один символ, могу предположить что здесь может не срабатывать. Умучился я, мне только надо перезагрузить модем. Спортами спаисибо, теперь я понял суть, действиетльно модем разные вещи передает в зависимости от порта.
Всеее)))))))) СПАСИБО ОГРОМНОЕ!!! PHP: <?php $fp = fsockopen("192.168.1.1",23); if (!$fp) { echo "ERROR<br>\n"; } else { fwrite($fp,"entrymaypassword123*\r\n"); fwrite($fp,"24\r\n"); fwrite($fp,"4\r\n"); fwrite($fp,"1\r\n"); fwrite($fp,"1\r\n"); fclose($fp); } ?> последнию команда при повторном отправление сработала, не знаю что и как, подход ламерский, но главное то что работает! На первое время хватит, как воздуха)
Ну это уж твои косяки, ты спросил как, я тебе ответил, а уж насчет комманд это ты сам должен знать, попробуй еще так: PHP: <?php $fp = fsockopen("192.168.1.1",23); if (!$fp) { echo "ERROR<br>\n"; } else { fwrite($fp,"entrymaypassword123*\n"); fwrite($fp,"24\n"); fwrite($fp,"4\n"); fwrite($fp,"1\n\n"); fclose($fp); } ?>
Все работает, проблемма была в том что скрипт слишком быстро закрывал сокет, функцию приостановки выполнения скрипта не знаю, поэтому я его затормозил условием, получилось так: PHP: fwrite($fp,"1\n\n"); while ($a<3000){echo '<br>'.$a.') Перезагрузка';$a++;} fclose($fp);
так и осталось=( PHP: <HTML> <HEAD> <TITLE>Главная страница</TITLE> </HEAD> <table width=100% height=100% border=1> <tr><td height=150 colspan=3> <center>Заголовок</center> </td></tr> <tr><td width=150> <?php require "left.php"; ?> </td> <td> TEXT </td> <td width=150> </td></tr> <tr><td height=15 colspan=3> TEXT </td></tr> </table> </HTML>
2temp_late тогда используй вместо fsockopen функцию pfsockopen а цикл убери нафик ну и fclose 2XopoIII качай _http://www.captcha.ru/kcaptcha.zip
вот такая вот проверка пароля в самом конце авторизации. Можно ли ее обойти? PHP: $sql="select * from f_user where (nick='$innick')"; $resultn=mysql_query($sql); $ar=mysql_fetch_array($resultn); //вышестоящая проверка вырезана, поскольку там ничего не поделать if ($ar['pass'] == $inpass) { $_SESSION['userenter']=$ar['id'];
http://www.captcha.ru/kcaptcha.zip все отлично качает или зайди сюда, внизу будет ссылка для скачивания http://www.captcha.ru/kcaptcha/
скачал посмотрел работает, а вот как капчу или не капчу настроить чтобы пользователь вводил эти цифры и они сравнивались?