всем привет - в общем решил накропать скрипт на perl-e для авторизации в админке джумлы - и последующей заливки файла - через медиа - в папку с картинками начал - эмулировать форму ввода логина пароля + скрытых полей PHP: $rp=$ua->post('http://blabla.com/administrator/index.php', {'username' => 'admin','passwd' => 'admin','option' => 'com_login','task' => "login",'return' => 'aW5kZXgucGhwP29wdGlvbj1jb21fbWVkaWE=','12922051217236dde67b38782557b8b8' => '1'}); по итогу получаю от сервера не ожидаемый вход в админку - а ответ следующим пакетом PHP: HTTP/1.1 303 See other Connection: close Date: Tue, 23 Oct 2012 12:10:13 GMT Location: http://blabla.com/administrator/index.php Server: Apache Vary: Accept-Encoding Content-Length: 0 Content-Type: text/html; charset=utf-8 Client-Date: Tue, 23 Oct 2012 12:10:48 GMT Client-Peer: 173.254.28.49:80 Client-Response-Num: 1 Set-Cookie: d3e6b4f475e79fad38f04d181eeb3000=3gp7rvlfland7opibq1fvt1iu1; path=/ сначала думал что у меня кукисы плохо держатся - поэтому не редиректися -- потом почитал на википедии про ошибку 303 303 See Other — документ по запрошенному URI нужно запросить по адресу в поле Location заголовка с использованием метода GET несмотря даже на то, что первый запрашивался иным методом. Этот код был введён вместе с 307-ым для избежания неоднозначности, чтобы сервер был уверен, что следующий ресурс будет запрошен методом GET. Например, на веб-странице есть поле ввода текста для быстрого перехода и поиска. После ввода данных браузер делает запрос методом POST, включая в тело сообщения введённый текст. Если обнаружен документ с введённым названием, то сервер отвечает кодом 303, указав в заголовке Location его постоянный адрес. Тогда браузер гарантировано его запросит методом GET для получения содержимого. В противном случае сервер просто вернёт клиенту страницу с результатами поиска. Введено в HTTP/1.1. и затуп - хз как в нее пройти - дальнейший логичный get запрос на индекс админки ничего не дает кроме формы ввода вообщем - если есть у кого какие мысли излагайте или мб есть какие готовые скрипты для перебора админок или работы с ними с авторизацией - скиньте - посмотрелбы - мб я туплю где ps - реалиация нужна на perl-e накрайняк на чистом php статью с юзаньем curl - типо этой читал - она не пашет на посл версиях
Т.е. если после подобного кода вставить обращение к какой-то внутренней странице, то будет просить авторизоваться? PHP: my $url = 'http://blabla.com/administrator/index.php'; my $ua = LWP::UserAgent->new(cookie_jar => new HTTP::Cookies); my $data = $ua->get($url)->content; my ($token) = ($data =~ /hidden" name="([a-f0-9]{32})"/); $data = $ua->post($url, {username => 'admin', passwd => 'admin', lang => 'en-GB', option => 'com_login', task => 'login', return => '', $token => 1});
у меня просило авторизацию заново --- попробовал на админке твой код- прокатило -- удивился - начал думать почему - сам также авторизовывался впринципе ток не выдирал содержимое твоей переменной $token - а вручную вписывал его в тестовом скрипте - он всегда статичный оказалось чтоб все норм прокатывало - надо обязательно проэмулировать все 3 этапа: сначала зайти на страницу залогина потом ввести лог и пас потом авторизоваться пиндец - а я из-за того что первый этам пропускал и сразу сходу постом бомбил завпрос на авторизацию - ниче не выходило нав часть кукиса формируется сначала при заходе на форму авторизации и ее потом нехватало для захода пасибы большое - завтра сяду дописывать )))))