blackzig
(usa openSUSE)
Enviado em 04/10/2012 - 12:50h
O que eu quero é fazer a autenticação de proxy usando o banco de dados mysql.
Mas na configuração do Squid tem pelo que eu entendi uma chamada para um arquivo que é configurado para fazer a habilitação de acesso.
Neste arquivo, alguns exemplos são feitos em php e alguns nem mostram o que há neste arquivo.
A chamada de autenticação é feito por esta linha no Squid ou não?
auth_param basic program /usr/lib/squid/mysqlt_auth
O exemplo que eu vi, o arquivo tem o nome de mysqlt_auth e dentro dele há este script.
site do scritp:
http://www.ubuntero.com.br/2008/03/autenticacao-squid-com-base-em-tabelas-mysql/
#!/usr/bin/php
<?
$link = mysqli_connect("localhost", "usuario_do_banco", "senha_do_banco");
if (!$link) {
printf("Erro ao conectar com o banco de dados: %s\n", mysqli_connect_error());
die();
}
$selectdb = mysqli_select_db($link, "AutenticaSquid");
if (!$selectdb) {
printf("Erro ao abrir o banco de dados: %s\n", mysqli_error($link));
die();
}
while ( fscanf(STDIN, "%s %s", $nome, $senha) ) {
$select = "SELECT nome, senha FROM Usuarios WHERE nome = '".$nome."' AND ativo = 1";
$Query = mysqli_query($link, $select);
$nrRegistros = mysqli_num_rows($Query);
$erro = true;
while ( $Registro = mysqli_fetch_array($Query) ) {
$erro = false;
if ( crypt($senha, $Registro[senha]) == $Registro[senha] ) printf("OK\n");
else printf("ERR\n");
}
if ($erro) printf("ERR\n");
}
?>
Outra dúvida.
Quando o usuário digita na janela que aparece para a verificação de autenticação do proxy, como estes dados são capturados e trabalham juntos com este scritp acima?
Valeu