The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Прблемы со SquidNT, !*! andypap, 01-Фев-06, 17:40  [смотреть все]
  • Прблемы со SquidNT, !*! Monster_C, 11:59 , 08-Фев-06 (1)
    • Прблемы со SquidNT, !*! andypap, 18:38 , 08-Фев-06 (2)
      • Прблемы со SquidNT, !*! Monster_C, 21:29 , 08-Фев-06 (3)
        • Прблемы со SquidNT, !*! andypap, 10:06 , 09-Фев-06 (4)
        • Прблемы со SquidNT, !*! NekroMen, 14:28 , 17-Мрт-07 (14)
          >>
          >>Спасибо за ответ:)
          >>
          >>Это c:/squid/libexec/ncsa_auth.exe c:/squid/etc/htpasswd точно есть htpasswd взял от "индейца" под win. К
          >>стати не подскажиш где можно почитать каким макаром работает ncsa_auth.exe возможно
          >>и мне будет проще написть скрипт, а то уже две недели
          >>долбаюсь с этим.
          >
          >
          >ncsa_auth.exe - все это мутно.. забей на него.
          >В конфиг ляпаешь такую строку:
          >auth_param basic program c:/winnt/system32/cscript.exe //B //h:cscript //nologo C:/Squid/libexec/auth.vbs C:/Squid/etc/auth.conf
          >
          >auth.vbs:
          >
          >Set Arg=WScript.Arguments
          >Set FSO=CreateObject("Scripting.FileSystemObject")
          >FileName=Arg(0)
          >I=0
          >While I=0
          > StringPass=WScript.StdIn.ReadLine
          > Reply="ERR"
          > Set File=FSO.OpenTextFile(FileName,1)
          > Stoped=0
          > While File.AtEndOfStream=False And Stoped=0
          >  StringFile=File.ReadLine
          >  If MID(StringFile,1,1)<>"#" Then
          >   If StringFile=StringPass Then
          >    Reply="OK"
          >    Stoped=1
          >   End If
          >  End If
          > Wend
          > WScript.StdOut.WriteLine Reply
          > File.Close
          >Wend
          >
          >--
          >auth.conf:
          >
          ># test
          >admin govno
          >#e-lina
          >e-lina dura
          >
          >--
          >и все в шоколаде...

          Здравствуйте, недавно поставил SquidNT26 на windows server 2003 sp1. Долго промучился и Вот наконец-то заставил его включаться\выключаться когда я захочу... Проблема в авторизации...Посидев на форуме увидел сообщение выше и захотел сделать аналогично в Delphi (потому как Basic скрипты не знаю) получилось вот что:

          program my_auth;

          {$APPTYPE CONSOLE}

          uses
            SysUtils;
          var
          f,g:text;
          stop:integer;
          s,Passw,auth:string;

          begin
            { TODO -oUser -cConsole Main : Insert code here }

          //ParamCount() - ÷èñëî ïàðàìåòðîâ.
          //ParamStr(0) - ïîëíîå èìÿ çàïóùåíîé ïðîãðàììû ñ ïóòåì.
          //ParamStr(1 - ParamCount()) - ðàñïàðñåíûå ïàðàìåòðû.
          while 1=1 do begin
          assign(f,ParamStr(ParamCount()));
          readln(Passw);
          stop:=0;
          auth:='ERR';
          reset(f);
          while not(EOF(f)) and (stop<>1) do begin
          readln(f,s);
          if not(s[1]='#') then
          begin
            if s=Passw then
            begin
             auth:='OK';
             stop:=1;
            end;
          end;
          end;
          close(f);
          write(auth);
          end;
          end.

          Но, зараза, не как не хочет работать (браузер клиента долго что-то открывает(больше 15 мин больше я не ждал)) может, быть вы сможете мне помочь чем-нибудь?
          Вот squid.conf:

          http_port 8081
          icp_port 0
          htcp_port 0
          hierarchy_stoplist cgi-bin ?
          acl QUERY urlpath_regex cgi-bin \?
          cache deny QUERY
          acl apache rep_header Server ^Apache
          broken_vary_encoding allow apache
          cache_mem 80 MB
          cache_dir ufs C:/squid/var/cache 128 16 256
          maximum_object_size 1024 KB
          access_log c:/squid/var/logs/access.log squid
          unlinkd_program C:\squid\libexec\unlinkd.exe
          authenticate_ttl 0 hour
          auth_param basic program C:\\squid\\etc\\conf\\my_auth.exe C:\\squid\\etc\\conf\\psd.conf
          auth_param basic children 2
          refresh_pattern ^ftp:        1440    20%    10080
          refresh_pattern ^gopher:    1440    0%    1440
          refresh_pattern .        0    20%    4320
          acl allowed_hosts src 192.168.3.0/255.255.255.0
          acl all src 0.0.0.0/0.0.0.0

          # Users
          acl allowed_users proxy_auth iliya
          acl allowed_users proxy_auth admin
          acl allowed_users proxy_auth lena
          # zakon4ili delaTb
          acl pass proxy_auth REQUIRED
          #Pa3peIILaem
          http_access allow allowed_users pass

          acl PorNo url_regex -i c:/squid/etc/conf/porn.txt
          acl manager proto cache_object
          acl localhost src 127.0.0.1/255.255.255.255
          acl to_localhost dst 127.0.0.0/8
          acl SSL_ports  port 443 563     # SSL -- https??
          acl Safe_ports port 443        # https
          acl Safe_ports port 80        # http
          acl Safe_ports port 21        # ftp
          acl Safe_ports port 70        # gopher
          acl Safe_ports port 210        # wais
          acl Safe_ports port 1025-65535    # unregistered ports
          acl Safe_ports port 280        # http-mgmt
          acl Safe_ports port 488        # gss-http
          acl Safe_ports port 591        # filemaker
          acl Safe_ports port 777        # multiling http
          acl CONNECT method CONNECT
          http_access allow manager localhost
          http_access deny manager
          http_access deny !Safe_ports
          http_access deny CONNECT !SSL_ports
          http_access deny all
          http_reply_access allow all
          icp_access allow all
          cache_effective_user Servak
          visible_hostname serverint
          unique_hostname serverint

          NEED HHHEELLPP!!!

          • !!!! ПРИМЕЧАНИЕ !!!!!!!, !*! NekroMen, 18:51 , 22-Мрт-07 (15)
            Здравствуйте, это опять я... Прога, к сожалению, так и не заработала. Но скрипт работает как часы, за что Огромное Спасибо Monster_C..
            Чё я хотел скаазать... а, ну так вот. Не знаю почему, но мой Squid 26, принципиально не хотел работать с любыми прогами авторизации. После ДОЛГИХ и УПОРНЫХ попыток его пустить додумалси таки поменять:

            auth_param basic program c:/winnt/system32/cscript.exe //B //h:cscript //nologo   C:/Squid/libexec/auth.vbs C:/Squid/etc/auth.conf

            на

            auth_param basic program c:\\winnt\\system32\\cscript.exe //B //h:cscript //nologo C:\\Squid\\libexec\\auth.vbs C:\\Squid\\etc\\auth.conf

            Вот после этого Всё и заработало..Ура!!! Надеюсь это кому-нибудь поможет, кстати это относится не только к прогам авторизации, а ко многим указаниям путей к файлам, так что если у кого такая трабла просто вместо прямых слешей(/), попробуйте указать 2 обратных(\\). И будет всем счастье...

          • Прблемы со SquidNT, !*! NekroMen, 17:29 , 31-Мрт-07 (17)
            УУУУУРРРРРРАААААА!!!!

            Есть хорошая новость последние несколько дней, были чуть менее напряжёнными чем предыдушие и я, вспомнив про клиента авторизации решил яго по-разрабатывать ещё чуть-чуть( Ну бзик у меня такой -- если кто сделал Яааа тоже ххааааччууууу!! ). В общем тупил я долго( даже изучил Пайпы в Delphi..:)). Но, в конце концов, до меня снизошло вдохновение и понял, что ощибка в способе принимания данных и типах отсылаемых данных.. Итого, смотрите сами:

            program my_auth;

            var
            f:text;
            stop:boolean;
            auth,s,Passw:string;

            begin
            assign(f,ParamStr(ParamCount()));

            while TRUE do begin
            read(Passw);

            auth:='ERR';
            stop:=FALSE;

            reset(f);
            while not(EOF(f)) and (stop<>TRUE) do begin //будет продолжаться пока пароли
            readln(f,s);                              //не совпадут(stop = TRUE), или файл
                                                      //с паролями не кончится
            if not(s[1]='#') then
              if (s=Passw) then                        //если пароль с логином совпал, то
               begin                                  // stop присваевается TRUE
               auth:='OK';
               stop:=TRUE;
               end;
            end;
            close(f);

            writeln(PAnsiChar(auth));              //Отправляемая строка должна быть PAnsiChar
            end;
            end.

            Сижу сейчас под Squid'ом... Красоотааа...Поисковики после второго захода кажутся локально установленными php...Весчь короче, пора пересаживать пользователей на Squid..Хе-хе...
            Только вот осталось научиться ограничивать пользователей в количестве скаченной порнографии( наивные, думают я не знаю ^>^)..Но да это другое дело...

            Monster_C, ещё раз спасибо и мой респект..

            • УУРРРАААААААА!!!, !*! NekroMen, 13:57 , 01-Апр-07 (18)
              >program my_auth;
              >
              >var
              >f:text;
              >stop:boolean;
              >auth,s,Passw:string;
              >
              >begin
              >assign(f,ParamStr(ParamCount()));
              >
              >while TRUE do begin
              >read(Passw);
              >
              >auth:='ERR';
              >stop:=FALSE;
              >
              >reset(f);
              >while not(EOF(f)) and (stop<>TRUE) do begin //будет продолжаться пока пароли
              >readln(f,s);            
              >          
              >       //не совпадут(stop = TRUE),
              >или файл
              >            
              >          
              >          
              >        //с паролями не
              >кончится
              > if not(s[1]='#') then
              >  if (s=Passw) then        
              >          
              >     //если пароль с логином совпал, то
              >
              >   begin        
              >          
              >          
              >   // stop присваевается TRUE
              >   auth:='OK';
              >   stop:=TRUE;
              >   end;
              >end;
              >close(f);
              >
              >writeln(PAnsiChar(auth));            
              >  //Отправляемая строка должна быть PAnsiChar
              >end;
              >end.

              Да кстати, Monster_C, замыкать поргу в цикл совсем не обязательно (даже наоборот НЕНУЖНО), иначе она будет жрать ресурсы проца, как у меня, недавно...Здесь получается, имхо, что последний END. не завершение программы, а передача управления squid.. Вот окончательный вариант программки-аналога Monster_C, написанной в Delphi 7 итого:

              >program my_auth;
              >
              >var
              >f:text;
              >stop:boolean;
              >auth,s,Passw:string;
              >begin
              >assign(f,ParamStr(ParamCount()));
              >
              >read(Passw);
              >auth:='ERR';
              >stop:=FALSE;
              >reset(f);
              >while not(EOF(f)) and (stop<>TRUE) do begin
              >readln(f,s);
              > if not(s[1]='#') then
              >  if (s=Passw) then
              >   begin                                  
              >   auth:='OK';
              >   stop:=TRUE;
              >   end;
              >end;
              >close(f);
              >writeln(PAnsiChar(auth));//Отправляемая строка должна быть pAnsiChar(Pchar завершающ >нулём)
              >end.

              Всё компилируем, работаем.. проверено мной лично, пользователи с нею юзали весь день загрузки проца нет. Может кому пригодится (кто Паскаль знает лучше, чем Васик)..

            • Прблемы со SquidNT, !*! Monster_C, 19:34 , 01-Апр-07 (19)
              • Прблемы со SquidNT, !*! DmA, 19:10 , 14-Мрт-08 (21)
                • Прблемы со SquidNT, !*! Monster_C, 13:38 , 07-Апр-08 (22)
                  • Любопытство.., !*! NekroMen, 14:49 , 22-Сен-08 (23)
                    DmA, я с удовольствием пользуюсь Линуксом и с не меньшим удовольствием Windows'ом.. Программисты обеих систем, действительно молодцы, но лучше не будем об этом, иначе опять будет спор:
                    > Windows лучший!
                    > Linux forever! ^_~

                    Предлагаемый вами способ также довольно прост, но проблема в том, что лично мне достаточно важно, именно понимать суть работы программы и если возникает необходимость доработать её(согласитесь nsca, ведь не заносит данные в mysql и не считывает их от туда).

                    Monster_C, доброго времени суток, давненько я сюда не заходил... Програмку я всёж-таки доделал, принцип такой же -- парсит лог-файл, заносит получившоеся чудо в mysql, где данные о паролях; в конце месяца - бэкап и очищение базы данных, на этот раз код выкладывать не буду место жалко..:-)(кому надо - просите, вышлю на ящик).Полёт уже давненько нормальный...Любопытно как поживает твоя система? Не перешёл ли на что-то другое?

                    P.S. Самое смешное, что я хотел только опробоовать твой скрипт, и вот...:D..В итоге напрограммил целую связку...Ну да ладно, отпишись, как время будет свободное интересно всё же... Смешно и интересно....

                    • Любопытство.., !*! Monster_C, 17:44 , 23-Сен-08 (24)
                      • Любопытство.., !*! NekroMen, 23:15 , 23-Сен-08 (25)
                          Мдяа..Этот лог.. у меня была аналогичная проблема ( х_х )...Помню, я тогда сильно расстроился (хотел постричься в монахи и уйти в буддисты :В )...Собственно файл в 1,5 гига действительно это было нечто, эта была одна из причин перехода на mysql, но решил эту проблемку относительно быстро: считаю в базу данных - чищу лог, а т.к. у мускула тоже мозг не резиновый столько данных в себе держати, то поле кол-во скаченной инфы сделал типа real (в итоге входные данные делим на сто и записываем в поле; при извлечении умножаем на сто и отдаем программе которая просит). Так что, и база вроде бы не переполняется, и лог-файл остается маленьким по размеру.

                          Вообще, конечно есть способы проще, но меня не устраивает, что кто-то сможет целый час безнаказанно качать, тогда как свои законные он выкачал в первые 30 минут ..;-)..

                        >PS. Да.. И так бывает, прямо как с женщиной -- вроде только время скоротать только собирался, а потом вдруг интерес появляется..  :-)))

                          P.S..Главное, чтобы интерес уходил раньше, чем твоя рука успеет расписаться в ЗАГС'овской бюллетени...:D..Хотя..




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру