PHP - Identificar um Browser e Redirecionamento

Fechado
Jeff54 - 20 jul 2013 às 16:12
 Jeff54 - 21 jul 2013 às 10:34
Bom dia,


Prezado Senhor,


Venho há muito tempo buscando um script em PHP para tentar barrar o Navegador Opera 11 no acesso do meu site, por causa de um bug desse navegador com a Tag <noscript>. Tenho um Site em que um sujeito vive postando propagandas no Livro de Visitas, e ele usa o Opera 11, desliga o Java script e assim as críticas de preenchimento dos campos não atuam e ele posta o que quiser, inclusive endereços do seu site de vendas.

Quero deixar claro que quase não entendo nada de PHP. O que tenho feito é copiar alguns scripts de fóruns e adaptá-los ao meu site.

A minha intenção é Identificar EXATAMENTE o Opera Versão 11.00, e mandar o visitante para outra página.

Veja o que já usei :

<?php

$versao_navegador = $_SERVER['HTTP_USER_AGENT'];

$browser = $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);

if (strpos($versao_navegador, 'Opera 11.00') == true){

include "Guestb210.html";

header("Location: Guestb210.html");

exit;

}

?>

NÃO DEU CERTO!!!

=============

<?php

if (stristr($_SERVER['HTTP_USER_AGENT'], "Opera 11.00")) {

header("Location: Guestb210.html");

exit;

}

?>

NÃO DEU CERTO!!!

=============

<?php

# Opera

if ($_SERVER[HTTP_USER_AGENT] == "Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/11.00") {

header("Location: Guestb210.html");

exit;

}

?>

NÃO DEU CERTO !!!


=============

<?php

$versao_navegador = $_SERVER['HTTP_USER_AGENT'];

$browser = $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);

if (($browser == 'Opera') && ($versao_navegador == 11.00))

{

header("Location: Guestb210.html");

exit;

}

?>

NÃO DEU CERTO

=============

<?php

$versao_navegador = $_SERVER['HTTP_USER_AGENT'];

$browser = $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);

if (($browser == 'Opera') && ($versao_navegador == 11.00)) {

header("Location: Guestb210.html");

exit;

}

?>

NÃO DEU CERTO!!!

=============

<?php

$browser = $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);

$version = (preg_match('#opera/([0-9\.]+)#', $user_agent, $matches)) ? $matches[1] : $version;

if (($browser == 'Opera') && ($version == 11.00)) {

header("Location: Guestb210.html");

exit;

}

?>

NÃO DEU CERTO!!!

=============

<?php

$useragent =

$_SERVER['HTTP_USER_AGENT'];

if (preg_match( '|Opera/([0-9].[0-9]{1,2})|',$useragent,$matched)) {

$browser_version=$matched[1];

$browser = 'Opera';

} elseif(($browser == 'Opera') && ($browser_version == 11.00)) {

header("Location: Guestb210.html");

exit;

}

?>

NÃO DEU CERTO !!!

=============

<?php

# Opera

if ($_SERVER[HTTP_USER_AGENT] == "Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/11.00") {

header("Location: Guestb210.html");

exit;

}

?>

NÃO DEU CERTO !!!

=============

<?php

if(strpos($useragent,"Opera") !== false)
{

$found = preg_match("/Opera[\/ ]([0-9]{1}\.[0-9]{1}([0-9])?)/",$useragent,$mathes);

if($found)
{
return "Opera " . $mathes[1];

{

if ($_SERVER[HTTP_USER_AGENT] == "Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/11.00") {

header("Location: Guestb210.html");

exit;

}

}

}

}

?>

NÃO DEU CERTO

===============


Assim, se Você tiver algum script em php para solucionar esse problema que já vem me acompanhando há meses, muito agradeceria.

Muito agradeço por sua atenção.

Atenciosamente,

Jefferson
Veja também:

2 respostas

usuário anônimo
21 jul 2013 às 06:16
0

Assine nossa newsletter!

Assine nossa newsletter!