Mudanças entre as edições de "Projeto Integrador - 2010.2 - Equipe Celtics"
Linha 409: | Linha 409: | ||
==Dia: 09/12/2010== | ==Dia: 09/12/2010== | ||
+ | |||
+ | ==Aplicação== | ||
+ | *Página de entrada do site, onde será feita autenticação do usuário ('''index.html'''): | ||
+ | <code> | ||
+ | <? | ||
+ | session_start(); | ||
+ | ?> | ||
+ | <html> | ||
+ | <meta http-equiv="Content-Type" content="text/html charset=utf-8"> | ||
+ | <style type="text/css"> | ||
+ | body { | ||
+ | background: url('fundo2.jpg') fixed no-repeat center; | ||
+ | background-color: #000000; | ||
+ | } | ||
+ | </style> | ||
+ | <center> | ||
+ | <h1><font face="courier new"<FONT COLOR="#FFFFFF">Autenticação de Usuários<FONT></h1> | ||
+ | </center> | ||
+ | <hr> | ||
+ | <FORM name="autenticacao" method="POST" action="autentica_bd.php"> | ||
+ | |||
+ | |||
+ | <center> | ||
+ | <br> | ||
+ | <p><FONT COLOR="#FFFFFF">Nome de usuário:</font> | ||
+ | <br><INPUT type="text" name="usuario"> | ||
+ | <br><FONT COLOR="#FFFFFF">Senha:</font> | ||
+ | <br><INPUT type="password" name="senha"> | ||
+ | <br><INPUT type="submit" name="botao" value="Enviar"> | ||
+ | </form> | ||
+ | </center> | ||
+ | </html> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | *Página de autenticação do admin, verifica o login ('''autentica_bd.php'''): | ||
+ | <code> | ||
+ | <html> | ||
+ | <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | ||
+ | |||
+ | <? | ||
+ | session_start(); | ||
+ | $nome = $_POST['usuario']; | ||
+ | $password = $_POST ['senha']; | ||
+ | $conexao = mysql_connect ("localhost", "root", "celta"); | ||
+ | $base_ok = mysql_select_db("celtics_users",$conexao); | ||
+ | $consultar = "select id from admin where login = '$nome' && senha = '$password'"; | ||
+ | $resultado = mysql_query ($consultar,$conexao); | ||
+ | $linhas = mysql_num_rows($resultado); | ||
+ | mysql_close($conexao); | ||
+ | |||
+ | If ($linhas == 1) | ||
+ | { | ||
+ | |||
+ | $_SESSION['usuario']=$nome; | ||
+ | echo "<script>window.location='principal.php';</script>"; | ||
+ | }else{ | ||
+ | echo "<script>window.location='erro.php';</script>"; | ||
+ | } | ||
+ | ?> | ||
+ | </html> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | *Pagina principal do site ('''vi principal.php'''): | ||
+ | |||
+ | <code> | ||
+ | <? | ||
+ | session_start(); | ||
+ | if (isset($_SESSION['usuario'])){ | ||
+ | ?> | ||
+ | |||
+ | <html> | ||
+ | <meta http-equiv="Content-Type" content="text/html charset=utf-8"> | ||
+ | <style type="text/css"> | ||
+ | body { | ||
+ | background: url('fundo.jpg') fixed no-repeat center; | ||
+ | background-color: #000000; | ||
+ | } | ||
+ | </style> | ||
+ | <center> | ||
+ | <h1><font face="courier new"<FONT COLOR="#FFFFFF">Centro Comercial Celtics</FONT></h1> | ||
+ | </center> | ||
+ | <hr> | ||
+ | <br> | ||
+ | <br> | ||
+ | <font size=5> | ||
+ | |||
+ | <a href="http://www.celtics.sj.ifsc.edu.br/listar.php"><FONT COLOR="#FFFFFF">Listar usuários cadastrados</a> | ||
+ | <br> | ||
+ | <br> | ||
+ | <a href="http://www.celtics.sj.ifsc.edu.br/cadastro.php"><FONT COLOR="#FFFFFF">Cadastrar novos usuários</a> | ||
+ | <br> | ||
+ | <br> | ||
+ | <a href="http://celtics.sj.ifsc.edu.br:8080/?action=stream"><FONT COLOR="#FFFFFF">Monitoramento</a> | ||
+ | <br> | ||
+ | <br> | ||
+ | <a href="http://www.celtics.sj.ifsc.edu.br/sair.php"><FONT COLOR="#FFFFFF"><button>Sair</button></a> | ||
+ | |||
+ | |||
+ | </html> | ||
+ | |||
+ | <? | ||
+ | }else{ | ||
+ | header("Location:index.php"); | ||
+ | } | ||
+ | ?> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | * Pagina de cadastro de usuários do site onde o admin fará o cadastro ('''cadastro.php'''): | ||
+ | <code> | ||
+ | <? | ||
+ | session_start(); | ||
+ | if(isset($_SESSION['usuario'])){ | ||
+ | ?> | ||
+ | |||
+ | <html> | ||
+ | <meta http-equiv="Content-Type" content="text/html charset=utf-8"> | ||
+ | <style type="text/css"> | ||
+ | body { | ||
+ | background: url('fundo.jpg') fixed no-repeat center; | ||
+ | background-color: #000000; | ||
+ | } | ||
+ | <hr> | ||
+ | </style> | ||
+ | <FONT COLOR="#FFFFFF"><font face="courier new"> | ||
+ | <h1><center>Centro Comercial Celtics</center></h1> | ||
+ | <hr> | ||
+ | <h2>Cadastro de usuários:</h2> | ||
+ | <table align=center> | ||
+ | <tr> | ||
+ | <form name="formTeste" action="add.php" method="post"> | ||
+ | |||
+ | <br> | ||
+ | <br> | ||
+ | <table> | ||
+ | <tr><td> | ||
+ | <p><FONT COLOR="#FFFFFF"> Nome: <br> | ||
+ | <input type:"text" name="Xnome"> | ||
+ | <p><FONT COLOR="#FFFFFF"> Login: <br> | ||
+ | <input type:"text" name="Xlogin"> | ||
+ | <p><FONT COLOR="#FFFFFF"> Senha: <br> | ||
+ | <input type="password" name="Xsenha"><br> | ||
+ | <br> | ||
+ | <input type="submit" name="b_enviar" value="Gravar"><BR> | ||
+ | </td><td> | ||
+ | </table> | ||
+ | <br> | ||
+ | |||
+ | <br> | ||
+ | <a href="http://www.celtics.sj.ifsc.edu.br/principal.php"><FONT COLOR="#FFFFFF">Voltar</a> | ||
+ | </body> | ||
+ | </html> | ||
+ | |||
+ | <? | ||
+ | }else{ | ||
+ | header("Location: index.php"); | ||
+ | } | ||
+ | ?> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | *Depois de informados os dados do usuário o admin é redirecionado para outra pagina onde será feita a conexão com o banco de dados mysql para inserir os dados nas tabelas. Segue o código ('''add.php'''): | ||
+ | |||
+ | <code> | ||
+ | <? | ||
+ | session_start(); | ||
+ | if(isset($_SESSION['usuario'])){ | ||
+ | ?> | ||
+ | |||
+ | <html> | ||
+ | <meta http-equiv="Content-Type" content="text/html charset=utf-8"> | ||
+ | <style type="text/css"> | ||
+ | body { | ||
+ | background: url('fundo.jpg') fixed no-repeat center; | ||
+ | background-color: #000000; | ||
+ | color:#FFFFFF; | ||
+ | } | ||
+ | a:link { | ||
+ | color:#FFFFFF; | ||
+ | text-decoration:none; | ||
+ | } | ||
+ | a:visited { | ||
+ | color:#FFFFFF; | ||
+ | text-decoration:none; | ||
+ | } | ||
+ | a:hover { | ||
+ | color:#FFFFFF; | ||
+ | text-decoration:underline; | ||
+ | } | ||
+ | a:active { | ||
+ | color:#FFFFFF; | ||
+ | text-decoration:underline; | ||
+ | background-color:#000000; | ||
+ | } | ||
+ | </style> | ||
+ | <center> | ||
+ | <h1><font face="courier new"<FONT COLOR="#FFFFFF">Centro Comercial Celtics</FONT></h1> | ||
+ | </center> | ||
+ | <hr> | ||
+ | <br> | ||
+ | <? | ||
+ | |||
+ | $ID=$_POST['Xid'] ; | ||
+ | $NOME=$_POST['Xnome'] ; | ||
+ | $LOGIN=$_POST['Xlogin'] ; | ||
+ | $SENHA=$_POST['Xsenha'] ; | ||
+ | |||
+ | if (!empty ($NOME) && !empty ($LOGIN) && !empty ($SENHA)) | ||
+ | { | ||
+ | $conexao = mysql_connect("localhost","root","celta") ; | ||
+ | $base_ok = mysql_select_db("celtics_users",$conexao) or die ("erro 1"); | ||
+ | $inserir = "INSERT INTO user (NOME, LOGIN, SENHA) VALUES ('$NOME', '$LOGIN', '$SENHA')"; | ||
+ | $cadastrar = mysql_query($inserir,$conexao) or die("erro 2"); | ||
+ | mysql_close($conexao) or die("Erro fechar conexao"); | ||
+ | if($cadastrar==true) | ||
+ | { | ||
+ | echo "<h2>Usuário cadastrado com sucesso <br></h2>"; | ||
+ | echo "<a href='http://www.celtics.sj.ifsc.edu.br/listar>Lista de usuários</a>"; | ||
+ | }else | ||
+ | { | ||
+ | echo "Erro ao cadastrar usuário"; | ||
+ | echo "<a href='http://www.celtics.sj.ifsc.edu.br/listar.php>Lista de usuários</a>"; | ||
+ | } | ||
+ | }else | ||
+ | { | ||
+ | echo "<h2>Erro, favor preencher todos os campos. <br></h2>"; | ||
+ | echo "<a href='http://www.celtics.sj.ifsc.edu.br/cadastro.php'>Cadastrar novo usuário</a>"; | ||
+ | } | ||
+ | ?> | ||
+ | </body> | ||
+ | </html> | ||
+ | |||
+ | <? | ||
+ | }else | ||
+ | { | ||
+ | header("Location: index.php"); | ||
+ | } | ||
+ | ?> | ||
+ | </syntaxhighlight> | ||
+ | |||
==Dia: 10/12/2010== | ==Dia: 10/12/2010== | ||
==Dia: 13/12/2010== | ==Dia: 13/12/2010== |
Edição das 18h03min de 15 de dezembro de 2010
Celtics
Projeto Integrador - Celtics
Dia: 23/11/2010
- Apresentação do projeto pelo professor Ederson Torresini.
- Verificado alguns dos serviços finais que a solução deve prover a usuário.
- ADSL para usuários.
- DSLAM 8 portas por equipe.(DHCP,DNS.)
- Vigilância IP (ferramenta de streaming, sistema de controle de autenticação.)
- Segurança nos dados:(BACKUP, Filtro de Conteúdo/pacotes.)
- Redes separadas(VLAN).Um por administrador e um por cada cliente.)
- Escolhido o nome da equipe Celtics.
Dia: 24/11/2010
Cabeamento
- Passado os cabos do Patch Panel do Armário Principal para o Armário Celtics.
- Feitos os pontos (um no chão, na parede e aéreo) de acesso (Tomadas).
- Padrão 568B.
Gerência de Rede
- Instalação do Sistema Operacional Ubuntu Server.
- 80GB de HD.
- 01GB de Memória RAM.
- Configurações de particionamento de Disco
- 40GB para partição / (raiz)
- 20GB para partição /var
- 15GB para partição /home
- 01GB para swap.
Dia: 25/11/2010
- Recebemos o equipamento DSLAM que ficou disponível para estudo.
- Realizado a certificação dos cabos.
- Teste de continuidade.
- Instalado SSH: Acesso remoto.
root@techspot:~# aptitude install ssh-server.
</syntaxhighlight>
Dia: 26/11/2010
- Não teve aula...
Dia: 29/11/2010
Cabeamento
- Realizado os testes de continuidade no cabeamento estruturado, feitas as terminações nos pontos exigidos (aéreo, piso e parede) e no Patch panel, efetuado também terminações no rack principal.
- Finalizado cabeamento estruturado.
Gerência de rede
- Não realizamos nenhuma atividade, pois o laboratório apresentou problemas, não foi possível configurar o servidor estávamos sem rede.
Dia: 30/11/2010
Gerência de rede
- Rede Celtics:
Rede externa:
IP: 200.135.37.102 Mascara: 255.255.255.192 Broadcast: 200.135.37.127
Rede: 1°IP valido: Ultimo IP valido:
Gateway: 200.135.37.126
</syntaxhighlight>
Rede interna:
IP: Mascara: Broadcast:
Rede: 1°IP valido: Ultimo IP valido:
Gateway:
</syntaxhighlight>
Rede Wireless(Acces Point):
IP: Mascara: Broadcast:
Rede: 1°IP valido: Ultimo IP valido:
Gateway:
</syntaxhighlight>
- configuração de rede:
Arquivo /etc/network/interfaces: Configuração das interfaces de rede.
- This file describes the network interfaces available on your system
- and how to activate them. For more information, see interfaces(5).
- The loopback network interface
- Rede externa:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 200.135.37.102
netmask 255.255.255.192
gateway 200.135.37.126
</syntaxhighlight>
DNS
- DNS (Domain Name System - Sistema de Nomes de Domínios) é um sistema de gerenciamento de nomes hierárquico e distribuído que permite a "tradução" de nomes de "maquinas" em endereços IP.
Portas utilizadas: 53 UDP/TCP
Instalação e configuração de servidor DNS(BIND9[1])
- Instalar
- aptitude update; aptitude install bind9
</syntaxhighlight>
Arquivo /etc/bind/named.conf.options:
options {
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
listen-on { any; };
allow-recursion {127.0.0.0/8; 192.168.1.19; };
allow-query { any; };
};
</syntaxhighlight>
Arquivo /etc/bind/named.conf.local:
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "celtics.sj.ifsc.edu.br" {
type master;
file "/etc/bind/celtics.sj.ifsc.edu.br";
};
zone "/etc/bind/200.in-addr.arpa" {
type master;
file "/etc/bind/200/etc/bind/200.in-addr.arpa";
};
</syntaxhighlight>
Arquivo/etc/bind/celtics.sj.ifsc.edu.br: Configurações do domínio.
$TTL 86400
@ IN SOA dns.celtics.sj.ifsc.edu.br. rafael.celtics.sj.ifsc.edu.br. (
2010113000 ; serial
1d ; refresh
1h ; retry
1w ; expire
1d ; negative cache ttl
)
@ IN NS dns
@ IN A 200.135.37.102
dns IN A 200.135.37.102
ns1 IN A 200.135.37.102
mail IN A 200.135.37.102
www IN A 200.135.37.102
smtp IN CNAME mail.celtics.sj.ifsc.edu.br.
pop IN CNAME mail.celtics.sj.ifsc.edu.br.
imap IN CNAME mail.celtics.sj.ifsc.edu.br.
ss1 IN CNAME www.celtics.sj.ifsc.edu.br.
</syntaxhighlight>
Arquivo/etc/bind/db100.64-127.37.135.200.in-addr.arpa: Configurações do DNS.
$TTL 86400
@ IN SOA dns.celtics.sj.ifsc.edu.br. rafael.celtics.sj.ifsc.edu.br. (
2010113000 ; serial
1d ; refresh
1h ; retry
1w ; expire
1d ; negative cache ttl
)
@ IN NS dns.celtics.sj.ifsc.edu.br.
102 IN PTR dns.celtics.sj.ifsc.edu.br.
</syntaxhighlight>
NTP
- NTP(Protocolo de Tempo para Redes). Protocolo que permite a sincronização dos relógios dos dispositivos de uma rede como servidores, estações de trabalho, roteadores e outros equipamentos à partir de referências de tempo confiável. Portas 123UDP/TCP.
- Instalando:
- aptitude update; aptitude install ntp
</syntaxhighlight>
Arquivo /etc/ntp.conf: Arquivo de configuração:
</syntaxhighlight>
Dia: 01/12/2010
- Configurado DHCP:
DHCP é um protocolo para configuração dinâmica de parâmetros de rede como endereço IP, DNS, Gateway etc. Porta 67/UDP.
Instalando:
- aptitude update; aptitude install dhcp3-server
</syntaxhighlight>
Arquivo:/etc/dhcp3/dhcpd.conf configurações do servidor dhcp.
- 2010120102 Termino da configuração
- Realizado por: Gabriel , Lucas , Cleidiane
- Aceitar atualização dinâmica vinda dos clientes?? Não.
ddns-update-style none;
- Criar subnet
subnet 192.168.20.0 netmask 255.255.255.0 {
#IP
range 192.168.1.1 192.168.1.100;
#Máscara
#option subnet-mask 255.255.255.0;
#Broadcast
#option broadcast-address 192.168.1.255;
#Rota padrão
option routers 192.168.1.19;
#Servidor DNS
option domain-name-servers 200.135.37.102;
option domain-name "celtics.sj.ifsc.edu.br";
#Tempo de empréstimo
default-lease-time 3600;
masc-lease-time 14400;
}
</syntaxhighlight>
- SNMP - É um protocolo de gerência típica de redes UDP, da camada de aplicação, que facilita o intercâmbio de informação entre os dispositivos de rede, como placas e comutadores. O SNMP possibilita aos administradores de rede gerenciar o desempenho da rede, encontrar e resolver seus eventuais problemas, e fornecer informações para o planejamento de sua expansão, dentre outras.
Instalando:
- aptitude update; aptitude install snmpd
</syntaxhighlight>
• O arquivo/etc/snmp/snmpd.conf foi zerado e reconfigurado de acordo com a comunidade de gerência.
rocommunity celtics
syslocation celtics-TI
syscontact root@celtics.sj.ifsc.edu.br
sysservices 72# example here.
</syntaxhighlight>
Dia: 02/12/2010
Cacti é uma ferramenta que recolhe e exibe informações sobre o estado de uma rede de computadores através de gráficos. Foi desenvolvido para ser flexível de modo a se adaptar facilmente a diversas necessidades, bem como ser robusto e fácil de usar. Monitora o estado de elementos de rede e programas bem como largura de banda utilizada e uso de CPU.
Pode-se utilizar também o protocolo SNMP para consultar informações em elementos de redes e/ou programas que suportam tal protocolo.
- Instalação do Cacti
apt-get install cacti
• Após instalar a configuração foi feita através da interface web no endereço http://www.celtics.sj.ifsc.edu.br/cacti/
• Para confirmar que existe comunicação entre agente e gerente, pode se testar a partir do seguinte comando:
snmpwalk -v2c -cplugincafe 200.135.37.102
- MySQL - O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface.
Instalação dos serviços PHP, PHPmyadmin, Mysql
apt-get install php5 mysql-server phpmyadmin
- NAT - NAT também conhecido como masquerading é um protocolo que, como o próprio nome diz, faz a tradução dos endereços Ip e portas TCP da rede local para a Internet. Ou seja, o pacote enviado ou a ser recebido de sua estação de trabalho na sua rede local, vai até o servidor onde é trocado pelo ip do mesmo substituindo o ip da rede local validando assim o envio do pacote na internet, no retorno do pacote a mesma coisa, o pacote chega e o ip do servidor é trocado pelo Ip da estação que fez a requisição do pacote.
- Cofiguração do NAT: Criar um arquivo com o nome "nat" na pasta "init.d"
• Arquivo/etc/init.d/nat:
- !/bin/bash
- "Limpeza" das regras antigas
iptables -t nat -F
- Criação de uma regra generica para NAT, considerando a interface eth1 como externa
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
</syntaxhighlight>
• Mudança das permissões do arquivo "nat":
chmod 700 /etc/init.d/nat
</syntaxhighlight>
- Ativando o roteamento para o NAT:
• Abrir o arquivo/etc/sysctl.conf: Ir até as linhas entre 25 e 30 do arquivo "sysctl.conf" e descomentar (apagar a #) na linha que tem o comando "#net.ipv4.ip_forward=1"
net.ipv4.ip_forward=1
Dia: 03/12/2010
- Feito o cabo de ligação do patch panel com o dslan. (cabo manga).
Dia: 06/12/2010
- Colocado o Cacti no ar.
- Gráficos sobre o servidor funcionando.
Dia: 07/12/2010
DansGuardian
O DansGuardian é um filtro de conteúdo destinado a trabalhar junto com o Squid, filtrando páginas pornográficas e com outros tipos de conteúdo indesejado. Ele inclui um conjunto de regras prontas, que contém palavras, frases e tipos de arquivos freqüentemente usados neste tipo de página e endereços de páginas conhecidas. Cruzando estas informações, ele consegue fazer um excelente trabalho, realmente bloqueando quase todas as páginas indesejadas, em várias línguas, com relativamente poucos falsos-positivos.
- Instalando o DansGuardian:
aptitude install dansguardian
Arquivo: /etc/dansguardian/dansguardian.conf:
- Comentar a linha abaixo.
- UNCONFIGURED
</syntaxhighlight>
- alterar as mensagens para português:
language = 'ptbrazilian'
</syntaxhighlight>
Proxy
O serviço de proxy consiste em manter, em uma área de acesso rápido, informações já acessadas por outro usuário, evitando assim a retransmissão destas informações e deixando-as disponíveis ao usuário num tempo bem menor.
- Instalação do proxy Squid versão 3
aptitude install squid3</syntaxhighlight>
Arquivo /etc/squid3/squid.conf:
Adicionar ao final da linha:
http_port 3128 transparent
Firewall
O firewall é usado na filtragem de pacotes, por meio de um conjunto de regras estabelecidas. Essas regras determina que endereços IPs e dados podem estabelecer comunicação e/ou transmitir/receber dados. Para utilizarmos o firewall, temos que instala-lo através do comando:
aptitude install iptables</syntaxhighlight>
- Ativando o roteamento através do comando:
sed -i 's/.*net.ipv4.ip_forward.*/net.ipv4.ip_forward=1/g' /etc/sysctl.conf</syntaxhighlight>
- Em seguida fizemos algumas alterações no script do arquivo NAT para redirecionamento das requisições HTTP. Seguindo o caminho /etc/init.d/nat.
- !/bin/bash
- Interfaces
IFACE_INTERNA="eth0"
IFACE_EXTERNA="eth1"
- NAT
iptables -t nat -A POSTROUTING -o ${IFACE_EXTERNA} -j MASQUERADE
- Redirecionamento para o Analisador de Conteúdo
iptables -t nat -A PREROUTING -i ${IFACE_INTERNA} -p tcp --dport 80 \
-j REDIRECT --to-port 8080
- Bloqueio para acesso direto ao Proxy
iptables -A INPUT -m tcp -p tcp ! -s 127.0.0.1 --dport 3128 -j DROP
exit 0
</syntaxhighlight>
- Por último temos que fazer com que o script inicie em primeiro lugar(01) nos niveis de execução de 2 a 5 (2 3 4 5). Assim o script irá iniciar junto com o sistema. Segue o comando abaixo:
update-rc.d nat start 01 2 3 4 5 .</syntaxhighlight>
Dia: 08/12/2010
RADIUS
- Instalando o radius:
- Pesquisado o Zoneminder Software de gerenciamento de câmeras via rede.
Dia: 09/12/2010
Aplicação
- Página de entrada do site, onde será feita autenticação do usuário (index.html):
<?
session_start();
?>
<html>
<meta http-equiv="Content-Type" content="text/html charset=utf-8">
<style type="text/css">
body {
background: url('fundo2.jpg') fixed no-repeat center;
background-color: #000000;
}
</style>
<font face="courier new"Autenticação de Usuários
<FORM name="autenticacao" method="POST" action="autentica_bd.php">
Nome de usuário:
<INPUT type="text" name="usuario">
Senha:
<INPUT type="password" name="senha">
<INPUT type="submit" name="botao" value="Enviar">
</form>
</html>
</syntaxhighlight>
- Página de autenticação do admin, verifica o login (autentica_bd.php):
<html>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<?
session_start();
$nome = $_POST['usuario'];
$password = $_POST ['senha'];
$conexao = mysql_connect ("localhost", "root", "celta");
$base_ok = mysql_select_db("celtics_users",$conexao);
$consultar = "select id from admin where login = '$nome' && senha = '$password'";
$resultado = mysql_query ($consultar,$conexao);
$linhas = mysql_num_rows($resultado);
mysql_close($conexao);
If ($linhas == 1)
{
$_SESSION['usuario']=$nome;
echo "<script>window.location='principal.php';</script>";
}else{
echo "<script>window.location='erro.php';</script>";
}
?>
</html>
</syntaxhighlight>
- Pagina principal do site (vi principal.php):
<?
session_start();
if (isset($_SESSION['usuario'])){
?>
<html>
<meta http-equiv="Content-Type" content="text/html charset=utf-8">
<style type="text/css">
body {
background: url('fundo.jpg') fixed no-repeat center;
background-color: #000000;
}
</style>
<font face="courier new"Centro Comercial Celtics
<a href="http://www.celtics.sj.ifsc.edu.br/listar.php">Listar usuários cadastrados</a>
<a href="http://www.celtics.sj.ifsc.edu.br/cadastro.php">Cadastrar novos usuários</a>
<a href="http://celtics.sj.ifsc.edu.br:8080/?action=stream">Monitoramento</a>
<a href="http://www.celtics.sj.ifsc.edu.br/sair.php"><button>Sair</button></a>
</html>
<?
}else{
header("Location:index.php");
}
?>
</syntaxhighlight>
- Pagina de cadastro de usuários do site onde o admin fará o cadastro (cadastro.php):
<?
session_start();
if(isset($_SESSION['usuario'])){
?>
<html>
<meta http-equiv="Content-Type" content="text/html charset=utf-8">
<style type="text/css">
body {
background: url('fundo.jpg') fixed no-repeat center;
background-color: #000000;
}
</style>
Centro Comercial Celtics
Cadastro de usuários:
<form name="formTeste" action="add.php" method="post">
Nome:
<input type:"text" name="Xnome">
Login:
<input type:"text" name="Xlogin">
Senha:
<input type="password" name="Xsenha">
<input type="submit" name="b_enviar" value="Gravar">
<a href="http://www.celtics.sj.ifsc.edu.br/principal.php">Voltar</a>
</body>
</html>
<?
}else{
header("Location: index.php");
}
?>
</syntaxhighlight>
- Depois de informados os dados do usuário o admin é redirecionado para outra pagina onde será feita a conexão com o banco de dados mysql para inserir os dados nas tabelas. Segue o código (add.php):
<?
session_start();
if(isset($_SESSION['usuario'])){
?>
<html>
<meta http-equiv="Content-Type" content="text/html charset=utf-8">
<style type="text/css">
body {
background: url('fundo.jpg') fixed no-repeat center;
background-color: #000000;
color:#FFFFFF;
}
a:link {
color:#FFFFFF;
text-decoration:none;
}
a:visited {
color:#FFFFFF;
text-decoration:none;
}
a:hover {
color:#FFFFFF;
text-decoration:underline;
}
a:active {
color:#FFFFFF;
text-decoration:underline;
background-color:#000000;
}
</style>
<font face="courier new"Centro Comercial Celtics
<?
$ID=$_POST['Xid'] ;
$NOME=$_POST['Xnome'] ;
$LOGIN=$_POST['Xlogin'] ;
$SENHA=$_POST['Xsenha'] ;
if (!empty ($NOME) && !empty ($LOGIN) && !empty ($SENHA))
{
$conexao = mysql_connect("localhost","root","celta") ;
$base_ok = mysql_select_db("celtics_users",$conexao) or die ("erro 1");
$inserir = "INSERT INTO user (NOME, LOGIN, SENHA) VALUES ('$NOME', '$LOGIN', '$SENHA')";
$cadastrar = mysql_query($inserir,$conexao) or die("erro 2");
mysql_close($conexao) or die("Erro fechar conexao");
if($cadastrar==true)
{
echo "
Usuário cadastrado com sucesso
";
echo "<a href='http://www.celtics.sj.ifsc.edu.br/listar>Lista de usuários</a>";
}else
{
echo "Erro ao cadastrar usuário";
echo "<a href='http://www.celtics.sj.ifsc.edu.br/listar.php>Lista de usuários</a>";
}
}else
{
echo "
Erro, favor preencher todos os campos.
";
echo "<a href='http://www.celtics.sj.ifsc.edu.br/cadastro.php'>Cadastrar novo usuário</a>";
}
?>
</body>
</html>
<?
}else
{
header("Location: index.php");
}
?>
</syntaxhighlight>
Dia: 10/12/2010
Dia: 13/12/2010
Dia: 14/12/2010
Dia: 15/12/2010
Dia: 16/12/2010