웹 브라우저가 아닌 wget, curl, php를 봇으로 취급

This commit is contained in:
conory 2018-06-14 12:57:00 +09:00
parent ce5a730505
commit 9e2a09f108
2 changed files with 5 additions and 5 deletions

View file

@ -146,7 +146,7 @@ class UA
} }
// Look for common search engine names and the 'bot' keyword. // Look for common search engine names and the 'bot' keyword.
if (preg_match('/bot|spider|crawler|archiver|wget|curl|slurp|facebook|teoma|yeti|daum|https?:|@/i', $ua)) if (preg_match('/bot|spider|crawler|archiver|wget|curl|php|slurp|facebook|teoma|yeti|daum|https?:|@/i', $ua))
{ {
return self::$_robot_cache[$ua] = true; return self::$_robot_cache[$ua] = true;
} }

View file

@ -225,7 +225,7 @@ class UATest extends \Codeception\TestCase\Test
$this->assertTrue($browser->is_robot); $this->assertTrue($browser->is_robot);
// Yeti // Yeti
$browser = Rhymix\Framework\UA::getBrowserInfo('Yeti/1.0 (+http://help.naver.com/robots/)'); $browser = Rhymix\Framework\UA::getBrowserInfo('Yeti/1.1; +http://naver.me/spd');
$this->assertEquals('Yeti', $browser->browser); $this->assertEquals('Yeti', $browser->browser);
$this->assertEquals('1.0', $browser->version); $this->assertEquals('1.0', $browser->version);
$this->assertTrue($browser->is_robot); $this->assertTrue($browser->is_robot);
@ -240,19 +240,19 @@ class UATest extends \Codeception\TestCase\Test
$browser = Rhymix\Framework\UA::getBrowserInfo('wget/1.17.1'); $browser = Rhymix\Framework\UA::getBrowserInfo('wget/1.17.1');
$this->assertEquals('Wget', $browser->browser); $this->assertEquals('Wget', $browser->browser);
$this->assertEquals('1.17', $browser->version); $this->assertEquals('1.17', $browser->version);
$this->assertFalse($browser->is_robot); $this->assertTrue($browser->is_robot);
// curl // curl
$browser = Rhymix\Framework\UA::getBrowserInfo('curl/7.47.0'); $browser = Rhymix\Framework\UA::getBrowserInfo('curl/7.47.0');
$this->assertEquals('Curl', $browser->browser); $this->assertEquals('Curl', $browser->browser);
$this->assertEquals('7.47', $browser->version); $this->assertEquals('7.47', $browser->version);
$this->assertFalse($browser->is_robot); $this->assertTrue($browser->is_robot);
// PHP with version // PHP with version
$browser = Rhymix\Framework\UA::getBrowserInfo('PHP/5.2.9'); $browser = Rhymix\Framework\UA::getBrowserInfo('PHP/5.2.9');
$this->assertEquals('PHP', $browser->browser); $this->assertEquals('PHP', $browser->browser);
$this->assertEquals('5.2', $browser->version); $this->assertEquals('5.2', $browser->version);
$this->assertFalse($browser->is_robot); $this->assertTrue($browser->is_robot);
// PHP without version // PHP without version
$browser = Rhymix\Framework\UA::getBrowserInfo('PHP'); $browser = Rhymix\Framework\UA::getBrowserInfo('PHP');