ScriptCase Forum

Outros => ScriptCase Versão 8 => Tópico iniciado por: Adesoft em Setembro 08, 2015, 10:08:04 pm

Título: Como Bloquear o Acesso ao Sistema, para Somente em rede Interna (Finalizado)
Enviado por: Adesoft em Setembro 08, 2015, 10:08:04 pm
Caros Amigos,
Este assunto já foi debatido aqui, porém como hoje o sistema pode ser aberto por qualquer browser seja por qualquer dispositivo que tenha acesso a internet, não só em rede Windows, porém em Linux e Mac e Android. Estou com a necessidade de bloquear o acesso ao sistema permitindo somente na rede interna do Cliente e liberando o aceso somente em outros dispositivos autorizados e ou ADM.

Alguém já consegue fazer este controle?
Seja em Windows, Mac, Linux ou Android?

Adeilson de Oliveira
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Rodrigo Goulart Padovezzi em Setembro 09, 2015, 08:10:57 am
Não entendi muito, mas se você publicar em um servidor local e acessar pelo IP não resolve?
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Adesoft em Setembro 09, 2015, 08:59:15 am
Rodrigo,

Peço desculpas pela falta de esclarecimentos, hoje o projeto é publicado em um provedor externo, onde temos clientes acessando as suas bases e os projetos.
Porém os clientes desejariam que o sistema deles fosse acessado somente internamente pelo computadores e dispositivos locais. E não desejaria que fosse acessado fora do local de trabalho exemplo:
Ao chegar às 07:00 ligaria os computadores teria acesso ao sistema na rede local, se no mesmo horário alguém acessa pelo celular em casa não seria liberado ha não ser se fosse o diretor por exemplo.

Estou pesquisando algo para tentar pegar o nome do computador e ou dispositivo e gravar em uma tabela, porém não seria a melhor opção uma vez que pode ser alterado este nome.
Não sei se é possível e ou se tem alguma forma de pegar o MAC pelo PHP e controlar pelo Mac o acesso dos usuários.

Obrigado
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Rodrigo Goulart Padovezzi em Setembro 09, 2015, 09:01:40 am
Entendi, acho que o melhor a fazer é verificar após o login horário e data para ver se pode acessar ou não.
Para pegar o MAC via php você tem que habilitar o exec no php.ini e isso não é legal.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Adesoft em Setembro 09, 2015, 09:05:12 am
Rodrigo,
Na pesquisa as pessoas não orienta a habilitar, o controle de horário e data eu já faço o problema é abrir em dispositivos e locais não autorizados.
Por isto preciso achar uma forma de controlar este acesso fora do ambiente do cliente.

Vamos continuar pesquisando, caso alguém tenha algum caminho por favor poderia sinalizar.... Abraços
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Rodrigo Goulart Padovezzi em Setembro 09, 2015, 09:08:09 am
Se esse servidor for local, você pode deixar o acesso por IP e desabilitar o acesso dele no NAT do roteador.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Willian Fernando Padilha em Setembro 09, 2015, 09:08:18 am
isso fica bem dificil..
Si o IP do cliente for DINÂMICO dai ferro mesmo fica difícil, si for IP ESTATICO dai é fácil.

De outro modo eu não vejo forma de bloquear o acceso.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Rodrigo Goulart Padovezzi em Setembro 09, 2015, 09:13:51 am
O acesso por IP que me referi foi
http://ipdoservidor/sistema (ip local)
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Celso R. em Setembro 09, 2015, 09:14:22 am
Esse NoIp não ajudaria caso o IP seja dinâmico:
https://www.youtube.com/watch?v=rCwkglR14lg
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Adesoft em Setembro 09, 2015, 09:41:03 am
Rodrigo o projeto esta em um provedor na Nuvem, não esta local.

Willian, o IP é Dinâmico...

Celso eu instalei o No-IP para se autenticar na rede, porém o problema é como o PHP pegar o endereço da rede pelo nome se eu faço um teste:
ping domínio_do_cliente.no-ip.com ele me traz o IP corrente, porém como fazer o PHP pegar este IP, estou procurando várias funções mais nenhuma que possa ajudar.

