BEM VINDO AO BLOG DO MARCOS CARRARO CRIADOR DO "CARRARO DASHBOARD". MUITO MAIS QUE UM SIMPLES BLOG.

sexta-feira, 16 de março de 2012

Uma pagina de erro personalizada para o Proxy - inserindo dados no mysql automaticame

OBS:. Codigo atualizado e problema corrigido.

Salve salve galera, sim o titulo é grande para isso mesmo. HEHEHEHE

Hoje tive a ilustre ideia de desenvolver uma pagina totalmente diferente, com os meus dotes em programação que são iguais a de culinária HAHHAHAH, fiz uma pagina em php que tem a seguinte função.

- Pegar ip do usuário;
- Pegar url do site;
- Mostrar dia hora do acesso;
- Gravar automaticamente essa entrada no mysql para ter um relatório de sites acessados bloqueados.

Não sei se conseguiram entender, mas a ideia ficou muito massa. A pagina é uma copia do layout do avast 7, sim do avast, já falei programei essa pagina como faço comida!!!!

----------------------------///
NA PAGINA DE ERRRO DO SQUID
ERR_ACCESS_DENIED
---------------------------///



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ERRO: A URL requisitada não pôde ser recuperada</title>
</head>
<body>

<form name="bloquear" action="http://proxy_erro_page.php" method="post">
<input type="hidden" name="url" value="%U">

<input name="grava" type="submit" value="grava">
</form>

<script language="javascript">
document.bloquear.submit();
</script>

</body>
</html>




--------------------------///
Codigo da pagnia php
---------------------------///

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<STYLE>BODY {
PADDING-BOTTOM: 30px; PADDING-LEFT: 30px; PADDING-RIGHT: 30px; PADDING-TOP: 30px
}
H1 {
MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Segoe UI", Calibri, Arial, Verdana; COLOR: #808080; FONT-SIZE: 8pt; FONT-WEIGHT: normal
}
H2 {
TEXT-TRANSFORM: uppercase; MARGIN: 0cm 0cm 5pt; FONT-FAMILY: "Segoe UI", Calibri, Arial, Verdana; COLOR: #ffa500; FONT-SIZE: 19pt; FONT-WEIGHT: normal
}
H3 {
PADDING-BOTTOM: 5.4pt; TEXT-TRANSFORM: uppercase; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Segoe UI", Calibri, Arial, Verdana; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 30pt
}
A:link {
COLOR: #ffa500; TEXT-DECORATION: underline; text-underline: single
}
A:visited {
COLOR: purple; TEXT-DECORATION: underline; text-underline: single
}
.text {
MARGIN: 0px 0px 1pt; FONT-FAMILY: "Segoe UI", Calibri, Arial, Verdana; FONT-SIZE: 8pt; PADDING-TOP: 10pt
}
.footer {
MARGIN-TOP: 60pt; FONT-FAMILY: "Segoe UI", Calibri, Arial, Verdana; COLOR: gray; FONT-SIZE: 8pt
}
TD {
PADDING-BOTTOM: 0cm; LINE-HEIGHT: 14pt; PADDING-LEFT: 5.4pt; PADDING-RIGHT: 5.4pt; FONT-SIZE: 8pt; PADDING-TOP: 0cm
}
TD.header {
WIDTH: 75pt; FONT-FAMILY: "Segoe UI", Calibri, Arial, Verdana; FONT-WEIGHT: bold
}
TD.value {
FONT-FAMILY: "Segoe UI", Calibri, Arial, Verdana; FONT-WEIGHT: normal
}
</STYLE>

<META name=GENERATOR content="MSHTML 9.00.8112.16421"></HEAD>
<BODY>
<TABLE>
  <TBODY>
  <TR>
    <TD><IMG src="gfx/erro_proxy.png"> </TD>
    <TD>
      <H1>Alerta de proteção!</H1>
      <H2>Site bloqueado</H2></TD></TR>
  <TR>
    <TD>
    <TD>
      <P class=text>O site a seguir foi bloqueado devido a politica da empresa.</P>
      <H3>Detalhes</H3>
      <TABLE>
        <TBODY>
        <TR>
          <TD class=header>URL:</TD>
          <TD class=value><?php
