Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17548
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Evitar o envio ou execução de scripts pelo link

30-10-2011 23:08

Quando uma informação é passada por link, para ser armazenada no banco de dados ou mostrada na tela, seu sistema pode ficar exposto, por exemplo:

info.php?usuario=joao

Geralmente quando isso é feito, o valor passado é mostrado na página por um echo do PHP, por exemplo:

echo $_GET['usuario'];

Um usuário mal intencionado pode fazer o seguinte no navegador:

info.php?usuario=<a href='http://www.sitetal.com'>acesse</a>

Se uma pessoa divulgar esse link, por email por exemplo, pode acabar mandando um monte de pessoas para o site da pessoa errada.

E com esses encurtadores de URL, pode ficar até mais fácil disfarçar esse tipo de URL mascarada.

Para proteger seu sistema, use o seguinte na saída do valor, para página ou para o bd. Esse script elimina não só a tag, mas também o texto usado nela.

<?php if(isset($_GET['valor'])) { echo preg_replace("/<.*?>*<.*?>/", "", $_GET['valor']); } ?>

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado