Autor Zpráva
Misha
Profil *
Řeším takový problém, kdy na stránkách s alkoholem musí být u vstupu potvrzení věku. Ale potřebuji aby se tam bot dostal normálně.
Přes cookies ani javascript to nejde, protože Google s tím normálně pracuje.
Napadá někoho jiné řešení?


Jinak samozřejmě přeji pěkný den a předem děkuji za pomoc :)
aDAm
Profil
Detekovat podle hlavičky zda jde o bota a pokud ano tak přeskočit kontrolu věku?
Str4wberry
Profil
Můžete upozornění posílat jen nerobotům. Tj. hledat v hlavičce user-agent „bot“.

Jinak si nemyslím, že nějaké vyskakovací JS okno (nebo i obyčejný confirm) způsobí, že vyhledávací robot bude stránku ignorovat.
Misha
Profil *
Str4wberry:
Confirm asi ne, ale já potřebuji ať to vypadá hezky, tak to mám pomocí HTML.
Kontrolovat hlavičku "bot", ale asi nebude moc spolehlivé, ne? Jakože udělal jsem to zatím tak a kontroluji slova "bot", "google" a "facebook", ale i tak mám obavu, že se tam některé boty vyhledávačů nedostanou.
weroro
Profil
Misha:
Obdobne to mám urobené aj ja. Keď prídeš na index.php skontroluje sa cookie a ak nie je definovaná alebo neobsahuje požadovanú hodnotu, tak ťa presmeruje pomocou header() na stránku s potvrdením veku. V podmienke, kde kontrolujem cookie je pridané overenie, či sa nejedná o bota. Ak je to bot, nastane výnimka a cookie sa neoveruje.
Misha
Profil *
weroro:
A kontroluješ pouze slovo bot? Protože například když tam půjde bot od Facebooku (aby si vytvořil náhled stránky, jinak se při sdílení zobrazí nepoužitelně), tak ten v USER-AGENT výraz bot nemá. Stejně tak když google neindexuje stránky, ale jen vytváří náhled onoho webu. Takže v takových případech by se místo odkazované stránky načetla stránka pro určení věku a to je nepřijatelné.
weroro
Profil
Kontrolujem to takto:
function isBot()
        {
            $BotList = array("googlebot", 
                            "googlebot/2.1", 
                            "google webmaster", 
                            "googlebot-mobile",
                            "mediapartners-google",
                            "feedfetcher-google",
                            "seznambot",
                            "teoma",
                            "alexa",
                            "froogle",
                            "gigabot",
                            "inktomi",
                            "looksmart",
                            "url_spider_sql",
                            "firefly",
                            "nationaldirectory",
                            "ask jeeves",
                            "tecnoseek",
                            "infoseek",
                            "webfindbot",
                            "girafabot",
                            "crawler",
                            "www.galaxy.com",
                            "scooter",
                            "james bond",
                            "slurp",
                            "msnbot",
                            "bingbot",
                            "appie",
                            "fast",
                            "webbug",
                            "spade",
                            "zyborg",
                            "rabaz",
                            "baiduspider",
                            "technoratisnoop",
                            "rankivabot",
                            "sogou web spider",
                            "webalta crawler",
                            "mj12bot",
                            "yandex/",
                            "yadirectbot",
                            "stackrambler",
                            "dotbot");
            
            foreach($BotList as $bot)
            {
                if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), $bot))
                {
                    return true;
                }
            }
            return false;
        }
Facebook nekontrolujem, lebo v mojom prípade to je nepotrebné, ale nemal by byť problém, pridať si ho do toho zoznamu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: