Publicidade (Anuncie Aqui)

  • Francisco
    Ae Thiago parabéns cara, fazia tempo que não via um blog tão bom, mta informação importante para quem esta começando como eu hehehe.

    Abraço e continue com essas otimas materias.
  • reinaldo
    Thiago,

    Parabéns pelos artigos!
    Veja se pode me ajudar. ao logar o usuário o parâmetro incluído do cookie, sem sha1, é:
    meuemail@gmail.com#127.0.0.1#Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; FDM) chromeframe/4.0, até ai tudo bem, sou direcionado para a página_restrita.php, só que quando, por exemplo, atualizo a página e o método usuario_logado o parâmetro já passa ser reinaldo.henrique@gmail.com#127.0.0.1#Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; FDM) - observe que sem o texto "chromeframe/4.0" no final.

    O problema está no $_SERVER['HTTP_USER_AGENT'] que está tendo dois comportamentos.

    Tem alguma idéia de como podemos resolver?
  • Reinaldo
    Desinstalei o chromeframe (necessario para utilizar o google wave no IE) e funcionou normalmente.

    gostaria que, se possível, outras pessoas fizessem esse teste, pois repetindo o erro, trata-se de bug que pode comprometer inúmeros sistemas.
  • @Reinaldo
    Tente fazer mais testes verificando o valor da variável $_SERVER['HTTP_USER_AGENT']... Esse comportamento é muito estranho.
  • valmir
    cara sou iniciante em php mas, esta muito facil aprender com esse tutorial que vc esta fazendo, brigado por compartilhar seu conhecimento.
    que deus o ilumine de conhecimentos.
    vlw garoto, ganhou + um seguidor
  • Vinícius Almeida
    Thiago, fiquei com algumas dúvidas (talvez de principiante), segue:

    1) A variável array $dados, que foi declarada na linha 37, foi usada como string na linha 130, para montar o formato SQL da lista de campos. Isso não é ruim, tanto pra legibilidade quanto para a funcinalidade do sistema?

    2) No caso do if da linha 139, não seria melhor testar se a consulta foi bem sucedida antes? Tanto faz?

    Parabéns pelo tutorial e pelo blog, estou aprendendo muito sobre programação profissional, padronizada e comentada!
    Obrigado! ^^
  • @Vinícius
    1) Não há problema nenhum pois um é uma variável e o outro é uma propriedade da classe... O máximo que pode acontecer é uma confusão por parte do desenvolvedor que não conheça POO. :)

    2) Quando a consulta falhou (deu erro) ela retorna false... depois é que nós verificamos se um registro foi encontrado ou não.
  • Trambulhao
    Thiago Belem, parabéns!

    Uma escrita simples, bem estruturado e de fácil entendimento. Vale a pena a leitura dos seus artigos.

    Só lembrando, me todos os usuários tem o cookies habilitado.
  • Parabéns mais uma vez thiago, implementação limpa e usual.
    cara estou viciado em seu blog.....hehehe
    abraços!
  • Bom tutorial Thiago, já estou na espera da 3ª parte!!

    abraços
  • Klawdyo
    Sistema de permissões de grupos é muito importante.
    Segue aí uma sugestão.

    $ua = new UserAccess;
    $ua->userLevel('admin')
    ->allow('/')
    ->userLevel('usuario_comum')
    ->allow('/panel')
    ->allow('/users/settings')
    ->userLevel('guest') //somente visitantes e não logados
    ->deny('/')
    ->allow('/home', '/contato', '/login', '/cadastro')
    ->check();

    Nesse caso, o nível guest é aplicado a todos os visitantes não logados e o restante são níveis de usuários.

    As permissões de 'guest' serão herdadas por todos os usuários, mas ela só necessitará ser verificada caso não case nenhum dos acima.

    A estrutura de arrays pode ser assim
    'guest' => array('/'=>false, 'home'=>true),
    'admin'=>array('/'=>true),

    Dessa forma facilita uma futura integração com banco de dados.

    É só uma sugestão pra incrementar a série de artigos. Excelente, diga-se de passaagem.
blog comments powered by Disqus