The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Авторизация в Squid через базу данных PostgreSQL"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Авторизация в Squid через базу данных PostgreSQL" 
Сообщение от Hostik emailИскать по авторуВ закладки(ok) on 01-Фев-05, 09:29  (MSK)
Доброго времени суток.
Такая проблема -
Написал свой авторизатор для Сквида
#!/usr/bin/perl

use DBI;

my $user = "User";
my $pass = "passwd";
my $database = "billing";
my $host="x.x.x.x";
my $port="5432";

my $dbh=DBI->connect("dbi:Pg:dbname=$database;host=$host;port=$port", $user, $pass, {RaiseError => 1})
    or die $DBI::errstr;

$|=1;

while (<>)
{
    chop;
    ($user, $pass)=split;
    $ans = Check($user, $pass);
    $dbh->disconnect;
    print ("$ans\n");
}

sub Check() {
    my $qrystr="select count(*) from users where login = '$user' and passwd = '$pass' ;";
    my $result=$dbh->prepare($qrystr);
    $result->execute();
    @count = $result->fetchrow_array;
    $result->finish;
    if ($count[0] > 0) {
    return ("OK");
    }    else
     {
    return ("ERR");
}


Поставил в Сквиде
auth_param basic program /usr/local/etc/squid/sqauth.pl
acl authuser proxy_auth
http_access allow authuser


если запускать этот файлик и вводить через пробел Логин/пароль то все норма, выдает ОК или ERR соответственно
однако-же через сквид он 1 раз может пустить а потом все. В чем может быть трабл?
Может быть из за того что база лежит на удаленном серваке, а у сквида есть определенное время ожидания ответа? если так то где его можно исправить, помогите плиззз. уже 2 недели парюсь.............

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Авторизация в Squid через базу данных PostgreSQL" 
Сообщение от Hostik emailИскать по авторуВ закладки(??) on 01-Фев-05, 12:09  (MSK)
Народ ну не молчите, выскажите хотя-бы предположения свои. плизз.........
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Авторизация в Squid через базу данных PostgreSQL" 
Сообщение от Leningrad Искать по авторуВ закладки on 01-Фев-05, 13:53  (MSK)
>Народ ну не молчите, выскажите хотя-бы предположения свои. плизз.........

столько дыр в такой маленькой программе

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Авторизация в Squid через базу данных PostgreSQL" 
Сообщение от Hostik emailИскать по авторуВ закладки(??) on 01-Фев-05, 14:45  (MSK)
>>Народ ну не молчите, выскажите хотя-бы предположения свои. плизз.........
>
>столько дыр в такой маленькой программе


Каких например?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Авторизация в Squid через базу данных PostgreSQL" 
Сообщение от Аноним emailИскать по авторуВ закладки on 02-Фев-05, 09:28  (MSK)
Например, для любого пользователя (даже несуществующего) подходит пароль "' or 1=1 ;--".

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Авторизация в Squid через базу данных PostgreSQL" 
Сообщение от Hostik emailИскать по авторуВ закладки(ok) on 02-Фев-05, 10:59  (MSK)
>Например, для любого пользователя (даже несуществующего) подходит пароль "' or 1=1 ;--".
>


понял, поправим, но вопрос был не в этом, а в том из-за чего сквид не пропускает, хотелось бы все таки узнать..................

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Авторизация в Squid через базу данных PostgreSQL" 
Сообщение от Hostik emailИскать по авторуВ закладки(ok) on 02-Фев-05, 11:42  (MSK)
>>Например, для любого пользователя (даже несуществующего) подходит пароль "' or 1=1 ;--".
>>
>
>
>понял, поправим, но вопрос был не в этом, а в том из-за
>чего сквид не пропускает, хотелось бы все таки узнать..................

Кстати этот пароль не проходит, скрипт ведь сначала делает split по строке и получает 2 значения в Логин и пароль если по вашему то он получит в $user = "'" а в $paswd = "or"

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Авторизация в Squid через базу данных PostgreSQL" 
Сообщение от Аноним emailИскать по авторуВ закладки on 02-Фев-05, 15:19  (MSK)
>Кстати этот пароль не проходит, скрипт ведь сначала делает split по строке
>и получает 2 значения в Логин и пароль если по вашему
>то он получит в $user = "'" а в $paswd =
>"or

Может в данном конкретном случае и пронесет, но лучше так не делать.

По существу вопроса: попробуй disconnect из цикла убрать.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Авторизация в Squid через базу данных PostgreSQL" 
Сообщение от Hostik emailИскать по авторуВ закладки(ok) on 02-Фев-05, 15:41  (MSK)
>>Кстати этот пароль не проходит, скрипт ведь сначала делает split по строке
>>и получает 2 значения в Логин и пароль если по вашему
>>то он получит в $user = "'" а в $paswd =
>>"or
>
>Может в данном конкретном случае и пронесет, но лучше так не делать.
>
>
>По существу вопроса: попробуй disconnect из цикла убрать.


Не помогает, может сквиду на самом деле нужно отдавать ответ за определенное время?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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