Protocolos de Segurança

Nome do Arquivo Descrição
Encript Javascript Código Html que encripta o código fonte Javascript
Encript PHP Programa que encripta o código PHP

 

Como é que posso usar https no meu site.

https é um suporte ssl, que vai criptografar suas informações passadas em https. Geralmente são pagos.
Primeiro você tem que ver se seu servidor de hospedagem tem HTTPS.
Conversa com os cara do suporte técnico, eles falarão se tem ou não.
Então, coloque seu sistema dentro da pasta do https. Na Localweb é httpsdoc.

Criptografia no PHP usando md5, sha1 e base64

Hoje vou falar sobre três tipos de codificação/criptografia muito usados no PHP.

Dois deles são criptografias de “mão unica” ou one-way. Com esse tipo de criptografia você apenas codifica o texto.. Não tem como, baseado no texto já codificado, descobrir o texto original. O outro é mão dupla, o que possibilita a criação de duas funções: uma para codificar e outra para descodificar o texto.

MD5

A primeira que vou falar é sem dúvida a mais comum, chama md5 que é um algoritmo de um hash de 128 bits. Não vou tentar explicar o que é hash nem algoritmo agora… Só vou explicar como você pode usar o md5 na sua aplicação.

O md5 gera uma string alfa-numérica de 32 caracteres, não importa se você tá gerando o md5 de duas letras ou de um texto de 20 parágrafos… O md5 gerado sempre vai ter 32 caracteres.

Você pode usar o md5 na hora de salvar um dado sigiloso (senhas) o banco… Com isso, ninguém tem acesso à senha original do cliente. Depois é só comparar o md5 do que foi digitado no campo senha (na hora do login) com o que está armazenado no banco, se bater, tá tudo certo.

Infelizmente o md5 tem um “problema”… Você pode, com muita dificuldade (preste atenção: muita dificuldade), gerar dois md5 iguais. Duas strings diferentes que acabem como um mesmo md5. Isso é raríssimo, mas pode acontecer.

Pra usar o md5 no PHP é só usar da seguinte forma:

  $string = 'O rato reu a ropa do rei de Roma';
$codificada = md5($string);
echo "Resultado da codificação usando md5: " . $codificada;
// 54cf74d1acdb4037ab956c269b63c8ac

SHA1

A outra criptografia de mão única é o sha1. Ele é praticamente identico ao md5, só que tem 160 bits, o que acaba criando uma string-resultado maior: 40 caracteres alfa-numéricos. Outro ponto do sha1 é que, por ser 160 bits e gerar uma cadeia de caracteres maior, uma colisão (encontrar duas strings que, criptografadas, sejam a mesma coisa) é bem mais rara que numa chave de 128bits.

Usar o sha1 no PHP é exatamente a mesma coisa que o md5, só que mudando o nome da função:

  $string = 'O rato reu a ropa do rei de Roma';
$codificada = sha1($string);
echo "Resultado da codificação usando sha1: " . $codificada;
// b186b709f7cf5a1d98d413379a66e511df8d59a4

BASE64

Essa criptografica eu gosto muito… Se chama base64 e é um método para codificação dos dados para transferência na Internet. Ela é uma codificação de mão dupla, e usando uma segunda função você pode descobrir a string original de uma string codificada.

Para usar ela no PHP você tem as duas formas:

  $string = 'O rato reu a ropa do rei de Roma';
$codificada = base64_encode($string);
echo "Resultado da codificação usando base64: " . $codificada;
// TyByYXRvIHJldSBhIHJvcGEgZG8gcmVpIGRlIFJvbWE=
echo "<br /><br />";
$original = base64_decode($codificada);
echo "Resultado da decodificação usando base64: " . $original;
// O rato reu a ropa do rei de Roma
// Note que $original vai ser idêntica a $string

Viram como é simples? Com esses recursos é possível deixar a aplicação bem mais segura e, por que não, organizada.

Verificação de segurança

 

Anti-Spam -> E-Mail

 

 

Postar até 10 mensagens por dia

 

Altenticação de Acesso [Login e Senha]

 

Crie sua própria Chave Criptográfica

Protegendo o seu código

Proteja o seu código do botão direito do mouse, da tecla control+C e control+V ou qualquer tecla do seu teclado:

