The OpenNET Project / Index page

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

Авторизация в squid через базу данных FireBird
в squid.conf добавляем:
   auth_param basic program /usr/sbin/firebird_auth
   auth_param basic children 5
   auth_param basic realm Proxy
   auth_param basic credentialsttl 2 hours

   acl your_net src 10.1.0.0/24
   acl passwd proxy_auth REQUIRED
   http_access allow your_net passwd
   http_access deny all

/usr/sbin/firebird_auth - наш скрипт для проверки
   #!/usr/local/bin/php
   <?

        while(1) {

            $buf = fgets(STDIN);
            $buf = substr($buf,0,-1);
            $account_data = explode(" ",$buf);
            $link = ibase_connect("10.1.0.200:/var/db/firebird/storage/squid.fdb","SYSDBA","<your_pass>");

            $res = ibase_query("SELECT * FROM users WHERE LOGIN = '".
               $account_data[0]."' AND PASSWD = '".$account_data[1]."'")

            $row = ibase_fetch_object($res);

            if(isset($row->LOGIN)) { echo "OK\n"; } else { echo "ERR\n"; }

            ibase_free_result($res);

            ibase_close($link);

        }
   ?>

ну и не забудьте сделать табличку users в вашей базе в firebird такого содержания:

   ID,LOGIN,PASSWD,FIO..
 
07.04.2006 , Автор: Constantine A.Yarovoy
Ключи: auth, sql, squid, firebird / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / Прокси сервер Squid / ACL, ограничения трафика и пользователей

Ваш комментарий
Имя:         
E-Mail:      
Заголовок:
Текст:



  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor