Autor | Zpráva | ||
---|---|---|---|
Alois Marhoul Profil * |
#1 · Zasláno: 25. 6. 2007, 14:29:41
Ahoj
Rád bych sestavil omezující podmínku, pokud bude splněna, zapíši visit, jinak to beru jako návštěvu robota nebo IP, kterou nechci měřit. Bohužel ale nefunguje správně, můžete mi prosím poradit? Předpokládám, že chyba bude v in_array - pokud se totiz omezim pouze na oktrolu agentu a nikoli IP, tak to funguje v pořádku: if ((!(bool)preg_match('/('.implode('|', $roboti).')/', $agent)) OR (!in_array($ip,$zakazane_ip))): kde: $roboti - pole s řetězci identigikujícími roboty, např: $roboti[1]='Googlebot'; $agent = $_SERVER["HTTP_USER_AGENT"]; $ip=$REMOTE_ADDR; $zakazane_ip - pole zakázaných ip, např: $zakazane_ip[1]='66.249.70.88'; //google.com |
||
temistokles Profil |
#2 · Zasláno: 25. 6. 2007, 14:50:33
if ((!(bool)preg_match('/('.implode('|', $roboti).')/', $agent)) && (!in_array($ip,$zakazane_ip))):
Tvoja podmienka kontrolovala, či sa nenachádza robot v poli robotov ALEBO sa nenachádza jeho ip adresa v blokovaných. Keď tam dáš AND (tj. &&), tak kontroluješ, že tá IP nie je v blokovaných IPčkách A SÚČASNE nie je agent v robotoch. Dúfam, že pomôže. |
||
Časová prodleva: 17 let
|
0