configurar htpasswd em php

1. configurar htpasswd em php

Leonardo Oliveira Ortiz
leo4b

(usa Outra)

Enviado em 12/08/2012 - 01:12h

ola, queria configurar o squidadmin para criar usuários, estou usando um script assim:

<?php

include "valida.php";
?>


<?php
$local = "/etc/squid3/config/bloqueados/ips";
$user = $_POST['login'];
$senha = $_POST['senha'];
if(count($_POST) > 0)
{
$arquivo = fopen("$local", "w+");
fwrite($arquivo, $_POST['arquivo']);
fclose($arquivo);
exec("sudo /usr/bin/sort $local -o $local");
exec("sudo /usr/sbin/squid3 -k reconfigure");
}
$arquivo = fopen("$local", "r");
?>

<h3>Criar Usuarios</h3>

<div class="text">
<p>ls
criar users.<br />
users cadastrados.
</p>
</div>

<form name="cadastro" method="post" action="">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Login:</font></td>
<td><input name="login" type="text" id="login" maxlength="30"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Senha:</font></td>
<td><input name="senha" type="password" id="senha" maxlength="30"></td>
</tr>

<input type="submit" name="Submit" value="Enviar" /> <br />

</form>
<?php require('rodape.php'); ?>


Ele aparece o campo certinho, mas não executa o comando htpasswd, alguem tem alguma idéia para funcionar?




  


2. Re: configurar htpasswd em php

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 12/08/2012 - 12:26h

No código postado não há a execução do comando htpasswd, vc deve ter esquecido de postar, ...., tente colocá-lo usando o caminho completo


3. Re: configurar htpasswd em php

Leonardo Oliveira Ortiz
leo4b

(usa Outra)

Enviado em 12/08/2012 - 12:47h

Desculpe, o código certo é esse:


<?php

include "valida.php";
?>


<?php
$local = "/etc/squid3/users";
$user = $_POST['login'];
$senha = $_POST['senha'];
if(count($_POST) > 0)
{
$arquivo = fopen("$local", "w+");
fwrite($arquivo, $_POST['arquivo']);
fclose($arquivo);
exec("sudo /usr/bin/sort $local -o $local");
exec("sudo /usr/bin/htpasswd -b /etc/squid3/squid_passwd $user $senha");
}
$arquivo = fopen("$local", "r");
?>
<?php require('cabecalho.php'); ?>

<h3>Criar Usuarios</h3>

<div class="text">
<p>ls
criar users.<br />
users cadastrados.
</p>
</div>

<form name="cadastro" method="post" action="">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Login:</font></td>
<td><input name="login" type="text" id="login" maxlength="30"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Senha:</font></td>
<td><input name="senha" type="password" id="senha" maxlength="30"></td>
</tr>

<input type="submit" name="Submit" value="Enviar" /> <br />

</form>
<?php require('rodape.php'); ?>



4. Re: configurar htpasswd em php

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 13/08/2012 - 10:00h

Como esses comandos exigem permissões especiais e senha, pesquisa aqui no Vol (ja vi alguem aqui fazendo isso) como permitir a execução desses comandos sem a solicitação da senha...


5. Re: configurar htpasswd em php

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 13/08/2012 - 10:46h

function exec do PHP precisa editar no php.ini para ativar o uso...

Sugestão: também poderia fazer isso em Shell como script CGI (/var/www/cgi-bin/)


#!/bin/bash
echo "content-type: text/plain"
#seu código normal em shell



6. Re: configurar htpasswd em php

Leonardo Oliveira Ortiz
leo4b

(usa Outra)

Enviado em 13/08/2012 - 10:54h

rai3mb escreveu:

Como esses comandos exigem permissões especiais e senha, pesquisa aqui no Vol (ja vi alguem aqui fazendo isso) como permitir a execução desses comandos sem a solicitação da senha...


Bom dia !
Já coloquei as permissões adequadas no arquivo sudoers para execução sem senha. Porém mesmo assim ele não funciona, creio que seja uma limitação do htpasswd talvez ou sei-la...

saitam
Vou verificar sua sugestão, como eu colocaria isso no script php nesse caso? Teria como fazer o php chamar o cgi para executar o comando?
Ha, eu uso outras funções em outros scripts php, como squid -k reconfigure, e funciona normalmente, então creio que ja está abilitado tal função...
caso tenham mais alguma idéia podem me passar :)

Obrigado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts