Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jcalebe

"Bem vindo" dinâmico

Recommended Posts

Olá!

Criei um sistema que "cumprimenta" o usuário, e se ele vier de algum site de buscas, pega a searchstring e o nome do site e escreve na tela. O problema é que não sei se esse script é "seguro" contra injections, e se ele comprometeria de alguma forma a segurança do site.

 

Vejam:

$_SERVER['HTTP_REFERER'] = 'http://www.google.com.br/#hl=pt-BR&biw=1024&bih=675&q=bem+vindo&aq=f&aqi=';

//Lista dos motores conhecidos
$motores = array('Google','Yahoo', 'Bing', 'Ask');
//Lista do nome das variáveis vindas da URL 
$rdmotor = array('q','p','q','q');

if (isset ($_SERVER['HTTP_REFERER']) ){

$ref = parse_url($_SERVER['HTTP_REFERER']);

//	var_dump($ref);

$site = '';
foreach ($motores as $ty=>$motor){
	if (preg_match("/$motor/i", $ref['host'])){
	$site = ' do '.$motor;
	$tipo = $rdmotor[$ty];
	break;
	}

}

$qry = explode("$tipo=", $ref['fragment']);
if (isset($qry[1])){
$qry = explode('&', $qry[1]);
$qry = '! Você estava procurando por <span style="font-weight:bold">"'.urldecode($qry[0]).'"</span> e chegou até aqui. Continue navegando a vontade!';
}else
$qry = '!';

//	var_dump($qry);

if(!empty ($site))
echo 'Olá visitante'.$site.$qry;
}

/*
Nesse caso, retornará:
Olá visitante do Google! Você estava procurando por "bem vindo" e chegou até aqui. Continue navegando a vontade!
*/

 

Outra: Existe algum script mais rápido/menor/mais eficiente que faça isso?

 

Abraços ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não há risco de injection a não ser que você vá armazenar o resultado disso no banco de dados.

 

Agora, devo alertá-lo de que esse tipo de script não e uma boa idéia. O visitante se sente invadido, fica parecendo que ficam espionando o que ele anda procurando no Google. Os mesmo vale para scripts que mostram o nome e a versão do navegador, o sistema operacional, a geolocalização do usuário por base no IP, etc., alguns sites chegam até a coletar o histórico do navegador. É o tipo de informação que é extremamente útil para o planejamento de campanhas publicitárias, etc., mas são informações que devem ser armazenadas para uso futuro e o único lugar que você deve dizer que as coleta e possui é na Política de Privacidade, por uma questão ética.

 

O seu intuíto é ser simpático, mas acho que o efeito é inverso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tinha me atentado para isso ainda! Para nós que conhecemos o funcionamento é uma coisa normal, mas para quem não conhece fica mesmo parecendo uma invasão.

Vou arquivar esse código aqui e deixar esta idéia para lá.

 

Valeu!

 

:joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.