Identificação Automática de Usuários Usando Radius
Esse é o item que será usado e deverá ser substituído pelos dados do seu provedor:
1 - 200.111.222 - Classe do IP do Servidor (Será usado para saber se é cliente ou não)
O Que é preciso para desenvolver?
1 - Um Servidor Linux
2 - Um WebServer Apache com suporte a PHP
3 - Um Servidor de Autenticação de usuários Radius
Antes de Começar:
Em alguns servidores é necessário mudar as propriedades do radwho então aconselho dar um chmod 777 /usr/bin/radwho
e às vezes é necessário fazer o mesmo com o arquivo /etc/raddb/naslist
Como Preparar (O Script):
Na página onde se deseja identificar o cliente adicione o seguinte script que está comentado:
Se você quiser enfeitar mais, aqui vão mais algumas dicas:
1 - Você pode manter uma tabela no seu MySQL contendo as informações (nome, login), e se o cliente for identificado ele faz uma chamada ao banco de dados e pega o nome completo do cliente e mostra o "Olá Wagner Quedi Rosa" ao invés de somente "Olá wagner".
2 - Você pode também salvar o login ou/e o nome do cliente em Session e carregar em qualquer parte do site, não precisando executar essa rotina em todas as páginas. Para isso adicione as seguintes linhas no inicio das páginas:
3 - Se seu site tem área restrita, disponíveis somente para clientes, você pode liberar isso se o cliente for identificado...
Bom, são varias as utilidades...
Espero ter ajudado em algo esta grande comunidade de programadores.
1 - 200.111.222 - Classe do IP do Servidor (Será usado para saber se é cliente ou não)
O Que é preciso para desenvolver?
1 - Um Servidor Linux
2 - Um WebServer Apache com suporte a PHP
3 - Um Servidor de Autenticação de usuários Radius
Antes de Começar:
Em alguns servidores é necessário mudar as propriedades do radwho então aconselho dar um chmod 777 /usr/bin/radwho
e às vezes é necessário fazer o mesmo com o arquivo /etc/raddb/naslist
Como Preparar (O Script):
Na página onde se deseja identificar o cliente adicione o seguinte script que está comentado:
<?php $host_a = $REMOTE_ADDR; //captura o ip do visitante $login_a = exec("/usr/bin/radwho |grep $host_a"); $login_a = trim(substr($login_a,0,strpos($login_a," "))); //captura o login do cliente $classe = substr($host_a,0,11); if ($classe=="200.111.222") { //coloque aqui sua classe de ip echo "Ola " . $login_a; //mostra o login do usuário. } else { echo "Ola Visitante"; // mostra somente "ola visitante" } ?>
Se você quiser enfeitar mais, aqui vão mais algumas dicas:
1 - Você pode manter uma tabela no seu MySQL contendo as informações (nome, login), e se o cliente for identificado ele faz uma chamada ao banco de dados e pega o nome completo do cliente e mostra o "Olá Wagner Quedi Rosa" ao invés de somente "Olá wagner".
2 - Você pode também salvar o login ou/e o nome do cliente em Session e carregar em qualquer parte do site, não precisando executar essa rotina em todas as páginas. Para isso adicione as seguintes linhas no inicio das páginas:
<?php session_start(); session_register('login_a'); //registra o login do cliente ?>
3 - Se seu site tem área restrita, disponíveis somente para clientes, você pode liberar isso se o cliente for identificado...
Bom, são varias as utilidades...
Espero ter ajudado em algo esta grande comunidade de programadores.
Alguém sabe como faço p identificar com script PHP o usuário da rede (intranet, logon NT) que está logado no pc ora em uso? Assim, identificado, não precisarei fazer uma tela de login (PHP). O sistema desenvolvido em PHP reconhecerá o usuário d rede e permitirá seu acesso.
02/10/2006 2:45pm
(~18 anos atrás)
Como faria a autenticação pelo RADIUS sendo que meu RADIUS está em um servidor NT??
Gostaria de uma ajuda..
Agradeço desde já!!
Gostaria de uma ajuda..
Agradeço desde já!!
13/08/2003 1:19pm
(~21 anos atrás)
Como colocar mais de uma classe ip, para filtrar, e mostrar o nome de usuário, possui várias classes C
08/05/2003 2:17pm
(~21 anos atrás)
Caro Wagner
Muito bom o seu script, testei e funcionou legal, mas por exemplo tenho um usuário que o user dele é eustaquio.fila aparece no script apenas eustaquio. , gostaria que voce me desse uma dicas de como buscar o nome completo do cara no banco de dados, esta informação eu já tenho gravada no banco.
Muito bom o seu script, testei e funcionou legal, mas por exemplo tenho um usuário que o user dele é eustaquio.fila aparece no script apenas eustaquio. , gostaria que voce me desse uma dicas de como buscar o nome completo do cara no banco de dados, esta informação eu já tenho gravada no banco.
08/05/2003 2:14pm
(~21 anos atrás)
pode até aumentar a segurança, mas neste caso o que pode ser feito de malicioso?
29/10/2002 1:13pm
(~22 anos atrás)
Tente mudar para isso ...
<?php
$ip_classe="200.111.222"; //incica a base
$host_a = $REMOTE_ADDR; //captura o ip do visitante
$login_a = exec("/usr/bin/radwho |grep $host_a");
$login_a = trim(substr($login_a,0,strpos($login_a," "))); //captura o login do cliente
$classe = substr($host_a,0,strlen($ip_classe)); //pega a base do ip
if ($classe==$ip_classe) {
echo "Ola " . $login_a; //mostra o login do usuário.
} else {
echo "Ola Visitante"; // mostra somente "ola visitante"
}
?>
seu codigo naum tava funcioando em alguns servidores pois algum apresentam a base do Ip de forma diferente (200.123.52.145)...hi a dava pau... mas com esse naum dá naum
falows
Pangole
pangole@bol.com.br
<?php
$ip_classe="200.111.222"; //incica a base
$host_a = $REMOTE_ADDR; //captura o ip do visitante
$login_a = exec("/usr/bin/radwho |grep $host_a");
$login_a = trim(substr($login_a,0,strpos($login_a," "))); //captura o login do cliente
$classe = substr($host_a,0,strlen($ip_classe)); //pega a base do ip
if ($classe==$ip_classe) {
echo "Ola " . $login_a; //mostra o login do usuário.
} else {
echo "Ola Visitante"; // mostra somente "ola visitante"
}
?>
seu codigo naum tava funcioando em alguns servidores pois algum apresentam a base do Ip de forma diferente (200.123.52.145)...hi a dava pau... mas com esse naum dá naum
falows
Pangole
pangole@bol.com.br
22/09/2002 6:42am
(~22 anos atrás)
DESCULPEM ... ESQUECI DE COLOCAR NO ARTIGO A LINHA
<?
$classe = substr($host_a,0,11);
?>
AI O PROBLEMA ACABA...
:)
<?
$classe = substr($host_a,0,11);
?>
AI O PROBLEMA ACABA...
:)
29/07/2002 10:08am
(~22 anos atrás)
Retomando o assunto acima ele só funciona para os IPs que eu coloco assim:
} else ($host_a=="200.203.245.7")
{
echo "Mensagem";
} else ($host_a=="200.203.245.19")
{....... e etc...
se eu colocar apenas a classe 200.203.245
e deixar imprimir o conteúdo da váriavel $login_a ele passa batido e trata como visitante. Determinar os IPs é uma boa idéia para os assinantes wirelles do provedor e p/ o meu IP "caseiro" que é fixo, para os demais assinantes que adquirem IP dinâmico não esta resolvendo, ele os trata a todos como visitantes... acho que assim fui mais claro... se puder comentar o que está acontecendo ficaria grato...
Atenciosamente
Alex.
} else ($host_a=="200.203.245.7")
{
echo "Mensagem";
} else ($host_a=="200.203.245.19")
{....... e etc...
se eu colocar apenas a classe 200.203.245
e deixar imprimir o conteúdo da váriavel $login_a ele passa batido e trata como visitante. Determinar os IPs é uma boa idéia para os assinantes wirelles do provedor e p/ o meu IP "caseiro" que é fixo, para os demais assinantes que adquirem IP dinâmico não esta resolvendo, ele os trata a todos como visitantes... acho que assim fui mais claro... se puder comentar o que está acontecendo ficaria grato...
Atenciosamente
Alex.
29/07/2002 12:30am
(~22 anos atrás)
Olá Wagner,
Testei o script aqui no provedor e não deu certo. Ele não "entende" a classe de ip. Tentei carregar em array e também não deu certo. Só funciona para os IPs que determino... o que pode estar acontecendo?
OBS.: não foi necessária nenhuma alteração nas propriedades do radwho...
Testei o script aqui no provedor e não deu certo. Ele não "entende" a classe de ip. Tentei carregar em array e também não deu certo. Só funciona para os IPs que determino... o que pode estar acontecendo?
OBS.: não foi necessária nenhuma alteração nas propriedades do radwho...
27/07/2002 9:24pm
(~22 anos atrás)