powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) доступ на страницы с паролем...
15 сообщений из 15, страница 1 из 1
(PERL) доступ на страницы с паролем...
    #33179270
vidoq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так и не могу решить проблему.
есть скрипт который при нажатии на кнопку открыват новое окно, а в этом окне отображает изменения одной страницы \которая лежит в инете\ с ее бэкАпом \котторая лежит на диске\.
причем он подключается по средством http::request. и записывает все содиржимое файла во временный файл.
но чтобы записать, ему нужен логин и пароль...т.е. страница то запаролена по средством виндовс аутентификации...
нужно сделать так чтобы при нажатии на эту кнопку, у пользователя спрашивался имя и пароль, а потом уже обрабатывался весь скрипт....
как?!?!?
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33179540
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извините конечно, но читать то, что Вы написали, а потом понять смысл, очень проблематично, благо я помню Ваши предыдущие топики.

что мешает сделать так, при открытие окна:
е сли страница не запоролена, отображаем ее
е сли страница под паролем, генерим два <input>, пользвоатель туда вводит логин и пароль, нажимает "авторизоваться", и скрипт заного отрабатывает.

в чем тут трудность?
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33179928
vidoq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по какому принципу отслеживать запаролена ли страница?!
+ проблема в том что он не хочет отсылать пароль и логин, я уже использовал LWP и ввобил туда пароль и логин \которые храняться в самом скрипте и должны были обрабатываться\ но не получается(

есть ли уже какие нибуть готовые примеры как это \или примерно это\ реализовано...

\спасибо за ответ\
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33179940
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vidoqпо какому принципу отслеживать запаролена ли страница?!


по умолчанию запрашиваеш без авторизации, если вернули 401 код то просиш юзера ввести логин \ пароль
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33180040
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я уже Вам 10 раз наверно давал готовый пример!
покажите, что у Вас сейчас получилось...
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33181950
vidoq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот значится что у меня есть:

файлик menu.pl
---------------
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
#starting to comparing files...       
	if($vHandle ne $pHandle)
	{
#menu was modified...
	    print "<form action=menu.pl method=get>\n" ;
	    print "<font color=red>меню было изменено.<br>\n"; 
#printing modify date of the file
	    use File::stat;
	    my $sb = stat($pPath);
	    printf "   %s\n", 
	    scalar localtime $sb->mtime;
#copy button
	    print '<input type=submit name=copy value=copy>';
	    print "<input type=hidden name=update_id value=$Data{'id'}>";
	    print "<input type=hidden name=pPath value=$pPath>";
	    print "<input type=hidden name=vPath value=$vPath></form>";
#view buttton
	    print "<form  action=view.pl target=_blank method=post>\n" ;
   	    print '<input type=submit name=view value=view>';
   	    print "<input type=hidden name=view_id value=$Data{'id'}>";
	    print '</font></form>';
	}
С этим проблем нет, сравниваем файлы, если они не равны, то выводим 2 кнопки: 1- за то чтобы эти файлы уровнять простым копированием, 2- чтобы посмотреть какие изменения были внесены в файл.

файлик view.pl
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
use Win32::ODBC ;
use CGI ;
use File::Copy;
require HTTP::Request;
use LWP::UserAgent;
use LWP;
use HTTP::Headers;
use HTTP::Request;
$q = new CGI ;
#connecting to sql server -> to database----------------------------------------------------------------#
$DSN = 'SERVER=developer;DRIVER={SQL Server};DATABASE=alb;' ;
if (!($O = new Win32::ODBC($DSN))){
	print "Failure. \n\n";
	print Win32::ODBC::Error();
	exit();
}
$view_id = $q->param("view_id") ;
$view_id =~ s/\D//g ;
if ( $q->param("view") ne "" and $view_id ne "" ){
	if (! $O->Sql("select * from menu where id=".$q->param("view_id"))){
		$O->FetchRow() ;
		%Data = $O->DataHash();

    my $url = "$Data{'url'}";
    my $menu = "$Data{'menu'}";
    my $s_url = "$Data{'s_url'}";
    my $url_menu = "$Data{'url_menu'}";

		print "<b><a href=menu.pl>Назад</a><br></b>";



my $ua=LWP::UserAgent->new();

my $heads=HTTP::Headers->new();
#$heads->authorization_basic("login","passwd"); 

my $url="https://www.axion.com/WORK/OUP/OUP.HTM";
my $document=$ua->request(HTTP::Request->new(GET=>$url, $heads));
if($document->is_success) {
  print $document->content;
}

#    my $ua = LWP::UserAgent->new;
#    my $heads = HTTP::Headers->new;
#    $heads->authorization_basic("saa12838","alberts"); 
#    my $request = HTTP::Request->new(GET => "$url", $heads->as_string());
 
#    my $request = HTTP::Request->new(GET => "$url");
#    my $response = $heads->request($request);
    open FP, ">html_file" ;
    print FP $response->content;
    close FP ;
    print `fc $Data{s_url} html_file` ;

}}
#}}
print "</body></html>";

из этого уже все перепробывал, и разные переменные подставлял. все равно авторизироваться не хочет(((
как сделать чтобы все работало?
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33183903
vidoq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну что скажет мне наш всеми любимый ALL???
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33184268
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://search.cpan.org/~gaas/libwww-perl-5.803/
далее работающий пример

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
use LWP;
my $ua=LWP::UserAgent->new();

my $heads=HTTP::Headers->new();
$heads->authorization_basic("login","password"); 

my $url="http://site.ru/";
my $document=$ua->request(HTTP::Request->new(GET=>$url, $heads));
if($document->is_success) {
  print $document->content;
} else
{
  print "Require authication...";
}

этот пример в чистом виде работает или нет????
также не забывайте, что в .htpasswd пароли хранятся в зашифрованном виде, и значение user:123, не означает, что пароль 123! может дело в этом?

для шифрования паролей используется утилита htpasswd.exe
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33185053
vidoq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
использую вот такой вид...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
use LWP;
my $ua=LWP::UserAgent->new();

my $heads=HTTP::Headers->new();
$heads->authorization_basic("vidoq","mypasswordis123"); 

my $url="https://www.site.com/extras/update.htm";
my $document=$ua->request(HTTP::Request->new(GET=>$url, $heads));
if($document->is_success) {
  print $document->content;
} else
{
  print "Require authication...";
}

выдает ошибку - Require authication...

вот так вот всегда(((
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33185107
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vidoqиспользую вот такой вид...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
use LWP;
my $ua=LWP::UserAgent->new();

my $heads=HTTP::Headers->new();
$heads->authorization_basic("vidoq","mypasswordis123"); 

my $url="https://www.site.com/extras/update.htm";
my $document=$ua->request(HTTP::Request->new(GET=>$url, $heads));
if($document->is_success) {
  print $document->content;
} else
{
  print "Require authication...";
}

выдает ошибку - Require authication...


...я конечно извиняюсь НО, во перЫх не ошибку а эту надпись выдаеш ты, причем на все случаи жизни, а во вторых замени ее, ...ну например на:
Код: plaintext
1.
2.
3.
4.
5.
print $document->status_line, "\n";
# or
print $document-headers();
# or
print $document->code();

и вот, что то мне подсказывает что засада там не фига не в авторизации...
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33186155
vidoq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да я все понимаю что не ошибка, но в нашем случае не желаемый результат \значится ошибка))\ сейчас проверю и скажу...
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33186362
vidoq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин как я и предполагал...не поддерживается протокол https... с ssl аутентификацией, а у нас только такие сайты...((
исходя из этого что моно предпринять, есть ли еще какие либо модули на подобие LWP ???
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33186377
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vidoqблин как я и предполагал...не поддерживается протокол https... с ssl аутентификацией, а у нас только такие сайты...((


кем не поддерживается ? :)
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33186730
vidoq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ответ скрипта было так -> протокол https не поддерживается...

т.е. ту строку которую ты мне сказал написать
Код: plaintext
print $document->status_line, "\n";

он вот с нее и выдал такое... код ошибки 501
...
Рейтинг: 0 / 0
(PERL) доступ на страницы с паролем...
    #33186753
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) доступ на страницы с паролем...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]