Estou ainda tentando uma forma de uma função para pegar o nome do hardware que esta sendo acessado.

Adeilson



Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Rodrigo Goulart Padovezzi em Setembro 09, 2015, 09:47:09 am
Bom o melhor a fazer é tirar da nuvem e instalar em um servidor local.
Aí você pode configurar seu roteador para acessar externo por uma porta (via dmz ou virtual server) e passar esse link do roteador para os diretores ou quem tiver acesso.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Haroldo em Setembro 09, 2015, 09:49:10 am
Para isso, vc deve ter alguns usuários que nunca vão acessar de fora, apenas de dentro da empresa.

Quando algum desses usuários acessar (vc tem a certeza que esses só acessam de dentro) vc grava o ip numa tabela no cloud, atualiza data e hora.

Nos dispositivos que tiverem permissão de acessar de fora beleza, tudo fica igual.

Mas os usuários que não tiverem que permissão de acessar de fora, vc verifica se o ip dele é igual ao gravado na tabela.

pode também deixar uma maquina de dento da empresa rodando um script para gravar o ip no agendador de tarefas do windows (a cada 15 minutos por exemplo).

tendo o ip gravado (seja ele dinamico ou não) você sempre saberá  quem acessa de dentro e de fora da empresa.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: José Luciano Rocha em Setembro 09, 2015, 09:51:36 am
E se você criar um arquivo criptografado e colocá-lo na máquina?
Somente quem tem este arquivo e passar pela validação, terá acesso ao sistema.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: flaviomorais em Setembro 09, 2015, 09:54:07 am
Depende da infra que tiver no servidor e redes

Firewall, IPs fixos, poder criar VPN etc...
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Jailton em Setembro 09, 2015, 09:54:39 am
É só criar cookies de 10 anos, coloca um script special com senha que você mesmo vai rodar em cada pc, dispositivo, ai ele vai marcar esse dispositivo com o nome dele e o cookie de 10 anos, ai no login você confere se esse cookie existe se existir libera o acesso se não dá mensagem que o dispositivo não esta cadastrado para acesso.

E desmarcar nesses dispositivos o checkbox 'apagar cookies' caso o usuário limpar o histórico não leva junto seu cookie.

