[Cascavel-pm] CGI + Autenticação

Ednardo Lobo ednardo em elobo.cjb.net
Quinta Fevereiro 13 17:16:40 CST 2003


On Thu, Feb 13, 2003 at 05:27:06PM -0200, |mouse| wrote:
> Ola, estou fazendo uns cgis em perl + apache e gostaria de implementar
> uma tela de login para que pudesse ser acessado as demais páginas...
>
> Não tenho nem idéia por onde  começar, alguém pode me mostrar o início
> do caminho?
> -- 
> 
> 
>     
>                  |mouse|
>           Linux user    #159540
>           UiN           #36351944
>                   WR 27
>    Eletronic mail  mouse em 200.247.227.246
>   "Sem saber que era impossivel, ele fez." 
>          www.oscara.com.br/mouse
>     www.joinvillepanzers.hpg.ig.com.br

    Há duas formas de se fazer isso: uma simples e outra complexa

    A forma  simples, é  através de uma  reconfiguração no  Apache. Essa
reconfiguração consiste  em atribuir a  uma determinada pasta  abaixo do
seu diretório raiz  (ROOT) ou no próprio, onde o  site está hospedado, a
caracterista  de protegida  e atribuir-lhe  um 'login/senha'  de acesso.
Toda vez  que alguém  tentar acessar  essa pasta  o apache  notificará o
navegador (ex:  Mozilla, Netscape)  da necessidade de  um 'login/senha',
esse  por sua  vez  apresentará  uma tela  ao  usuário  onde ele  deverá
informar o 'login/senha'.  Em muitos casos, essa  reconfiguração só pode
ser  feita pelo  administrador do  servidor, mas  em alguns  casos basta
apenas  criar um  arquivo chamado  '.htaccess'  na pasta  que se  deseja
proteger com a seguinte configuração (essa não é a única configuração
possível, mas para a maioria é adequada):

    AuthType Basic
    AuthName "Pasta protegida"
    AuthUserFile htpasswd
    Require valid-user

    Essa não  é a única  configuração possível,  mas para a  maioria dos
casos  é  adequada.  É  preciso  criar também  o  arquivo  'htpasswd'  e
inicializá-lo com linhas no formato '<login>:<senha>' contendo o 'login'
e 'senha' de acesso. Por exemplo:

    jose:kWrGsXDe/hIEs

    A  senha deve  ser criptografada  (SHA/MD5) e  para isso,  você pode
utilizar a função  'crypt' da própria Perl ou o  programa 'htpasswd' que
acompanha o Apache.
                    

    A  forma  complexa, bem,  na  verdade  realmente bastante  complexa,
não  sei ao  certo  como fazê-la!  :-) Mas  você  precisará, no  mínimo,
utilizar  'cookies' e  um  sistema para  controle  de sessão  (recomendo
Apache::Session). E ainda assim, não sei  se será tão eficiente e segura
quando a forma simples que expliquei anteriormente.


    Boa sorte !!!

-- 
    Ednardo Lobo - www.elobo.cjb.net

    Por favor, evitem enviar anexos no formato MS-Office, obrigado!
    Veja: http://www.fsf.org/philosophy/no-word-attachments.pt.html

--
BOFH excuse #320:

You've been infected by the Telescoping Hubble virus.



Mais detalhes sobre a lista de discussão Cascavel-pm