Agora criaremos alguns arquivos no diretório do
Apache:
# cd /var/www
# touch action.php
Vamos editar esse novo arquivo:
# nano action.php
Deixe-o como mostrado abaixo:
<?
// Aqui vai as variaveis
$data = date("d/m/Y"); //Pega a data atual
$ip_proxy = $_SERVER[HTTP_X_FORWARDED_FOR]; // Pega o IP do usuario
$nome = $_POST["nome"]; //trata a variável nome
$site = $_POST["site"]; //trata a variável assunto
$motivo = $_POST["motivo"]; //trata a variável mensagem
global $email; //transforma em variavel global a variável e-mail
$enviou = mail("seu-email@dominiol.com", "Desbloquear o site $site", // Aqui vai o seu e-mail e do lado o assunto do emails que sera enviado!
// Os Parametros do E-mail
"Data: $data
Nome: $nome
IP: $ip_proxy
Site: $site
Motivo: $motivo",
// Comando que envia o E-mail
"From: $email ");
// Se a mensagem for enviada corretamente
if ($enviou){
echo "<div style=\"text-align:center; color:#00FF00; font-weight: bold;\">
<big><big><big><big><big><big>--[ OK! ]--</big></big></big></big></big></big></font>
<br><big><big>Sua menssagem foi enviada com sucesso.</big></big></br>
<br><big>Em até 24 horas a sua solicitação será atendida.</br></big></div>";
}
// Se a mensagem nao for enviada
else {
echo "<div style=\"text-align:center; color:#EE0000; font-weight: bold;\">
<big><big><big><big><big><big>--[ ERRO! ]--</big></big></big></big></big></big></font>
<br><big><big>Sua menssagem nao foi enviada.</big></big></br>
<br><big>Tente novamente mais tarde.</br></big></div>";
}
?>
* Lembrando que é necessário alterar a linha "$enviou", colocando o seu e-mail.
O próximo passo é entrar no diretório das páginas do Squid proxy e editar a página referente ao erro de "Acesso Negado". Como estou usando o
Squid 2.7, o diretório é o abaixo, porém, o seu poderá mudar:
# cd /usr/share/squid-lahgpack/pt-br/
# vim ERR_ACCESS_DENIED
Deixe-a assim:
<script type="text/javascript" language="JavaScript"> // <![CDATA[
function abrir(URL) {
var width = 510;
var height = 300;
var left = 99;
var top = 99;
window.open(URL,'janela', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');
}
// ]]></script>
</pre>
<style type="text/css">
<!--
#formulario table tbody tr td table tbody tr td .form_campos {
color: #808080;
}
-->
</style>
<h1><span style="color: red;"><strong>ACESSO PROIBIDO!</strong></span></h1>
<h2>Este site não pode ser acessado!</h2>
<hr noshade="noshade" size="1px" />
<pre>Na tentativa de acessar o site: <strong><a href="%U">%U</a></strong></pre>
O seguinte erro foi encontrado:
<ul>
<li><strong>
Proibido o Acesso.
</strong>
O Servidor Firewall impediu seu acesso, pois <strong><em>o conteúdo do link solicitado</em></strong> pode prejudicar o bom funcionamento da rede e internet ou <strong><em>o administrador do servidor</em></strong> pode não estar de acordo com o seu acesso.
Caso você não concorde com isso, por favor preencha o formulário abaixo para solicitar o desbloqueio do site.</li>
</ul>
<form id="formulario" action="http://ip-do-apache/action.php" method="post" name="formulario">
<table style="text-align: left; width: 50px; background-color: red; height: 50px; border:1px solid #EECFA1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="vertical-align: top;">
<table style="width: 700px; height: 168px; background-color: #FFF8DC;" border="0" cellspacing="6" cellpadding="1">
<tbody>
<tr style="font-family: Verdana; color:#333">
<td scope="col" colspan="2"><span class="style1" >Formulário de desbloqueio de sites:</span></td>
</tr>
<tr>
<td style="text-align: left; font-family: Verdana; color:#333;" scope="col">Nome:</td>
<td scope="col" ><input style="border:1px solid #00FFFF" name="nome" value="Digite seu nome." type="text" class="form_campos" onFocus="if(this.value=='Digite seu nome.'){this.value=''}" onBlur="if(this.value==''){this.value='Digite seu nome.'}" size="54"/></td>
</tr>
<tr>
<td style="text-align: left; font-family: Verdana; color:#333;" scope="col">Site:</td>
<td scope="col"><input style="border:1px solid #00FFFF" id="site" class="form_campos" type="text" name="site" value="%U" readonly="readonly" size="80" /></td>
</tr>
<tr>
<td style="text-align: left; font-family: Verdana; color:#333;" scope="col">Motivo:</td>
<td scope="col"><textarea style="border:1px solid #00FFFF" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" class="form_campos" name="motivo" rows="6" cols="99" >Informe aqui por qual motivo que deseja acessar esse site.</textarea>
</td>
</tr>
<tr>
<td style="text-align: center;" scope="col" colspan="2"><input class="form_botao" type="submit" name="Enviar" value="Enviar " />
<input class="form_botao" type="reset" name="Limpar" value="Limpar" /></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</form>
* Lembrando que é necessário alterar a linha: <form id="formulario" action=http://ip-do-apache/action.php, incluindo o IP do seu servidor Apache.
Depois disso, basta reiniciar o Apache:
# /etc/init.d/apache2 restart
E também recarregar as configurações do Squid:
# squid -k reconfigure
Agora, acesse algum site que seja negado pelo proxy e veja o resultado:
Depois de clicar no botão "Enviar", o usuário verá essa mensagem, se a sua mensagem foi enviada com sucesso:
Ou a mensagem abaixo, se a sua mensagem não foi enviada com sucesso:
Exemplo de e-mail recebido:
Fontes
Agradecimentos ao meu amigo
Marcelo Pessoa, que me deu algumas dicas na criação do arquivo PHP. E também ao usuário
kyetoy do VOL, que me ajudou com alguns contratempos no Apache.