$urlatual=$_POST['url'];
echo $urlatual;

?></TD></TR>

        <TR>
          <TD class=header>Acessado em:</TD>
          <TD class=value><?php date_default_timezone_set('America/Sao_Paulo'); echo date('d/m/Y - h:i'); ?></TD></TR></TBODY></TABLE>
      <P class=footer>Se você não concorda com esse bloqueio entre em contado com o suporte: suporte@escolainfoserv.com.br.</P></TD></TR></TBODY></TABLE></BODY></HTML>


<?php
include ('inc/conf.inc.php');
//Fazendo a conexão com o servidor MySQL para pegar resultado
$conexao = mysql_connect($servidor,$usuario,$senha) or die($msg[0]);
mysql_select_db($banco,$conexao) or die($msg[1]);

$ip_cliente=$_SERVER["REMOTE_ADDR"];
$dia_hora=date('d/m/Y - h:i');

// Inserindo a url no banco
$string_sql = "INSERT INTO  proxy_bloqueados (`id` ,`url` ,`ip` ,`hora`)VALUES ('null',  '$urlatual',  '$ip_cliente',  '$dia_hora')";
    mysql_query($string_sql,$conexao);
    if(mysql_affected_rows() == 1){
    } else {
        echo "Erro, não possível inserir no banco de dados";
}

?>

<?php
/*
/usr/share/squid/errors/pt-br/ERR_ACCESS_DENIED

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ERRO: A URL requisitada não pôde ser recuperada</title>
</head>
<body>

<iframe  scrolling="no" frameborder="0" width=800px  height=800px src="http://172.16.1.252/infoweb/projetos/desenvolvimento/A/magneto_admin/proxy_erro_page.php?url=%U"></iframe>


</body>
</html>
*/
?>


-----------------------//
Estrutura mysql
------------------------//


-- phpMyAdmin SQL Dump
-- version 3.4.6
-- http://www.phpmyadmin.net
--
-- Servidor: 172.16.1.251:3306
-- Tempo de Geração: 15/03/2012 às 04h02min
-- Versão do Servidor: 5.5.18
-- Versão do PHP: 5.3.8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Banco de Dados: `painel`
--

-- --------------------------------------------------------

--
-- Estrutura da tabela `proxy_bloqueados`
--

CREATE TABLE IF NOT EXISTS `proxy_bloqueados` (
  `id` int(11) NOT NULL,
  `url` text NOT NULL,
  `ip` text NOT NULL,
  `hora` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Extraindo dados da tabela `proxy_bloqueados`
--

INSERT INTO `proxy_bloqueados` (`id`, `url`, `ip`, `hora`) VALUES
(0, 'http://terra.com.br', '172.16.1.1', '15/03/2012 - 03:14'),
(0, 'http://172.16.1.252/......................................../proxy_erro_page.php', '172.16.1.209', '15/03/2012 - 03:55'),
(0, 'http://172.16.1.252//........................................//proxy_erro_page.php', '172.16.1.209', '15/03/2012 - 03:56'),
(0, 'http://172.16.1.252//........................................//proxy_erro_page.php', '172.16.1.102', '15/03/2012 - 03:57');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

===========================================//
===========================================//
Depois disso é so largar no squid como pagina de erro padrão.

deny_info http://IPDOSERVIDOR/proxy_error_page.php MINHAS ACL

--------------------------------------------------------------------------------------------------------------------------------

Se alguém tiver mais dicas, ou ideais mirabolantes estou aberto a novos projetos.
abraços
Marcos Carraro





Nenhum comentário:

Postar um comentário

Posts que a turma mais esta lendo...

Posts que a turma mais esta lendo...

Marcos Carraro