Вопрос. Как передавать параметры скрипту одной строкой?

ifratazr

В коде страницы сайта имеется форма
 
<form method="post">
<input type='hidden' name='checkup' value='1'>
<input type='text' name='login' maxlength='8'>
<input type='password' name='password'>
<input type='submit' value='OK' name='button'>
</form>

Как мне, не заполняя соответствующие поля на сайте, передать нужные параметры (скрипту для дальнейшей обработки)? То есть какую строку мне надо ввести в поле адрес в броузере, чтобы скрипт получил все необходимые ему параметры.

a10063

не выйдет
если сайт написан правильно, get и post обрабатываются раздельно

ifratazr

Почему спрашиваю. Пробовал следующую строку:
index.php?checkup=1&login=upgrade&password=user123&button=OK

Не прокатило. Может загвоздка в поле с input type='text'? Как в PHP передаются параметры со строчек формы такого типа?

ifratazr

не выйдет
если сайт написан правильно, get и post обрабатываются раздельно
То есть даже зная код страницы полностью, пользователю не получится устроить автоматическое заполнение формы нужными полями?

uncle17

почитай, как кодируются и пересылаются POST-запросы. Я досконально алгоритма не знаю, но скажу, что обычному пользователю - точно не получится

uncle17

З.Ы. Ты можешь, конечно, переписать у себя эту форму с GET-ом, но, если вс же скрипт написан _правильно_, он тебя пошлет с гетом нахуй

Elina74

Заботай функцию post в perl, к примеру.
use LWP 5.64;
my $browser = LWP::UserAgent->new;
$browser->post(......);
это не рабочий пример, это ключевые слова для поиска.

ifratazr

У меня два вопроса.
Если заботаю все, что касается этого вопроса, я смогу КАКИМ-ЛИБО образом заполнить автоматически нужные поля в форме при условии, что:
1) сайт написан грамотно, и GET и POST обрабатываются отдельно
2) сайт написан НЕграмотно
?

Elina74

Если ты это заботаешь, ты сможешь передать все нужные данные с помощью метода post по-любому. Вне зависимости, грамотно написан сайт или нет.

uncle17

смирк: У нас на такой случай, например, тоже проверки существуют... По $_SERVER['HTTP_X_FORWARDED_FOR'], к примеру

Elina74

Ну, значит, я не все знаю по этому вопросу.

alexkravchuk

Если заботаю все, что касается этого вопроса, я смогу КАКИМ-ЛИБО образом заполнить автоматически нужные поля в форме при условии, что:
1) сайт написан грамотно, и GET и POST обрабатываются отдельно
2) сайт написан НЕграмотно

Отсутствие проверки на POST/GET в большинстве случаев не означает неграмотность.
Если же отвечать на твой вопрос - то можно в любом случае, и GET/POST, и COOKIE и т.д. Посмотри на библиотеку CURL, очень удобная вещь. Позволяет не только методы реализовывать, но и управлять полями user-agent, referer и т.п., в принципе даже есть поддержка всяких https и много чего другого.

otets-mihail

>use LWP
поставьте глюку плюс, за то, что советует говнобиблиотеки =)

alexkravchuk

Прокси бывают и анонимными, и таких немало...

uncle17

а нехуй с анонимных проксей ходить. У нас они рубятся подчистую

alexkravchuk

Какие вы важные, однако, неправильных людей не пускаете... А может вы ещё проверку на браузеры делаете, типа если у кого-нибудь неправильный браузер, то выдаёте предупреждение с требованием скачать что-то с сервера microsoft'а? Кстати, а как вы определяете, прокси это, или нет? Каждый входящий ip-шник тестируете? А зачем проверяете, чем вам прокси мешают?

uncle17

эх-х-х...
1) Неправильные люди на нашем сайте не нужны
2) Мы не определяем, прокси это или нет. При приходе запроса айпишник из данной переменной берется для того, чтобы предотвратить голосование (к примеру) с одного компа несколько раз.
3) Для домашних сетей и т.п. проверка выглядит следующим образом: если в течение некоторого времени с этого ip поступили два одинаковых ответа, то второй не засчитывается. Учитывая, что данная проверка работает у меня в форме для оставления отзыва к статьям, вероятность полного совпадения двух отзывов с одного ip в течение 15 минут - минимальна. Т.о. данная проверка отсеивает "случайные" нажатия сабмита

evgen5555

То есть какую строку мне надо ввести в поле адрес
Никакую.
Метод POST использует данные в теле, а не в заголовке запроса.

ryshiy28



index.php?checkup=1&login=upgrade&password=user123&button=OK
 
Параметры методом POST передаются так:
POST /index.php HTTP/1.0\n
Accept: text/html\n
Content-Length: 50\n
Content-Type: application/x-www-form-urlencoded\n\n
checkup=1&login=upgrade&password=user123&button=OK\n\n
 

evgen5555

нах эти "\n", если переводы строк уже визуально обозначены?

ifratazr

Народ, что-то я уже запутался... Просьба объяснить подробней, как полному чайнику.
1. Пусть есть сервер, на котором расположен сайт "www.server.ru", на сайте имеется форма.
2. Пусть есть пользователь (то бишь я). Он должен ежедневно заполнять форму и хочет автоматизировать этот процесс.
Что нужно для этого?
Как я понимаю, для начала надо поставить некую программу/набор программ, чтобы можно было создать свой собственный скрипт для обращения к сайту "www.server.ru".
Вопрос: что именно надо установить для разработки скрипта (ОС Windows 2000)?

evgen5555



Вопрос: что именно надо установить для разработки скрипта (ОС Windows 2000)?
Как пример - ActivePerl.

ifratazr

А упомянутая выше библиотека CURL входит в пакет установки ActivePerl по умолчанию или надо как-то устанавливать дополнительно?

voronetskaya

поставь робоформ

durka82

А создать свой вариант страницы с заранее прописанными в поля формы значениями не помогает?

a10063

имхо, если есть проверка на refferer, то не прокатит

uncle17

угу... я именно про это изначально и писал
Оставить комментарий
Имя или ник:
Комментарий: