+ Responder ao Tópico



  1. #1

    Question Tempo de duração para senha via API PHP, existe?

    https://under-linux.org/f143/api-php...uarios-140768/
    https://under-linux.org/f143/como-se...krotik-140779/

    Nos dois tópicos acima, com a ajuda de nossos irmãos maiores, consegui saber como criar e alterar usuários e suas senhas. Agora gostaria de saber se é possível via API PHP estipular uma duração para a senha do usuário criado.

    Alguém sabe qual o comando? Pode ser via terminal mesmo.

    Abços,

  2. #2
    Moderador Avatar de minelli
    Ingresso
    Aug 2006
    Localização
    Pres. Venceslau - SP | Pres. Prudente - SP
    Posts
    1.412
    Posts de Blog
    10

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Na verdade você pode por tempo de no próprio php.

  3. #3

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Olá Rodrigo Minelli,

    Você pode dar ou apontar um pequeno exemplo didático para que eu possa testar e aprender a usar esta opção?

    Obrigado por ajudar.

  4. #4
    Moderador Avatar de minelli
    Ingresso
    Aug 2006
    Localização
    Pres. Venceslau - SP | Pres. Prudente - SP
    Posts
    1.412
    Posts de Blog
    10

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Faca controle por cookie ou sessao.

  5. #5

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Olá Rodrigo Minelli,

    Não estou certo se posso fazer assim porque não posso contar com o browser aberto para funcionar, nem a mesma máquina. Alguém pode abrir um note ou qualquer outra máquina, definir usuário, senha e a janela de duração da senha, e esquecer que fez isso. Pode até mesmo desligar a máquina e ir embora. O sistema deve ser capaz de identificar o final da duração da senha, ou melhor, a janela de duração e expirá-la automaticamente. Essa é minha situação. Nunca fiz algo assim e não sei ainda como fazê-lo. Já li algo sobre cronjob, mas não vi exemplos de código e não estou certo se isso me atende.

    Mas estou pesquisando. Espero uma hora encontrar um site ou um post onde possa aprender como fazê-lo.

    De qualquer forma obrigado pela atenção.

  6. #6
    Moderador Avatar de minelli
    Ingresso
    Aug 2006
    Localização
    Pres. Venceslau - SP | Pres. Prudente - SP
    Posts
    1.412
    Posts de Blog
    10

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    O certo seria você usar controle por sessao, eu nao tenho exemplo pra te passar mas você acha isso facilmente no google.

  7. #7

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Olá Rodrigo Minelli,

    Obrigado pela atenção. Neste caso não porque a sessão está ligada ao browser. Quando você fecha o browser a sessão deixa de existir (vide: Revista PHP - A Primeira Revista PHP do Brasil).

    No meu caso, eu não tenho como garantir que o browser vai estar aberto ou que o usuário estará usando sempre a mesma máquina. É um sistema acessado via web de qualquer lugar a qualquer hora, apenas o tempo necessário para sua execução. Depois disso o sistema tem que se virar sozinho no servidor sem a intervenção do usuário.

    Daí eu tenho pesquisado mais sobre o cronjob pois, pelo que tenho lido, esta será a solução. Ao menos até que eu ache algo melhor...

    Sobre o cronjob:

    O que são e como usar as Cron Jobs? | Thiago Belem / Blog
    How to Create a Cron Job (Scheduled Task) for Your Website or Blog (thesitewizard.com)
    What is a cronjob and how do I use it? - Kayako eSupport Help Desk Software

  8. #8
    Moderador Avatar de minelli
    Ingresso
    Aug 2006
    Localização
    Pres. Venceslau - SP | Pres. Prudente - SP
    Posts
    1.412
    Posts de Blog
    10

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Amigo a sessao expira em X minutos ou se o browser vou fechado.
    E o usuario e obrigado a relogar no sistema.

  9. #9

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Olá Rodrigo Minelli,

    Desculpe, talvez eu não esteja alcançando o que você está querendo me dizer. Deixe-me raciocinar sobre o que você ma passou:

    - Ao usar a sessão, o usuário terá garantido seu acesso ao sistema após o login. OK.
    - Ao fechar o browser ou expirar a sessão, o user será obrigado a relogar o que garante o término de uso daquele login. Ok.

    A culpa é minha que não esclareci direito a situação.

    O usuário do programa irá, via sistema, definir um usuário e uma senha para o mikrotik de ip tal. Essa senha terá uma janela de duração. Das 14:00 as 16:00 por exemplo. Ou ainda duas horas de duração.

    O funcionário de campo que irá efetivamente acessar o mikrotik deverá logar na placa usando a senha definida dentro da janela especificada. Ou seja o browser que ele vai usar em campo no notebook não tem ligação com o browser usado pelo gerente de redes lá no seu desktop de escritório.

    Mas pra que isso Chritiano? É que o funcionário não poderá acessar o mikrotik fora daquele horário. O sistema tem que checar de tempo em tempo, em uma data determinada, se o horário venceu e impedir o acesso, trocando a senha ou expirando-a, ou deletando aquele usuário definido no mikrotik.

    Talvez eu esteja errado. Não sei. Sou novo nesta área e tentando aprender muita coisa ainda. Se você puder me dizer onde estou errando no meu raciocínio eu ficarei muito feliz porque sou iniciante e demoro a entender algumas coisas... :-)

    Obrigado pela atenção mais uma vez.

  10. #10
    Moderador Avatar de minelli
    Ingresso
    Aug 2006
    Localização
    Pres. Venceslau - SP | Pres. Prudente - SP
    Posts
    1.412
    Posts de Blog
    10

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Creio que pode usar como falei, mas terá de checar se a hora de tentativa de conexão está entre o cadastrado.
    Somente isso.

  11. #11

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Olá Rodrigo,

    Obrigado por me ajudar. Duas cabeças sempre pensam melhor que uma e você tem sido de uma ajuda valorosa. Então vamos raciocinar juntos:

    -> Vamos supor que um administrador de redes, usando o sistema em PHP, gravou no banco de dados que o user e o password (definido no mikrotik via SO do mikrotik com a ajuda da API PHP) podem ser usados entre 14:00 e 18:00 do dia 21 de agosto de 2010;

    -> Vamos supor também que ninguém está acessando um browser neste dia porque isso foi feito dia 20 de agosto de 2010 e como hoje é Sábado o administrador está em casa e só vai atender em caso de emergência;

    -> Para completar nosso cenário o funcionário de campo chega às 13:00 hs com seu notebook e usando o linux tenta acessar o mikrotik usando a senha e o usuário passado a ele pelo administrador ontem mesmo. O que vai acontecer?

    E mais uma vez fico agradecido pela atenção dada Rodrigo. Acho que estas interações e que fazem da internet a ferramenta poderosa que ela é. Abços e aguardo seu novo post...

  12. #12
    Moderador Avatar de minelli
    Ingresso
    Aug 2006
    Localização
    Pres. Venceslau - SP | Pres. Prudente - SP
    Posts
    1.412
    Posts de Blog
    10

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Citação Postado originalmente por Christiano Ver Post
    Olá Rodrigo,

    Obrigado por me ajudar. Duas cabeças sempre pensam melhor que uma e você tem sido de uma ajuda valorosa. Então vamos raciocinar juntos:

    -> Vamos supor que um administrador de redes, usando o sistema em PHP, gravou no banco de dados que o user e o password (definido no mikrotik via SO do mikrotik com a ajuda da API PHP) podem ser usados entre 14:00 e 18:00 do dia 21 de agosto de 2010;

    -> Vamos supor também que ninguém está acessando um browser neste dia porque isso foi feito dia 20 de agosto de 2010 e como hoje é Sábado o administrador está em casa e só vai atender em caso de emergência;

    -> Para completar nosso cenário o funcionário de campo chega às 13:00 hs com seu notebook e usando o linux tenta acessar o mikrotik usando a senha e o usuário passado a ele pelo administrador ontem mesmo. O que vai acontecer?

    E mais uma vez fico agradecido pela atenção dada Rodrigo. Acho que estas interações e que fazem da internet a ferramenta poderosa que ela é. Abços e aguardo seu novo post...
    Se entendi bem não vai acessar não é? Pois são 13:00 e o horário liberado é das 14:00 às 18:00.

    Recomendo que me ligue para poder te explicar + ou - e não ficarmos congestionando o forum com menssagem.
    Fone: (18) 9754-0042

  13. #13

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Olá Rodrigo! Tudo bem?

    Ele vai conseguir acessar porque o dia e horário estão definidos em um banco de dados usado pelo sistema em PHP que, por sua vez, não possui interação com o mikrotik. O Sistema Operacional da placa irá receber o comando de acesso via linux ou winbox no windows e irá permitir o login. Pro mikrotik o que se verifica é o user e o password. Daí minha pergunta inicial se há algum comando no mikrotik que me permita (durante a definição do user/password - comando add ou set) definir um tempo de duração para o login definido.

    Como não encontrei tal comando, estou tentando criar uma rotina autônoma, via PHP (API PHP do mikrotik), que só defina o usuário e a senha, no mikrotik, na data e hora marcada. E uma vez vencido o prazo, essa mesma rotina deve trocar/deletar esta senha para que não haja mais acesso.

    Até onde li, ao que parece, quem faz isso no servidor linux, é o cronjob. Agora estou tentando descobrir como fica o comando contrab para isso e como salvá-lo em um arquivo ".txt" via PHP.

    Exemplo de comando que funciona dia 5 de janeiro às 9:15:

    15 9 5 1

    Preciso salvar isso em um arquivo chamado cron.txt no servidor executando, via sistema PHP, comandos linux como "crontab cron.txt".

    Se eu conseguir isso, ainda tenho que tentar executar os comandos da API PHP a partir deste arquivo. É uma tarefa árdua para alguém como eu que possui pouco conhecimento ainda. Mas rezo para conseguir uma vitória visto que ainda não completei meus três meses de experiência aqui na empresa. :-)

    Se conseguir posto o resultado aqui para ajudar outros novatos.

    A propósito acho que devemos continuar nossas conversar aqui no fórum mesmo. Primeiro porque não tenho certeza se a empresa me autorizaria a fazer um interurbano (estou em Minhas Gerais) e segundo porque ainda tenho esperanças que alguém que já tenha passado por isso dê uma ajudinha...

    Mas agradeço muito sua atenção. Você tem me ajudado a raciocinar sobre o sistema e a questionar minhas ações como programador. Sou muito grato pela sua ajuda. Espero poder retribuir aqui no fórum futuramente.

    Abços...

  14. #14
    Moderador Avatar de minelli
    Ingresso
    Aug 2006
    Localização
    Pres. Venceslau - SP | Pres. Prudente - SP
    Posts
    1.412
    Posts de Blog
    10

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Como falei não vou prolongar por aqui caso queira me ligar podemos analizar da sua forma de pensamento.

  15. #15

    Padrão Re: Tempo de duração para senha via API PHP, existe?

    Citação Postado originalmente por Christiano Ver Post
    https://under-linux.org/f143/api-php...uarios-140768/
    https://under-linux.org/f143/como-se...krotik-140779/

    Nos dois tópicos acima, com a ajuda de nossos irmãos maiores, consegui saber como criar e alterar usuários e suas senhas. Agora gostaria de saber se é possível via API PHP estipular uma duração para a senha do usuário criado.

    Alguém sabe qual o comando? Pode ser via terminal mesmo.

    Abços,


    Olá comunidade under-linux,

    Nossos irmãos maiores, mais uma vez, colaboraram para que a informação aparecesse. E por isso mesmo sou muito grato a eles, ao meu anjo da guarda e a Deus por permitir que se desse tais desdobramentos.

    A resposta a pergunta acima é o scheduler do próprio mikrotik. Com ele você pode agendar uma tarefa conforma a sua necessidade. No meu caso:

    $tarefa = 'testetask';
    $dt = 'Aug/26/2010';
    $hr = '18:09:00';
    $hrint = '00:01:00';
    $politica = 'read,write,policy';
    $comando = '/user remove teste; /system scheduler remove '.$tarefa;

    $API->write('/system/scheduler/add', false);
    $API->write('=name='.$tarefa, false);
    $API->write('=start-date='.$dt, false);
    $API->write('=start-time='.$hr, false);
    $API->write('=interval='.$hrint, false);
    $API->write('=policy='.$politica, false);
    $API->write('=on-event='.$comando);


    $ARRAY = $API->read();

    $API->disconnect();

    Se você, assim como eu, ainda é muito novo nesta área dê uma olhada nos links da citação. Lá você verá trechos de códigos mais completos sobre a API PHP do mikrotik.

    Abços a todos!