(http://www.insoonia.com/wp-content/uploads/2011/08/meme_passatempo1.jpg)
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Haroldo em Setembro 09, 2015, 10:00:35 am
cookies: a máquina pode receber manutenção e os cookies podem ser limpos.

não sei por que possa depender da infra estrutura. O firewall deve permitir que se rode pelo browser a porta 80, se não, ninguém acessa o sistema, a meu ver não depende da infra.

arquivo criptografado na máquina??? O Php esta num servidor nas nuvens, como o php poderá ler esse arquivo criptografado na máquina cliente? a não ser que o usuário faça upload  do arquivo sempre que for se logar para liberar a maquina dele.

Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Adesoft em Setembro 09, 2015, 10:06:46 am
"cookies: a máquina pode receber manutenção e os cookies podem ser limpos.
não sei por que possa depender da infra estrutura. O firewall deve permitir que se rode pelo browser a porta 80, se não, ninguém acessa o sistema, a meu ver não depende da infra.
arquivo criptografado na máquina??? O Php esta num servidor nas nuvens, como o php poderá ler esse arquivo criptografado na máquina cliente? a não ser que o usuário faça upload  do arquivo sempre que for se logar para liberar a maquina dele."

Solução ainda complicada de controlar e limitar quem poderá acessar e por qual dispositivo. Pois é algo que o cliente esta alegando de segurança da informação para que um funcionário não chegue a ter acesso fora da empresa somente pessoas autorizadas...
Bom Haroldo estou tentando achar uma forma pela sua lógica... o Problema será gravar o primeiro IP sempre para conferência...
A função no NO-IP é uma boa porém não achei nada do PHP para pegar o IP pelo nome do domínio...
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Celso R. em Setembro 09, 2015, 10:09:50 am
Já viu isso:
http://php.net/manual/pt_BR/function.gethostbyname.php

Já fez um cotação para saber quanto fica um plano com ip fixo?
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Adesoft em Setembro 09, 2015, 10:18:14 am
Celso,
Na região dele não tem esta disponibilidade, precisaria ser o IP dedicado e o valor é inviável para o seu negócio.....

Vou estudar o gethostbyname()

Adeilson
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Rodrigo Goulart Padovezzi em Setembro 09, 2015, 10:21:53 am
Acho que encontrei uma solução.
o link abaixo retorna via JSON os dados da empresa que administra o IP (altere o IP)
http://ip-api.com/json/aqui-o-ip-com-ponto?callback=yourfunction
ex:
http://ip-api.com/json/189.108.8.233?callback=yourfunction

Se o acesso for aí da empresa sempre retornará os mesmos dados, independente do IP. Aí você pode validar.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Haroldo em Setembro 09, 2015, 10:27:49 am
Ip fixo de quem? da net da empresa ou do cloud??  Se for da net da empresa problema resolvido, se não, tem que se obter o ip que  net da empresa esta usando naquele momento.

No-ip não ajuda em nada??

Se o sistema fica nas nuvens, isso não ajuda em nada.

Se tiver uma máquina dentro da empresa que possa ficar ligada direta, coloque no agendador de tarefas dela para rodar um script a cada 15 minutos, que grave o ip da wan da empresa.

Uso essa solução a anos, e controlo quem acesse de dentro da empresa e quem acesssa de fora.


Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Rodrigo Goulart Padovezzi em Setembro 09, 2015, 10:34:26 am
O que enviei acima você pega o IP do usuário e passa como parâmetro, assim retornará qual empresa administra a Internet, assim dá para bloquear.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Maurélio em Setembro 09, 2015, 11:32:10 am
Sinceramente,

O cliente alegar Segurança da Informação é bem complicado e se deseja segurança teria que ter pelo menos um IP Fixo na sua WAN e assim bastaria liberar o acesso ao sistema, no firewall do servidor na nuvem, para este endereço IP.

Se não pode ter um IP Fixo, a única saída viável é como o Haroldo reportou, coloque algum servidor na rede interna e este vai atualizando de tempo em tempo uma tabela do servidor com o endereço IP atual da WAN do cliente.

O mais fácil seria instalar as aplicações dentro do cliente, na rede local, e ai, no firewall da rede (sem firewall não tem segurança, ou seja, é pura balela) liberar os acessos externos.

O problema neste caso é se o acesso foi por celular ou de outro local que mude o IP toda hora. O administrador teria que ficar liberando os endereços para o acesso.

A solução para isto se chama VPN, que pode ser instalada em qualquer dispositivo, com IP dinâmico ou não e somente com as chaves configuradas o acesso externo é liberado.

A VPN também pode ser feita no servidor na nuvem e liberar acesso somente através dela, tanto para a rede local como qualquer dispositivo com a VPN configurada.

[]'s
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: José Luciano Rocha em Setembro 09, 2015, 11:48:19 am
Não falei em ler usando PHP.
http://tableless.com.br/file-api-trabalhando-com-arquivos-locais-usando-javascript/
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Rodrigo Goulart Padovezzi em Setembro 09, 2015, 11:50:48 am
Não falei em ler usando PHP.
http://tableless.com.br/file-api-trabalhando-com-arquivos-locais-usando-javascript/
Seria por upload né?
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Jailton em Setembro 09, 2015, 12:03:00 pm
Bom seria fácil fazer com cookies, ai teve manutenção? eles te ligam você reativa, sem stress, faço isso.


Agora tem outro jeito se forem pcs windows e linux, pode ser fazer um utilitário em C++, ele vai funcionar iniciar com o sistema, ai ele vai pegar o IP externo da rede, e enviar
para sua hospedagem, pode gravar via FTP, na base com ODBC o que quiser, ai seu login vê os IPs liberados e o dia e libera acesso somente para esses IPs que foram liberados pelo
aplicativo local, você pode por data de validação nesses IPS, forçando o usuário autenticar usando o aplicativo todo dia, bom foi por 'essas' que aprendi C++ não podia ficar
só dependendo do PHP que só trabalha do lado do servidor e não no cliente.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: José Luciano Rocha em Setembro 09, 2015, 12:05:18 pm
Olhem isso:

http://stackoverflow.com/questions/3653065/get-local-ip-address-in-node-js
https://nodejs.org/api/os.html#os_os_networkinterfaces
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Haroldo em Setembro 09, 2015, 12:53:18 pm
Não falei em ler usando PHP.
http://tableless.com.br/file-api-trabalhando-com-arquivos-locais-usando-javascript/


Para isso vc tem que abrir um brecha na segurança do browser, coisa que eu jamais faria.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Haroldo em Setembro 09, 2015, 12:55:03 pm
Bom seria fácil fazer com cookies, ai teve manutenção? eles te ligam você reativa, sem stress, faço isso.


Agora tem outro jeito se forem pcs windows e linux, pode ser fazer um utilitário em C++, ele vai funcionar iniciar com o sistema, ai ele vai pegar o IP externo da rede, e enviar
para sua hospedagem, pode gravar via FTP, na base com ODBC o que quiser, ai seu login vê os IPs liberados e o dia e libera acesso somente para esses IPs que foram liberados pelo
aplicativo local, você pode por data de validação nesses IPS, forçando o usuário autenticar usando o aplicativo todo dia, bom foi por 'essas' que aprendi C++ não podia ficar
só dependendo do PHP que só trabalha do lado do servidor e não no cliente.

Aplicativo c++,  um script php (app blank) para gravar o ip no sistema,  não importa o método desde que tenha o ip de tempos em tempos atualizado no ambiente do sistema.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Haroldo em Setembro 09, 2015, 12:59:11 pm
O ip interno da rede que estou não me diz se estou dentro da empresa ou não, posso estar em qualquer outra rede que até possua mascara semelhante a rede da empresa.



Olhem isso:

http://stackoverflow.com/questions/3653065/get-local-ip-address-in-node-js
https://nodejs.org/api/os.html#os_os_networkinterfaces
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Adesoft em Setembro 09, 2015, 01:23:39 pm
Haroldo,
Na sua sugestão em deixar uma máquina ligada ela estaria atualizando o IP da conexão no banco, este script foi feito em PHP, pelo SC?
Pois como tenho clientes com Mac, Windows e Linux, vou precisar adaptar esta sugestão!

Estou montando um exemplo e vou colocar aqui para todos e servir para os amigos que desejarem aprimorar.

Jailton-> A ideia é bom porém o problema é a manutenção pois tenho cliente que trabalha de Domingo a Domingo, e em 3 turnos e não posso ficar preso a esta manutenção, da parte do C++ posso começar a estudar porém tempo é uma coisa que para mim fica sendo a moeda mais cara srsrsrsr.

Vamos em frente estou buscando uma forma melhor e montando um exemplo modelo.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Haroldo em Setembro 09, 2015, 05:00:04 pm
Uma aplicação blank, vc adiciona a url ao agendador de tarefas do windows.
Essa aplicação grava em uma tabela o ip da empresa.

Todo usuário que se logar no sistema você pega o ip dele,  se for diferente do ip gravado na tabela quer dizer que o acesso é externo.


Haroldo,
Na sua sugestão em deixar uma máquina ligada ela estaria atualizando o IP da conexão no banco, este script foi feito em PHP, pelo SC?
Pois como tenho clientes com Mac, Windows e Linux, vou precisar adaptar esta sugestão!

Estou montando um exemplo e vou colocar aqui para todos e servir para os amigos que desejarem aprimorar.

Jailton-> A ideia é bom porém o problema é a manutenção pois tenho cliente que trabalha de Domingo a Domingo, e em 3 turnos e não posso ficar preso a esta manutenção, da parte do C++ posso começar a estudar porém tempo é uma coisa que para mim fica sendo a moeda mais cara srsrsrsr.

Vamos em frente estou buscando uma forma melhor e montando um exemplo modelo.

Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Maurélio em Setembro 09, 2015, 06:00:58 pm
Para gravar no banco de dados no servidor na nuvem, o mesmo deve estar configurado para permitir acesso externo.

Se o problema inicial era segurança, este é um ponto que tornará o acesso ao banco de dados visível na internet. A não ser que o acesso seja restrito por IP. mas ai volta o problema de ser IP dinâmico.

Pensando mais um pouco, se a preocupação é segurança, rode dentro da empresa, ou tenha um IP Fixo para restrição por ele ou ainda adote a implantação de VPN, que rodará o sistema como se fosse internamente, dos dispositivos externos.

É um assunto bem delicado e deve ser bem pensado e implantado, pois de outra forma você poderá ter apenas uma sensação de segurança.

[]'s
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Haroldo em Setembro 09, 2015, 06:24:01 pm
Maurelio,

Me desculpe, mas acho que engana-se quanto a segurança.

O scriptpt php fica nas nuvens como qualquer outro script, por que há riscos de segurança aí?

http://meudominio/sistema/appblank/appblank.php?autentica=sfkdhfkj39839kdjf48hfh48nfjnfdsjhf84hrnjdjd  <-- aqui vc pode verificar se o ip esta sendo trocado constantemente em intervalos de tempo muito pequeno, bane-se o ip e alerta o adminsitrador.


Onde isso pode expor a segurança??? expor o banco???? se isso acontece qualquer aplicação do sc pode expor o banco e a segurança quando estas estiverem nas nuvens...

Por que o assunto é delicado? Não vejo porque. Acho o assunto até bem simples. E mais,  desenvolvemos para web não, então porque o sistema tem que ficar dentro da empresa, principalmente quando a tendência é se ter tudo nas nuvens.


 

Para gravar no banco de dados no servidor na nuvem, o mesmo deve estar configurado para permitir acesso externo.

Se o problema inicial era segurança, este é um ponto que tornará o acesso ao banco de dados visível na internet. A não ser que o acesso seja restrito por IP. mas ai volta o problema de ser IP dinâmico.

Pensando mais um pouco, se a preocupação é segurança, rode dentro da empresa, ou tenha um IP Fixo para restrição por ele ou ainda adote a implantação de VPN, que rodará o sistema como se fosse internamente, dos dispositivos externos.

É um assunto bem delicado e deve ser bem pensado e implantado, pois de outra forma você poderá ter apenas uma sensação de segurança.

[]'s
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Maurélio em Setembro 09, 2015, 07:13:48 pm
Haroldo,


Quem pede desculpas sou eu.


Entendi que o script ficaria na empresa e este conectaria no banco de dados do servidor, na nuvem, e atualizaria o IP da empresa no banco. Para isto o mesmo precisaria ter o acesso externo liberado, senão nem o script php ou qualquer outra aplicação teria esta conexão fechada.


Como ficará no servidor, onde está a aplicação, o banco pode fica somente com acesso local.


Para acessar o banco de dados somente furando a aplicação e acessar as informações ou acessando o servidor diretamente, pois o mesmo não estará visível na internet.


Nas minhas instalações eu não tenho nenhum banco com acesso externo e onde preciso somente através de VPN.


Um pequeno mau entendido, mas é bom conversar sobre segurança. Nunca é demais.


Vamos aprendendo muito.


[]'s

Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: Jean Matos em Setembro 09, 2015, 08:16:29 pm
Caros Amigos,
Este assunto já foi debatido aqui, porém como hoje o sistema pode ser aberto por qualquer browser seja por qualquer dispositivo que tenha acesso a internet, não só em rede Windows, porém em Linux e Mac e Android. Estou com a necessidade de bloquear o acesso ao sistema permitindo somente na rede interna do Cliente e liberando o aceso somente em outros dispositivos autorizados e ou ADM.

Alguém já consegue fazer este controle?
Seja em Windows, Mac, Linux ou Android?

Adeilson de Oliveira

estou terminando justamente isso...

ao tentar logar o sistema verifica o IP ou se é Adm, daí libera o acesso.

minha aplicação fica na nuvem e meu acesso é somente de tentro da empresa..
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: flaviosfmartins em Setembro 10, 2015, 08:30:02 am
Me parece mais um caso de controle de acesso ( por horário e tipo de usuário ) que por rede.

Tentar solucionar um caso desses pelo ip vai cair nos privilégios de cada usuário , a confusão ocorre pelo fato de querer generalizar o acesso pelo ip da empresa ( que é dinâmico ... )

 
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
Enviado por: saulobborges em Setembro 14, 2015, 10:51:12 am
Bom pra não ter que fazer malabarismos é só usar a função gethostname (), essa função trabalha em conjunto com a variável $_SERVER["REMOTE_ADDR"] porém ela devolve o nome do cliente, como o php não tem como saber essa informação por não ter acesso à máquina em si ele usa como se fosse uma consulta reversa no ip que vem da variável $_SERVER["REMOTE_ADDR"] e tenta recuperar o nome, assim se você usa um gateway pra distribuir a internet na sua empresa ou um servidor a função retornará o nome desse gateway, roteador, servidor.

Assim basicamente é só verificar se a conexão é proveniente do nome do seu gateway e validar o acesso.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna (Finalizado)
Enviado por: Adesoft em Setembro 14, 2015, 11:27:58 am
Saulo,

Foi mais ou menos que eu fiz e estou testando, usei a ideia do Haroldo porém com alguns ajustes:

Relatório de desenvolvimento e testes:

1º O Cliente não tem uma máquina para ficar ligada como servidor e ficar autenticando a cada 15 minutos, neste caso colocamos nos computadores que ele tem como principal que ficam interno sempre dentro da empresa o programa No-IP para ficar autenticando.
Com isto eu vou saber qual o IP da rede interna dele.

2º No Cadastro de usuário eu tenho um campo que controla o previlégio do usuário se ele é Adminsitrador ou não para liberar o acesso de qualquer lugar.

3º Tenho um formulário dentro do sistema de configuração onde criei os campos :
   a) Controla a autenticação do local de uso (tipo char) para S ou N
   b) Informe o domínio para autenticação (Aqui eu coloco o domínio que o cliente tem no No-IP para autenticar)

