| 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: 13 let
|
|||
0