Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    333

    Intercettare i motori di ricerca

    Ciao a tutti
    dovendo intercettare i motori di ricerca per non appesantire inutilmente i files.log ho fatto questo piccvolo script che funziona bene con le dovute eccezzioni tra le quali questa user--agent con cui non funziona:
    Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)




    questo invece � lo script


    if (!isset($_SESSION['???'])&&($_SESSION['???']!=="zzzz")|| (preg_match('/Googlebot|bot|robot|crawl|slurp|spider/i', $_SERVER['HTTP_USER_AGENT'])!==1))
    {
    require_once("log.php");
    }


    Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Questo
    !isset($_SESSION['???']) && ($_SESSION['???']!=="zzzz")

    se i due ??? sono la stessa chiave, non sarà mai vero, stai chiedendo:
    "se la variabile non è settata e non è identica alla stringa zzzz...".
    Come si fa a verificare se è diversa rispetto a qualcosa non essendo neanche settata?

    I casi che ti si presentano sono:
    1) $_SESSION['???'] è settata, quindi si passa all'or, non si verifica neanche se è !== 'zzzz' perché è in and con una condizione falsa

    2) $_SESSION['???'] non è settata, quindi non è confrontabile con niente, anzi, dovrebbe proprio darti errore perché cerchi di usare una variabile inesistente con l'operatore !==

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    333
    Grazie mille.
    l'avevo riletta un sacco di volte senza rendermi conto dell'errore
    PS
    i simboli � li mette html.it mentre salva perchè io non li ho messi
    Ultima modifica di jomla; 23-01-2017 a 14:09

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    333
    Adesso in locale la funzione funziona ma sul sito non riesco a intercettare i motori di ricerca
    Adesso la nuova funzione �:
    function write_log()
    {
    if (!(isset($_SESSION['xxxxx']))||($_SESSION['xxxxx']!=="pippo") || (preg_match('/bot|bingbot|bing|robot|crawl|slurp|spider|yahoo|se arch/i', $_SERVER['HTTP_USER_AGENT'])==0))
    {return true;}else{return false;}
    }

    if(write_log()===true)
    {
    require_once("log.php");
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.