+ Responder ao Tópico



  1. #1

    Padrão Criar pagina hotspot php externa

    Ja tentei de todas de varias formas criar uma pagina externa personalizada php para que possa fazer login no mikrotik routerOS porem sem sucesso, na WiKi da Mikrotik exite um codigo pronto em php que funcionaria mas ao aparecer a pagina de login tento colocar a senha é retornado aquele erro onde informa que o navegador não respondeu ou o java esta desativado, ja tentei atravez da api mas não conseguitrabalhar com ela, no caso do php todas as variaveis são preenchidas com as informações corretas, mas o erro perciste ja não sei onde pode esta o erro

    Código PHP:
    <?php
       $mac
    =$_POST['mac'];
       
    $ip=$_POST['ip'];
       
    $username=$_POST['username'];
       
    $linklogin=$_POST['link-login'];
       
    $linkorig=$_POST['link-orig'];
       
    $error=$_POST['error'];
       
    $chapid=$_POST['chap-id'];
       
    $chapchallenge=$_POST['chap-challenge'];
       
    $linkloginonly=$_POST['link-login-only'];
       
    $linkorigesc=$_POST['link-orig-esc'];
       
    $macesc=$_POST['mac-esc'];
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>mikrotik hotspot > login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="pragma" content="no-cache" />
    <meta http-equiv="expires" content="-1" />
    <style type="text/css">
    body {color: #737373; font-size: 10px; font-family: verdana;}

    textarea,input,select {
    background-color: #FDFBFB;
    border: 1px solid #BBBBBB;
    padding: 2px;
    margin: 1px;
    font-size: 14px;
    color: #808080;
    }

    a, a:link, a:visited, a:active { color: #AAAAAA; text-decoration: none; font-size: 10px; }
    a:hover { border-bottom: 1px dotted #c1c1c1; color: #AAAAAA; }
    img {border: none;}
    td { font-size: 14px; color: #7A7A7A; }
    </style>

    </head>

    <body>
    <!-- $(if chap-id) -->

        <form name="sendin" action="<?php echo $linkloginonly?>" method="post">
            <input type="hidden" name="username" />
            <input type="hidden" name="password" />
            <input type="hidden" name="dst" value="<?php echo $linkorig?>" />
            <input type="hidden" name="popup" value="true" />
        </form>
        
        <script type="text/javascript" src="./md5.js"></script>
        <script type="text/javascript">
        <!--
            function doLogin() {
                    <?php if(strlen($chapid) < 1) echo "return true;\n"?>
            document.sendin.username.value = document.login.username.value;
            document.sendin.password.value = hexMD5('<?php echo $chapid?>' + document.login.password.value + '<?php echo $chapchallenge?>');
            document.sendin.submit();
            return false;
            }
        //-->
        </script>
    <!-- $(endif) -->

    <div align="center">
    <a href="<?php echo $linkloginonly?>?target=lv&dst=<?php echo $linkorigesc?>">Latviski</a>
    </div>

    <table width="100%" style="margin-top: 10%;">
        <tr>
        <td align="center" valign="middle">
            <div class="notice" style="color: #c1c1c1; font-size: 9px">Please log on to use the mikrotik hotspot service<br />

    <!-- $(if trial == 'yes') -->
    Free trial available, <a style="color: #FF8080"href="<?php echo $linkloginonly?>?dst=<?php echo $linkorigesc?>&username=T-<?php echo $macesc?>">click here</a>.
    <!-- $(endif) -->

    </div><br />
        <table width="240" height="240" style<?php
       $mac
    =$_POST['mac'];
       
    $ip=$_POST['ip'];
       
    $username=$_POST['username'];
       
    $linklogin=$_POST['link-login'];
       
    $linkorig=$_POST['link-orig'];
       
    $error=$_POST['error'];
       
    $chapid=$_POST['chap-id'];
       
    $chapchallenge=$_POST['chap-challenge'];
       
    $linkloginonly=$_POST['link-login-only'];
       
    $linkorigesc=$_POST['link-orig-esc'];
       
    $macesc=$_POST['mac-esc'];
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>mikrotik hotspot > login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="pragma" content="no-cache" />
    <meta http-equiv="expires" content="-1" />
    <style type="text/css">
    body {color: #737373; font-size: 10px; font-family: verdana;}

    textarea,input,select {
    background-color: #FDFBFB;
    border: 1px solid #BBBBBB;
    padding: 2px;
    margin: 1px;
    font-size: 14px;
    color: #808080;
    }

    a, a:link, a:visited, a:active { color: #AAAAAA; text-decoration: none; font-size: 10px; }
    a:hover { border-bottom: 1px dotted #c1c1c1; color: #AAAAAA; }
    img {border: none;}
    td { font-size: 14px; color: #7A7A7A; }
    </style>

    </head>

    <body>
    <!-- $(if chap-id) -->

        <form name="sendin" action="<?php echo $linkloginonly?>" method="post">
            <input type="hidden" name="username" />
            <input type="hidden" name="password" />
            <input type="hidden" name="dst" value="<?php echo $linkorig?>" />
            <input type="hidden" name="popup" value="true" />
        </form>
        
        <script type="text/javascript" src="./md5.js"></script>
        <script type="text/javascript">
        <!--
            function doLogin() {
                    <?php if(strlen($chapid) < 1) echo "return true;\n"?>
            document.sendin.username.value = document.login.username.value;
            document.sendin.password.value = hexMD5('<?php echo $chapid?>' + document.login.password.value + '<?php echo $chapchallenge?>');
            document.sendin.submit();
            return false;
            }
        //-->
        </script>
    <!-- $(endif) -->

    <div align="center">
    <a href="<?php echo $linkloginonly?>?target=lv&dst=<?php echo $linkorigesc?>">Latviski</a>
    </div>

    <table width="100%" style="margin-top: 10%;">
        <tr>
        <td align="center" valign="middle">
            <div class="notice" style="color: #c1c1c1; font-size: 9px">Please log on to use the mikrotik hotspot service<br />

    <!-- $(if trial == 'yes') -->
    Free trial available, <a style="color: #FF8080"href="<?php echo $linkloginonly?>?dst=<?php echo $linkorigesc?>&username=T-<?php echo $macesc?>">click here</a>.
    <!-- $(endif) -->

    </div><br />
        <table width="240" height="240" style="border: 1px solid #cccccc; padding: 0px;" cellpadding="0" cellspacing="0">
        <tr>
        <td align="center" valign="bottom" height="175" colspan="2">
    <!-- removed $(if chap-id) $(endif)  around OnSubmit -->
            <form name="login" action="<?php echo $linkloginonly?>" method="post" onSubmit="return doLogin()" >
                <input type="hidden" name="dst" value="<?php echo $linkorig?>" />
                <input type="hidden" name="popup" value="true" />
                            
                <table width="100" style="background-color: #ffffff">
                    <tr><td align="right">login</td>
                    <td><input style="width: 80px" name="username" type="text" value="<?php echo $username?>"/></td>
                    </tr>
                    <tr><td align="right">password</td>
                    <td><input style="width: 80px" name="password" type="password"/></td>
                    </tr>
                    <tr><td> </td>
                    <td><input type="submit" value="OK" /></td>
                    </tr>
                </table>
            </form>
        </td>
        </tr>
        </table>
        
    <!-- $(if error) -->
    <br /><div style="color: #FF8080; font-size: 9px"><?php echo $error?></div>
    <!-- $(endif) -->

        </td>
        </tr>
    </table>

    <script type="text/javascript">
    <!--
      document.login.username.focus();
    //-->
    </script>
    </body>
    </html>="border: 1px solid #cccccc; padding: 0px;" cellpadding="0" cellspacing="0">
        <tr>
        <td align="center" valign="bottom" height="175" colspan="2">
    <!-- removed $(if chap-id) $(endif)  around OnSubmit -->
            <form name="login" action="<?php echo $linkloginonly?>" method="post" onSubmit="return doLogin()" >
                <input type="hidden" name="dst" value="<?php echo $linkorig?>" />
                <input type="hidden" name="popup" value="true" />
                            
                <table width="100" style="background-color: #ffffff">
                    <tr><td align="right">login</td>
                    <td><input style="width: 80px" name="username" type="text" value="<?php echo $username?>"/></td>
                    </tr>
                    <tr><td align="right">password</td>
                    <td><input style="width: 80px" name="password" type="password"/></td>
                    </tr>
                    <tr><td> </td>
                    <td><input type="submit" value="OK" /></td>
                    </tr>
                </table>
            </form>
        </td>
        </tr>
        </table>
        
    <!-- $(if error) -->
    <br /><div style="color: #FF8080; font-size: 9px"><?php echo $error?></div>
    <!-- $(endif) -->

        </td>
        </tr>
    </table>

    <script type="text/javascript">
    <!--
      document.login.username.focus();
    //-->
    </script>
    </body>
    </html>
    Última edição por ab5x2; 22-03-2017 às 09:44.

  2. #2

    Padrão Re: Criar pagina hotspot php externa

    cara quando eu fiz eu configurei o mikrotik como hotspot, ai ele ja cria no FILE uma pagina com toda configuração correta, de acordo com seu mikrotik, ai baixa a pagina para o pc e edita ela mantendo as configuraçoes do login.

  3. #3

    Padrão Re: Criar pagina hotspot php externa

    Obrigado wcusp...

    Até ai eu consigo fazer mas o que eu não estou conseguindo é criar uma pagina de login php, a que o mikrotik cria é em html porem gostaria de acrescentar alguns recursos a pagina que só consigo com php mas até o momento ainda não consegui coloca-la para funcionar

  4. #4

    Padrão Re: Criar pagina hotspot php externa

    Ja criei todo um sistema de cadastro semi-automático onde são colhidas varias informações do usuário para disponibilizar o acesso o mais rápido de forma eficiente, mas ainda não consigo que o login realizado pelo usuário na pagina hospedada no servidor php seja enviado e reconhecido pelo mikrotik

  5. #5

    Padrão Re: Criar pagina hotspot php externa

    Eu já fiz funcionar, foi um trabalho de freelancer que levou tempo.
    Estava sem RB e o cara inclusive me mandou uma para que eu pudesse testar.
    Funcionou certinho, vou dar uma olhada aqui se tenho alguma coisa do material ainda.

  6. #6

    Padrão Re: Criar pagina hotspot php externa

    Citação Postado originalmente por klabundee Ver Post
    Eu já fiz funcionar, foi um trabalho de freelancer que levou tempo.
    Estava sem RB e o cara inclusive me mandou uma para que eu pudesse testar.
    Funcionou certinho, vou dar uma olhada aqui se tenho alguma coisa do material ainda.
    Opa amigo poderia postar esse material ai pra nos se possível vlw.

  7. #7

    Padrão Re: Criar pagina hotspot php externa

    Citação Postado originalmente por Etinho1 Ver Post
    Opa amigo poderia postar esse material ai pra nos se possível vlw.
    Isso já faz um tempo e não tenho mais aqui..
    Mas mesmo assim ainda tem a questão do https que não consegui resolver.

  8. #8

    Padrão Re: Criar pagina hotspot php externa

    Citação Postado originalmente por klabundee Ver Post
    Isso já faz um tempo e não tenho mais aqui..
    Mas mesmo assim ainda tem a questão do https que não consegui resolver.
    Mesmo assim poderia compartilhar o modelo desse teu hotspot conosco? a questão sobre o https vejo depois, desde já muito grato.

  9. #9

    Padrão Re: Criar pagina hotspot php externa

    Boa noite amigo, precisei disso uma certa vez, mas dentro do que eu pesquisei não existe essa possibilidade, até mesmo por conta de segurança, então os comandos devem ser passados via API se forem externos, e devido ao Mikrotik rodar somente HTML a unica forma de resolver foi pegar os dados que eu precisava da pagina e processar externamente... Vou resumir o que fiz

    Criei uma pagina de login e repliquei ela em PHP, criei um servidor PHP interno em minha rede e setei um dns pra ela dentro do mikrotik, assim ficou mais bonito pq o pessoal iria ver o dominio e não um IP no browser...

    Caso a pessoa fosse fazer somente um login, bastava ela ficar dentro do HTML mesmo, coloquei uma caixa de boletins e algumas coisas mais simples nessa pagina, porém nos links das ferramentas eu chamo o servidor php, como o layout é igual o usuario nem percebe que mudou de uma pagina HTML pra uma PHP, esse servidor PHP eu tbm coloquei no meu WalledGarden pra que ele pudesse ser acessado mesmo sem o usuario logar...
    Assim vc pode trabalhar todas as ferramentas que quiser e quando o usuário clicar no menu LOGIN pra carregar a pagina de login novamente vc direciona ele pro endereço da sua pagina hotspot no mikrotik...

  10. #10

    Padrão Re: Criar pagina hotspot php externa

    Citação Postado originalmente por klabundee Ver Post
    Eu já fiz funcionar, foi um trabalho de freelancer que levou tempo.
    Estava sem RB e o cara inclusive me mandou uma para que eu pudesse testar.
    Funcionou certinho, vou dar uma olhada aqui se tenho alguma coisa do material ainda.
    Ainda tem?

  11. #11

    Padrão Re: Criar pagina hotspot php externa

    Citação Postado originalmente por wltopus Ver Post
    Obrigado wcusp...

    Até ai eu consigo fazer mas o que eu não estou conseguindo é criar uma pagina de login php, a que o mikrotik cria é em html porem gostaria de acrescentar alguns recursos a pagina que só consigo com php mas até o momento ainda não consegui coloca-la para funcionar
    Já teve sucesso também foi tentando?