4º controle do domńio no formulário Login
    Com a função gethostbyname(variavel com o domínio) eu pego o domínio do formulário de configuração que cadastrei para que eu possa ter o IP do domńio que será autenticado para obter o IP da rede interna dele (WAN)

5ª  controle do IP que esta acessando o sistema na WEB
       Com a função  $_SERVER['REMOTE_ADDR'] eu tenho o IP que esta acessando a minha aplicação na WEB, que esta se logando e ou tentando se logar.

6º Ficando assim:
      $ip_dominio = gethostbyname($var_config_dominio);
      $ip_local    = $_SERVER['REMOTE_ADDR'];
    Com isto eu tenho o IP da rede autenticado no No-IP que a máquina do cliente se autenticou e o IP da tentativa de se logar, faço uma comparação para saber se é a mesma rede ou não:
   if (substr($ip_dominio,1,11) == substr($ip_local,1,11))
Assim fico sabendo que o IP da autenticação e o IP que esta tentando se logar faz parte da mesma rede para liberar e ou bloquear, caso for rede diferente eu vejo se o usuário que esta tentando se logar tem privilégio de ADM para liberar.

7º Caso o usuário não tiver o privilégio e ou a rede for diferente, eu gravo o log com o usuário, data e hora e o IP que esta tentando acessar para ter um controle das tentativas de acesso.

Com isto consegui resolver o problema, creio que podemos melhorar esta forma, mais no momento foi a mais simples e rápida que permite que só dentro da empresa seja acessado o sistema.

Obrigado a todos espero que estas informações possam ajudar também nossos amigos que possam estar com a mesma dificuldade e possa limitar os acessos.

Obrigado a todos.
Título: Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna (Finalizado)
Enviado por: FredKeyster em Setembro 14, 2015, 12:26:42 pm


Obrigado a todos espero que estas informações possam ajudar também nossos amigos que possam estar com a mesma dificuldade e possa limitar os acessos.

Obrigado a todos.

Parabéns cara, é isso ai!