Autor | Zpráva | ||
---|---|---|---|
Misha Profil * |
#1 · Zasláno: 4. 11. 2013, 10:53:32 · Upravil/a: Misha
Ř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 |
#2 · Zasláno: 4. 11. 2013, 11:09:36
Detekovat podle hlavičky zda jde o bota a pokud ano tak přeskočit kontrolu věku?
|
||
Str4wberry Profil |
#3 · Zasláno: 4. 11. 2013, 11:14:18
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 * |
#4 · Zasláno: 4. 11. 2013, 13:43:21
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 |
#5 · Zasláno: 4. 11. 2013, 14:34:56
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 * |
#6 · Zasláno: 4. 11. 2013, 14:45:11
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 |
#7 · Zasláno: 4. 11. 2013, 14:56:20
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; } |
||
Časová prodleva: 12 let
|
0