Código fonte
<script type="text/javascript"><!--
function tecla() { } function clique(e) { if (navigator.appName == 'Netscape' && e.which != 1) { return false; } else if (navigator.appName == 'Microsoft Internet Explorer' && event.button !=1) { return false; } return true; } document.onmousedown = clique; document.onkeydown=tecla; function click() { if (event.button==2||event.button==3) { oncontextmenu='return false'; } } document.onmousedown=click; document.oncontextmenu = new Function("return false;"); function disableselect(e ){ return false; } function reEnable(){ return true; } document.onselectstart=new Function ("return false"); if (window.sidebar){ document.onmousedown=disableselect; document.onclick=reEnable; } var hellotext=" Código Protegido "; var thetext=""; var started=false; var step=0; var times=1; function welcometext() { times--; if (times==0) { if (started==false) { started = true; window.status = hellotext; setTimeout("anim()",1); } thetext = hellotext; } } function showstatustext(txt) { thetext = txt; setTimeout("welcometext()",3900); times++; } function anim() { step++; if (step==1) {window.status=thetext} if (step==2) {window.status=thetext} if (step==3) {step=1} setTimeout("anim()",70); } welcometext();
// --></SCRIPT>

Protegendo sua imagem

Proteja sua foto usando CSS (Obs: não protege contra o Print Screen):

<div style="width:100px;height:100px; background-image:url(imagem1.jpg)"></div>

Encriptando o código HTML com Javascript

Crie seu código de Criptografia.

Arquivo: Encriptar.html
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Encriptar</title>
<script  type="text/javascript">
<!--
function Criptografar(Texto){
   var s = "";
   for(var x=0; x < Texto.length; x++){
      s += String.fromCharCode(Texto.charCodeAt(x)+10);
   }
   return s;
}
function Descriptografar(Texto){
   var s = "";
   for(var x=0; x < Texto.length; x++){
      s += String.fromCharCode(Texto.charCodeAt(x)-10);
   }
   return s;
}
//-->
</script>
</head>
<body>
<script language="javascript">
   document.write("<p>Texto: Ola tudo bem!</p>");
      var criptografar = Criptografar("Ola tudo bem!");
   document.write("<p>Criptografar: "+criptografar+"</p>");
      var descriptografar = Descriptografar(criptografar);
   document.write("<p>Desriptografar: "+descriptografar+"</p>");
</script>
</body>
</html>

Encriptando o código com Java

Este código abaixo é só um exemplo, um resumo, você pode criar um código criptográfico a partir deste modelo:

Obs:

Arquivo: crypt.java
public class crypt {
public static  void main(String[] args){
String Texto = "Ola tudo bem!";
System.out.println("Texto = "+Texto);

String cript = Criptografar(Texto);
System.out.println("Criptografar = "+cript);

String descript = Descriptografar(cript);
System.out.println("Descriptografar = "+ descript);

}
public static String Criptografar(String teste){
    String s = "";
    for(int x = 0; x <= teste.length(); x++){
        try {
            s += ""+(char)(((int)teste.charAt(x))+10);
        } catch (Exception err1) {}
    }
    return s;
}
public static String Descriptografar(String teste){
    String s = "";
    for(int x = 0; x <= teste.length(); x++){
        try {
            s += ""+(char)(((int)teste.charAt(x))-10);
        } catch (Exception err1) {}
    }
    return s;
}
}
Criptografia

Encriptando o código com PHP

Url Decode

Arquivo: index.html
<html>
<head>
<title>Url Javascript</title>
</head>
<body>
<script language="javascript">
function Encode(){
teste = document.form1.teste1.value;
teste = encodeURIComponent(teste);
alert("Encode: "+teste);
teste = decodeURIComponent(teste);
alert("Decode: "+teste);
}
function Link(){
teste = document.form1.teste1.value;
location.href = "http://localhost/url/index.php?teste=" + encodeURIComponent(teste);
}
</script>
<form name="form1">
<input name="teste1" onClick="Encode()" type="button" Value="João, freqüência, átomo, @" /><br />
<a href="javascript: Link()">Link</a>
</form>
</body>
</html>
Arquivo: index.php
<html>
<head>
<title>Url PHP</title>
</head>
<body>
<p>
<font color="red">utf8_decode + urldecode: João, freqüência, átomo, @</font><br />
<?php
$teste = $_GET['teste'];
$teste2 = $teste;
$teste = utf8_decode(urldecode($teste));
echo $teste ."<br>\n";
?>
<font color="red">htmlentities: Jo&amp;atilde;o, freq&amp;uuml;&amp;ecirc;ncia, &amp;aacute;tomo, @</font><br />
<?php
$teste = htmlentities($teste);
echo $teste ."<br>\n";
?>
</p>
</body>
</html>

Trabalhando com Cookies no PHP

O que são cookies?

- Cookies são arquivos-texto (espiões) que são abertos (criados) no computador de usuários para se recuperar dados de qualquer página, os cookies podem ser vistos pelos donos das máquinas, e ser editado (possivelmente) por eles, mas, isso não é um grande problema pois podemos (pelo PHP) ver se os cookies são válidos (caso queiramos validá-los), o problema é que existem navegadores como o IE e o NetsCape que proibem a entrada destes arquivos em um computador, o ideal seria o uso de Sessions mesmo com suas desvantagens

