Jump to content
gimbras

[PHP]Script que avisa quando o Googlebot passa

Recommended Posts

gimbras

Um mini script em PHP para receberem um mail qdo o google vos "percorrer" o site.

<?php
if(eregi("googlebot",$HTTP_USER_AGENT))
{
if ($QUERY_STRING != "")
	{$url = "http://".$SERVER_NAME.$PHP_SELF.'?'.$QUERY_STRING;}
else
	{$url = "http://".$SERVER_NAME.$PHP_SELF;}
$today = date("d M Y H:i");
mail("teumail@dominio.pt", "Googlebot detectado em http://$SERVER_NAME", "$today - Google visitou $url");
}
?>

Se quiserem experimentar o script substituam googlebot por firefox e abram o vosso site com o FF, dps pode demorar mas recebem um mail a dizer k por lá andou o dito cujo (FF).


Redcodestudio - Programação Web - http://www.redcodestudio.com/

Share this post


Link to post
Share on other sites
revX

Hm que tal uma brincadeira com o email(); ?

aqui fica uma maneira de obter ips de quem visita as vossas páginas :twisted:

<?PHP 

  $today = date("d M Y H:i"); 

  $ip = $_SERVER['REMOTE_ADDR'];

  mail("para.@oteuemail.pt", "Utilizador detectado em http://$SERVER_NAME", "$today - Um utilizador acedeu com o IP $ip", "Sistema de IPS"); 

?>

Share this post


Link to post
Share on other sites
QuickFire

bem se queres ter uma lista xeia no mail de ips é contigo...

eu pessoalmente o que tenho feito para a diversão foi meter os ips num file txt :D é bem mais practico

Share this post


Link to post
Share on other sites
revX
Hm que tal uma brincadeira com o email(); ?

Hm ok eu meto aqui o código para fazer isso com o text, só fiz com o email porque se estava a falar do email();

O código para criar um txt com os ips é,

<?php
$ficheiro = fopen("ips.txt", "a");
$ip = $_SERVER['REMOTE_ADDR'];
$hoje = date("d M Y H:i");
$browser = $_SERVER['HTTP_USER_AGENT'];

$dados = <<<HTML

$ip - $hoje - $browser

HTML;
fwrite($ficheiro, $dados);
fclose($ficheiro);
?>

Depois na mesma directoria criam um ficheiro chamado ips.txt com CHMOD 777 e está feito :-D

Share this post


Link to post
Share on other sites
QuickFire

Hum eu tou um bucado desactualizado no PHP (MUITO :D ) mas para que é que serve isto ?

$dados = <<<HTML

$ip - $hoje - $browser

HTML; 

a parte do <<<HTML nunca tinha visto nada parecido :D [/code]

Share this post


Link to post
Share on other sites
revX

tipo server como escape para puderes dar espaços a vontade e ele interpreta-los....

tipo no phpBB, ao criar tópicos a responder...

tu das espaço e ele lê como espaço, poupa o trabalho de andar a usar mais código... mas experimenta utilizar, eu acho que facilita bastante ;)

Share this post


Link to post
Share on other sites
Akira

erm... tipo já ninguém usa os raw logs do apache e iis??!?!?

para que estar a duplicar funções??

Share this post


Link to post
Share on other sites
gimbras

<?php
$ficheiro = fopen("googlebot.txt", "a");
$hoje = date("d M Y H:i");

if(eregi("googlebot",$HTTP_USER_AGENT))
  {
  if ($QUERY_STRING != "")
     {$url = "http://".$SERVER_NAME.$PHP_SELF.'?'.$QUERY_STRING;}
  else
     {$url = "http://".$SERVER_NAME.$PHP_SELF;}

$dados = <<<HTML

Googlebot detectado em http://$SERVER_NAME", "$hoje - Google visitou $url


HTML;
  fwrite($ficheiro, $dados);
  fclose($ficheiro);

}
?>

Na mesma directoria criam um ficheiro chamado gooblebot.txt com CHMOD 777 e está feito.

Será que isto funciona? Estive a analisar o código que eu coloquei no início do tópico (descobri num site e tenho usado nos meus sites), e o código do revX e tentei construir um script que escrevesse num ficheiro do server as visitas do googlebot.

Eu não entendo nada de PHP por isso peço que corrijam.

Pelo que entendi no meu código existe um if (se algo acontecer envia um mail para x@x.pt e coloca lá as variáveis declaradas anteriormente).

Coloquei esse if no novo código, declarei variáveis diferentes e disse caso esse if se confirme ele escreverá no ficheiro googlebo.txt

Peço que me corrijam e digam o que está mal.

Obg. (é grande a inércia para mexer no PHP, mas agora tive curiosidade em ler o code)

tkx revX


Redcodestudio - Programação Web - http://www.redcodestudio.com/

Share this post


Link to post
Share on other sites
revX

no problem... eu não usei ifs porque acho desnecessários para algo que é tão simples como obter os ips para um txt :)

Share this post


Link to post
Share on other sites
gimbras

:shock: n tem erros? credo, bestial. isso dá-me alento para que continue a workar ou melhor comece a workar em php, nice

tkx revX

PS: o primeiro code n fui k o fiz, dai ter ifs

EDIT:

Eu curtia meter uma variavel que indicasse o browser da pessoa que passasse no site tmb, alem disso era porreiro que o gajo me enviasse o ficheiro txt via mail quando chegasse a determinado tamanho ou data.

Será possível

tkx.


Redcodestudio - Programação Web - http://www.redcodestudio.com/

Share this post


Link to post
Share on other sites
revX

isso o browser faz se na boa agora isso de quando chegar a um determinado tamanho não estoua ver como é possivel

Share this post


Link to post
Share on other sites
aparicio

existe uma função em php que permite verificar o tamanho de um ficheiro.

$tamanho = $_FILES['$nomedoficheiro']['size'];

meu amigo agora é só improvisar com uns if's e já estás a andar de mota!

A.k.A Aparicio

Share this post


Link to post
Share on other sites
Gurzi

Hm que tal uma brincadeira com o email(); ?

aqui fica uma maneira de obter ips de quem visita as vossas páginas  :twisted: 

<?PHP 

   $today = date("d M Y H:i"); 
   
   $ip = $_SERVER['REMOTE_ADDR'];
   
   mail("para.@oteuemail.pt", "Utilizador detectado em http://$SERVER_NAME", "$today - Um utilizador acedeu com o IP $ip", "Sistema de IPS"); 

?>

Revx já li o manual mas tenho algumas duvidas na função email ..

  mail("email@pap.pt", "Utilizador detectado Agenda.php" , "$today - Um utilizador acedeu com o IP $ip", "Sistema de IPS");

o que é a ultima virgula, "Sistemas de IPS" visto que esse SISTEMAS DE IPS aparece antes do  que vem antes ? é um género de um titulo ?

Share this post


Link to post
Share on other sites
kingless

Ele já postou essa msg a muito tempo...

mail("email@pap.pt", "Utilizador detectado Agenda.php" , "$today - Um utilizador acedeu com o IP $ip", "Sistema de IPS");

Sistema de IPS é suspostamente um header... a funçaõ mail não é muito dificil é só seguires a ordem...

mail( 'para@email.com', ' assunto ', 'mensagem', 'headers' );

Os headers podem ser algo como "From: de@email.com"  nesse caso ficaria assim

mail( 'para@email.com', ' assunto ', 'mensagem', 'From: de@email.com' );

Só precisas de seguir essa ordem e adicionar header...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.