Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Protegendo seu site contra XSS e SQLi

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tutorial Protegendo seu site contra XSS e SQLi

    Muitas vezes, nós temos que permitir que nosso visitante modifique um ou mais arquivos dentro de nosso servidor, ou não existiriam os fóruns, os sistemas de comentário, os bate-papos, os livros de visitas, as páginas de recados, e outros sistemas úteis.

    Mas, como na internet nada é perfeito, nossos sistemas muitas vezes se transformam em brechas para usuários mal-intencionados, que incorporam códigos maliciosos nesses campos. Devemos levar em conta que o que um usuário adicionar, será visto por todos os outros usuários.

    Preocupada com a segurança do seu projeto, a equipe do PHPBrasil elaborou este artigo que lhe mostra como proteger os seus campos abertos. As opções aqui apresentadas serão selecionadas por você, dependendo da sua necessidade. Se você não quiser ter dores de cabeça por conta de travessura de usuário, é bom que você leia este artigo até o fim.
    1. Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Essa função é simples e muito utilizada em sistemas de fóruns, por exemplo. Ela não retira as tags, mas as exibe para leitura. Em outras palavras, se alguém digitou:

    Código HTML:
    <B>Eu sou mau!</B>

    Na página não aparecerá "Eu sou mau!", mas sim, o código exatamente como foi escrita.

    A utilização dessa função é simples. Veja:

    Código PHP:
    <?php
    $texto 
    "<s>Eu sou mau!</s>";
    $semhtml htmlspecialchars($texto);
    echo 
    $semhtml;
    ?>


    Então, pelo exemplo acima, ficou fácil entender a função. Note que é simples recuperar dados de um formulário para retirar as tags.


    2. Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Essa função é tão simples quanto a anterior, mas sua ação é diferente: Ao invés de exibir as tags, ele apenas as remove. Ou seja, ele detecta a(s) tag(s) e a retira. Veja:

    Código PHP:
    <?php

    $texto 
    "<s>Eu sou mau!</s>";

    $semhtml strip_tags($texto);

    echo 
    $semhtml;

    ?>
    Então, a única coisa que o script mostrará é a frase "Eu sou mau!", sem o risco e sem as tags.
    3. Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Essa função também é simples de se utilizar. É muito útil em conjunto com o MySQL. É a melhor opção para proteger contra SQLi. Veja essa situação:

    O usuário do seu site fez um comentário que possuia aspa ("). Quando o comentário foi inserido na tabela, gerou erro: Apenas a area anterior à aspa foi inserida. Ou pior: um usuário malicioso explora SQLi, tem acesso ao banco de dados, pega a senha da área de administração, faz o upload de uma shell e você vê um belo deface no site.

    Isso se resolve utilizando essa função. Veja:

    Código PHP:
    <?php

    $texto 
    "Eu sou 'mau'!"// sorte sua. Já imaginou se fosse um ' or 1='1 ?

    $protegido mysql_real_escape_string($texto);

    $sql "INSERT INTO 'comentarios' VALUES (NULL, '".$protegido."')";

    mysql_query($sql);

    ?>
    ____________________________________

    Aqui foram apresentadas a você 3 maneiras diferentes de proteger seu sistema. Cabe a você decidir qual será mais útil para você - e a utilizar, é claro!
    Para saber um pouco mais sobre cada função, veja a documentação completa no site oficial do PHP, clicando sobre o nome de cada função.

    Bom, ficamos por aqui. Estude bastante essas três funções para que você realmente as entenda. Caso haja dúvidas, utilize o sistema de comentários no formulário abaixo. Agradecemos pela atenção e até a próxima!
    Este material pode ser compartilhado, desde que os devidos créditos sejam dados.



    Notify-list · Twitter · Blog

    Nova lei: Invadir computadores protegidos é crime.
    Lógica: Se eu invadi, não é protegido. Logo, não é crime :-)
    Similar Threads

  • Font Size
    #2
    Eu disse "a equipe do PHP Brasil" porque eu faço parte da mesma, e este artigo fui eu quem escrevi.
    Este material pode ser compartilhado, desde que os devidos créditos sejam dados.



    Notify-list · Twitter · Blog

    Nova lei: Invadir computadores protegidos é crime.
    Lógica: Se eu invadi, não é protegido. Logo, não é crime :-)

    Comment


    • Font Size
      #3
      Injections são até fáceis de se prevenir.
      Ótimo artigo, fácil de entender e que foi de grande ajuda.
      Obrigado.
      Assinatura? Isso é tão trabalhoso...

      Comment

      X
      Working...
      X