O que podemos fazer com o cookies?

- Com os cookies pode ser feito "TUDO" que sua imaginação permitir, mas as principais causas que eles são utilizadas são:

- Verificar se um usuário já logou no site (isto é, validar se o cookie existe no computador)
- Verificar se um usuário já votou na enquete do site ( || )
- Carrinho de compras para armazenar os produtos comprados

Criando cookies com o php

- Criar um cookie com o php é muito simples, a sintaxe básica da criação é:

setcookie("nome_do_cookie", "valor_do_cookie");

Lembrando que este trecho deve estar no inicio do código da página, até mesmo antes de TAGS HTML.

O cookie criado será "excluído" automaticamente, ao se fechar o Browser

Para criar um cookie válido por 48 horas fazemos:

<?
setcookie("usuário", $user, time()+172800);
?>

O cookie criado tem o nome de Usuário com o valor $user, que seria Rafael (vamos supor que tenha o valor de rafael) e será excluído depois de 48 horas que ficar no computador do usuário (48 horas são iguais a 172800 segundos), mesmo com o fechamento do browser!

Excluindo um cookie com php

- Para se excluir um cookie com PHP antes do tempo determinado ou antes do fechamento do browser, fazemos o seguinte (supondo que queremos excluir o cookie usuário):
setcookie("usuário");

O comando setcookie também exclui um cookie, mas para exluir-mos devemos colocar somente o nome do cookie e não o seu valor, por isso tome cuidado, se quiser criar um cookie NULO (sem valor) fazemos o seguinte:
setcookie("usuário", "");

Seria criado o cookie usuário com o valor nulo!

Podemos também excluir um cookie por uma variável (para se excluir um cookie também deve estar no topo da pagina o setcookie) por exemplo, vamos dar o nome cookie pra um campo de texto, o usuário digita no campo "uusário" para deletar-mos o cookie com o nome digitado no campo fazemos o seguinte:

setcookie($usuario);

Abrindo cookies com o PHP

- Para abrir um cookie no PHP usamos o array superglobal $_COOKIE, entre chaves e aspas o nome do cookie! para ler-mos um cookie (com o nome idade, supondo que ele tenha o valor 21) fazemos o seguinte:
$_COOKIE["idade"];

Para exibir o conteudo dele com php fazemos:
<?
echo "O valor do cookie é:" . $_COOKIE["idade"];
?>

OU
<?
echo $_COOKIE["idade"];
?>

Isso seria útil para ver se uma senha estivesse de acordo com o usuário ou se existe um registro em um banco de dados ou file TXT com a idade 21!

Verificando se um cookie existe

- A sintaxe para descobrir se um cookie existe é a segiunte:
if(isset($_COOKIE["nome"]))

Para verificar-mos se um cookie existe com php fazemos:
<?
$nome_do_cookie = "nome";
if(isset($_COOKIE[$nome_do_cookie]))
{
echo "O cookie $nome_do_cookie existe! ";
}
else
{
echo "O cookie $nome_do_cookie não existe!";
}
?>

Se o cookie não existisse seria mostrada a mensagem: O cookie nome não existe, e se existisse apareceria: O cookie nome não existe!

Criando cookies com caminho, dominio e seguro

- Para se criar um cookie com o nome IDADE com segurança (a página deve ser HTTPS e no cookie deve ter um valor 1), com um caminho específico do dominio que o cookie estará válido, e um domínio específico, válido por 48 horas fazemos:

setcookie("idade", "21", time()+172800, "/dir", "www.google.com.br", "1");

Criamos um cookie com o nome "idade" com o valor 21 válido por 48 horas, válido somente para o diretório /dir com o domínio google e com uma conexão segura (melhor, pois o IE aceita mais cookies seguros), pois utilizamos o valor 1 que indica que o cookie é seguro se fosse utilzado 0 ele seria inseguro, isso seria muito útil caso quisesse enviar cookies seguros com HTTPS ou cookies válidos só para o diretório "user" por exemplo!

Arquivo: cookie_1.php
<?php setcookie("idade", "21", time()+172800); ?>
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
Enviando um Cookie<br><br>
<a href="cookie_2.php">Enviar</a>
</body>
</html>
Arquivo: cookie_2.php
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
Abrindo o Cookie<br><br>
<?php
echo "O valor do cookie é: <font color=#FF0000>" . $_COOKIE["idade"] . "</font>";
?>
<br><br><a href="cookie_1.php">Voltar</a>
<br><br>Fechando o cookie
</body>
</html>
<? setcookie("idade"); ?>