Zend_Service_Akismet
(Àº)´Â,
Akismet API
ÀÇ Å¬¶óÀÌ¾ðÆ® ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.Akismet ¼ºñ½º´Â,
ÀÔ·Â µ¥ÀÌÅͰ¡ ½ºÆÔ¸ÞÀÏÀÎÁö ¾î¶²Áö¸¦ ÆÇÁ¤Çϱâ À§Çؼ ÀÌ¿ëµË´Ï´Ù.
¶Ç, ¾î´À µ¥ÀÌÅ͸¦ ¡¸½ºÆÔ¸ÞÀÏÀÌ´Ù¡¹¶ó°íÀΰ¡ ¡¸¹«½ÇÀÌ´Ù (ÇÜ)¡¹
µî°ú µî·ÏÇϱâ À§ÇÑ ¸Þ¼Òµåµµ °ø°³Çϰí ÀÖ½À´Ï´Ù.
¿ø·¡´Â Wordpress ÇâÇØÀÇ ½ºÆÔ¸ÞÀÏÀ» ½Äº°Çϱâ À§Çؼ ¸¸µé¾îÁø °ÍÀÔ´Ï´Ù¸¸,
¸ðµç ÇüÅÂÀÇ µ¥ÀÌÅÍ¿¡ ´ëÇØ¼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Akismet (À»)¸¦ »ç¿ëÇÏ·Á¸é API ۰¡ ÇÊ¿äÇÕ´Ï´Ù. ۸¦ ÃëµæÇÏ·Á¸é WordPress.com ±×¸®°í ¾îÄ«¿îÆ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.blog (À»)¸¦ ÀÛ¼ºÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ´ÜÁö ¾îÄ«¿îÆ®¸¦ ÀÛ¼ºÇÏ´Â °Í¸¸À¸·Î API ۸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
°Ô´Ù°¡Akismet (À»)¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â,
ÇÊÅ͸µ ÇÏ°í ½ÍÀº µ¥ÀÌÅ͸¦ °¡¸®Å²´Ù URL (À»)¸¦ ÁöÁ¤ÇØ ¸®Äù½ºÆ® ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
Akismet ÇÏ WordPress Àü¿ëÀ¸·Î ¸¸µé¾îÁø °ÍÀÎ °ÍºÎÅÍ,
À̰ÍÀº blog url (À¸)·Î ºÒ¸³´Ï´Ù.
À̰ÍÀº, constructor¡¡ ¡¡ ÀÇ µÎ¹øÂ°ÀÇ Àμö·Î¼ °Ç³×ÁÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
´ÜÁö, ¾ðÁ¦¶óµµ setBlogUrl()
±×¸®°í º¯°æÇÒ ¼ö ÀÖ°í,
±× ¿ÜÀÇ ¸Þ¼Òµå ÄÝ ½Ã¿¡ 'blog' ۸¦ ÁöÁ¤ÇØ µ¡¾²±âÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
Zend_Service_Akismet::verifyKey($key)
(À»)¸¦ »ç¿ëÇϰí,Akismet API ۰¡ À¯È¿ÇÒÁö¸¦ °ËÁõÇÕ´Ï´Ù.
´ëºÎºÐÀÇ °æ¿ì´Â ƯÈ÷ °ËÁõÇÒ Çʿ䵵 ¾øÀ» °ÍÀÔ´Ï´Ù°¡,
°³ÂùµÇ¾î ÀÖÁö ¾ÊÀºÁö ¾î¶²Áö Á¶»çÇϰųª
»õ·Ó°Ô ÃëµæÇÑ Å°°¡ ½ÇÁ¦·Î »ç¿ë °¡´ÉÇÒÁö¸¦ Á¶»çÇϰųª
±×·¸´Ù°í ÇßÀ» °æ¿ì¿¡ ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.
<?php
require_once 'Zend/Service/Akismet.php';
// API Ű, ±×¸®°í ¾îÇø®ÄÉÀ̼ÇÀ̳ª ÀÚ¿ø¿¡ÀÇ URL
// (À»)¸¦ ÁöÁ¤ÇØ ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù
$akismet = new Zend_Service_Akismet($apiKey, 'http://framework.zend.com/wiki/');
if ($akismet->verifyKey($apiKey) {
echo "ÀÌ Å°´Â À¯È¿ÇÕ´Ï´Ù.n";
} else {
echo "ÀÌ Å°´Â ¹«È¿ÀÔ´Ï´Ù.n";
}
Àμö¸¦ ÁöÁ¤ÇÏÁö ¾Ê°í ÄÝ Çϸé,verifyKey()
(Àº)´Â constructor¡¡ ¡¡ À¸·Î ÁöÁ¤Çß´Ù API ۸¦ »ç¿ëÇÕ´Ï´Ù.
verifyKey()
(Àº)´Â,Akismet ÀÇ
verify-key
REST ¸Þ¼Òµå¸¦ ½ÇÀåÇÑ °ÍÀÔ´Ï´Ù.
Zend_Service_Akismet::isSpam($data)
(À»)¸¦ »ç¿ëÇϰí,Akismet ÇÏÁö¸¸ ±× µ¥ÀÌÅ͸¦ ½ºÆÔ¸ÞÀÏ·Î °£ÁÖÇÒÁö¸¦ Á¶»çÇÕ´Ï´Ù.
Àμö´Â Çϳª·Î, ¿©±â¿¡ ¿¬»ó ¹è¿À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¹è¿¿¡´Â, ´ÙÀ½ÀÇ Å°¸¦ ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
user_ip
(Àº)´Â, µ¥ÀÌÅ͸¦ ¼Û½ÅÇÑ À¯ÀúÀÇ
IP ÁÖ¼ÒÀÔ´Ï´Ù (´ç½ÅÀÇ IP ÁÖ¼Ò°¡ ¾Æ´Ï°í,
´ç½ÅÀÇ »çÀÌÆ®¸¦ »ç¿ëÇϰí ÀÖ´Â À¯ÀúÀÇ IP ÁÖ¼ÒÀÔ´Ï´Ù).
user_agent
(Àº)´Â, µ¥ÀÌÅ͸¦ ¼Û½ÅÇÑ À¯ÀúÀÇ
UserAgent ¹®ÀÚ¿ (ºê¶ó¿ìÀú ¹× ¹öÁ¯) ÀÔ´Ï´Ù.
ÀÌÇÏÀÇ Å°µµ,API ¿·¿¡¼ Àνĵ˴ϴÙ.
blog
(Àº)´Â, ÀÚ¿øÀ̳ª ¾îÇø®ÄÉÀ̼ÇÀ» °¡¸®Å²´Ù
¿ÏÀüÇÑ URL ÀÔ´Ï´Ù.ÁöÁ¤ÇÏÁö ¾Ê¾Ò´ø °æ¿ì´Â,
constructor¡¡ ¡¡ ¿¡ °Ç³×ÁÖ¾ú´Ù URL (À»)¸¦ »ç¿ëÇÕ´Ï´Ù.
referrer
(Àº)´Â, ¼Û½Å½ÃÀÇ
HTTP_REFERER Çì´õÀÇ ³»¿ëÀÔ´Ï´Ù
(½ºÆç¿¡ ÁÖÀÇÇսôÙ.Çì´õÀÇ À̸§°ú´Â ´Ù¸¨´Ï´Ù).
permalink
(Àº)´Â, ¼Û½ÅÇÏ´Â µ¥ÀÌÅÍÀÇ ¿µ¼ÓÀûÀÎ Àå¼Ò
(¸¸¾à ÀÖÀ¸¸é) ÀÔ´Ï´Ù.
comment_type
(Àº)´Â, µ¥ÀÌÅÍÀÇ Çü½ÄÀÔ´Ï´Ù.
¿©±â¼ ÁöÁ¤ÇÏ´Â °ªÀº API ±×¸®°í Á¤Àǵǰí ÀÖ¾î
'comment','trackback','pingback' ¾ß b
ÇÏ´ÃÀÇ ¹®ÀÚ¿ ('') µîÀÌ ÀÖ½À´Ï´Ù.±×·¯³ª,
ÀÓÀÇÀÇ °ªÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
comment_author
(Àº)´Â, µ¥ÀÌÅÍÀÇ ¼Û½ÅÀÚÀÇ À̸§ÀÔ´Ï´Ù.
comment_author_email
(Àº)´Â,
µ¥ÀÌÅÍÀÇ ¼Û½ÅÀÚÀÇ ¸ÞÀÏ ÁÖ¼ÒÀÔ´Ï´Ù.
comment_author_url
(Àº)´Â,
µ¥ÀÌÅÍÀÇ ¼Û½ÅÀÚÀÇ URL ȤÀº Ȩ ÆäÀÌÁöÀÔ´Ï´Ù.
comment_content
(Àº)´Â,
½ÇÁ¦·Î ¼Û½ÅµÈ µ¥ÀÌÅÍÀÇ ³»¿ëÀÔ´Ï´Ù.
±× ¿ÜÀÇ È¯°æ º¯¼öÀÇ ³»¿ëÀ» ¼Û½ÅÇØ, ±× µ¥ÀÌÅͰ¡ ½ºÆÔ¸ÞÀÏÀÏÁöÀÇ ÆÇ´Ü Àç·á¿Í ½Ãų ¼öµµ ÀÖ½À´Ï´Ù. Akismet (Àº)´Â,$_SERVER ¹è¿ÀÇ ³»¿ëÀ» ¸ðµÎ ¼Û½ÅÇÏ´Â °ÍÀ» Ãßõ Çϰí ÀÖ½À´Ï´Ù.
isSpam()
¸Þ¼Òµå´Â true ȤÀº false (À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.
API ۰¡ ¹«È¿ÀÎ °æ¿ì´Â ¿¹¿Ü¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
·Ê 34.1. isSpam() ÀÇ »ç¿ë¹ý
<?php
$data = array(
'user_ip' => '111.222.111.222',
'user_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-GB; rv:1.8.1) Gecko/20061010 Firefox/2.0',
'comment_type' => 'contact',
'comment_author' => '´©±º°¡¾¾',
'comment_author_email' => 'nospam@myhaus.net',
'comment_content' => "½ºÆÄ¸¶°¡ ¾Æ´Ñ °É.¹Ï¾î!"
);
if ($akismet->isSpam($data)) {
echo "¹Ì¾ÈÇÏÁö¸¸, ¾Æ¸¶ ´ç½ÅÀº ½ºÆÄ¸¶Áö¿ä.";
} else {
echo "¿ì¸®ÀÇ »çÀÌÆ®·Î ¾î¼ ¿À½Ê½Ã¿À!";
}
isSpam()
(Àº)´Â,Akismet API ÀÇ ¸Þ¼Òµå
comment-check
(À»)¸¦ ½ÇÀåÇÑ °ÍÀÔ´Ï´Ù.
½Ã°£¿¡´Â, ½ºÆÔ¸ÞÀÏÀÌ ÇÊÅ͸¦ Åë°úÇØ ¹ö¸®±âµµ ÇÕ´Ï´Ù. ÇÊÅ͸¦ Åë°úÇÑ µ¥ÀÌÅ;ȿ¡, ¸¸¾à ¡¸À̰ÍÀº ½ºÆÔ¸ÞÀÏÀÏ °ÍÀÌ´Ù¡¹ (ÀÌ)¶ó´Â °ÍÀÌ ¹ß°ßµÇ¸é, ±×°ÍÀ» Akismet ¿¡ ¼Û½ÅÇսôÙ.±×°Í¿¡ ÀÇÇØ, ÇÊÅÍÀÇ ¼º´ÉÀÌ Çâ»óÇÕ´Ï´Ù.
Zend_Service_Akismet::submitSpam()
(À¸)·Î ÁöÁ¤ÇÏ´Â ¹è¿Àº,
isSpam()
¿¡ °Ç³×ÁÖ´Â °Í°ú °°Àº Çü½ÄÀÔ´Ï´Ù.
±×·¯³ª, ÀÌ ¸Þ¼Òµå´Â °ªÀ» µ¹·ÁÁÖÁö ¾Ê½À´Ï´Ù.
API ۰¡ ¹«È¿ÀÎ °æ¿ì´Â ¿¹¿Ü°¡ ¹ß»ýÇÕ´Ï´Ù.
·Ê 34.2. submitSpam() ÀÇ »ç¿ë¹ý
<?php
$data = array(
'user_ip' => '111.222.111.222',
'user_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-GB; rv:1.8.1) Gecko/20061010 Firefox/2.0',
'comment_type' => 'contact',
'comment_author' => '´©±º°¡¾¾',
'comment_author_email' => 'nospam@myhaus.net',
'comment_content' => "½ºÆÄ¸¶°¡ ¾Æ´Ñ °É.¹Ï¾î!"
);
$akismet->submitSpam($data));
submitSpam()
(Àº)´Â,Akismet API ÀÇ ¸Þ¼Òµå
submit-spam
(À»)¸¦ ½ÇÀåÇÑ °ÍÀÔ´Ï´Ù.
½Ã°£¿¡´Â,Akismet ÇÏÁö¸¸ À߸øÇØ ½ºÆÔ¸ÞÀϰú ÆÇÁ¤ÇØ ¹ö¸®±âµµ ÇÕ´Ï´Ù. ±× ¶§¹®¿¡,Akismet ÇÏÁö¸¸ ½ºÆÔ¸ÞÀÏÀ̶ó°í ÆÇ´ÜÇÑ µ¥ÀÌÅÍÀÇ ·Î±×¸¦ Á¤±âÀûÀ¸·Î üũÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Çö»óÀ» ¹ß°ßÇϸé, ±× µ¥ÀÌÅ͸¦ Akismet ¿¡ ¡¸ÇÜ¡¹ ȤÀº ¹«½ÇÀÇ µ¥ÀÌÅͷμ ¼Û½ÅÇսô٠(ÇÜÀº ¼±ÀÎ, ½ºÆÔ¸ÞÀÏÀº ¾ÇÀÎÀÔ´Ï´Ù).
Zend_Service_Akismet::submitHam()
(À¸)·Î ÁöÁ¤ÇÏ´Â ¹è¿Àº,
isSpam()
(ÀÌ)³ª submitSpam()
¿¡ °Ç³×ÁÖ´Â °Í°ú °°Àº Çü½ÄÀÔ´Ï´Ù.¶Ç,
submitSpam()
(¿Í)°ú °°ÀÌ, °ªÀ» µ¹·ÁÁÖÁö ¾Ê½À´Ï´Ù.
API ۰¡ ¹«È¿ÀÎ °æ¿ì´Â ¿¹¿Ü°¡ ¹ß»ýÇÕ´Ï´Ù.
·Ê 34.3. submitHam() ÀÇ »ç¿ë¹ý
<?php
$data = array(
'user_ip' => '111.222.111.222',
'user_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-GB; rv:1.8.1) Gecko/20061010 Firefox/2.0',
'comment_type' => 'contact',
'comment_author' => '´©±º°¡¾¾',
'comment_author_email' => 'nospam@myhaus.net',
'comment_content' => "½ºÆÄ¸¶°¡ ¾Æ´Ñ °É.¹Ï¾î!"
);
$akismet->submitHam($data));
submitHam()
(Àº)´Â,Akismet API ÀÇ ¸Þ¼Òµå
submit-ham
(À»)¸¦ ½ÇÀåÇÑ °ÍÀÔ´Ï´Ù.
Akismet API ±×·³ ³× °³ÀÇ ¸Þ¼Òµå ¹Û¿¡ Á¤Àǵǰí ÀÖÁö ¾Ê½À´Ï´Ù¸¸,
Zend_Service_Akismet
±×·³
±× ÀÌ¿ÜÀÇ ¾×¼¼½º¿ë ¸Þ¼Òµåµµ ÁغñÇØ ÀÖ½À´Ï´Ù.
À̰͵éÀ» »ç¿ëÇϰí, ³»ºÎÀÇ ÇÁ·ÓÆÛƼ¸¦ º¯°æÇÕ´Ï´Ù.
getBlogUrl()
¹× setBlogUrl()
(Àº)´Â, ¸®Äù½ºÆ®·Î »ç¿ëÇÑ´Ù blog URL (À»)¸¦ ÃëµæÇϰųª º¯°æÇϰųª ÇÕ´Ï´Ù.
getApiKey()
¹× setApiKey()
(Àº)´Â, ¸®Äù½ºÆ®·Î »ç¿ëÇÑ´Ù API ۸¦ ÃëµæÇϰųª º¯°æÇϰųª ÇÕ´Ï´Ù.
getCharset()
¹× setCharset()
(Àº)´Â, ¸®Äù½ºÆ®·Î »ç¿ëÇϴ ij¸¯ÅÍ ¼¼Æ®¸¦ ÃëµæÇϰųª º¯°æÇϰųª ÇÕ´Ï´Ù.
getPort()
¹× setPort()
(Àº)´Â, ¸®Äù½ºÆ®·Î »ç¿ëÇÑ´Ù TCP Æ÷Å並 ÃëµæÇϰųª º¯°æÇϰųª ÇÕ´Ï´Ù.
getUserAgent()
¹× setUserAgent()
(Àº)´Â, ¸®Äù½ºÆ®·Î »ç¿ëÇÑ´Ù HTTP À¯Àú ¿¡ÀÌÀüÆ®¸¦
ÃëµæÇϰųª º¯°æÇϰųª ÇÕ´Ï´Ù.
ÁÖÀÇ: À̰ÍÀº, ¼ºñ½º¿¡ ¼Û½ÅÇÏ´Â µ¥ÀÌÅÍÀÇ user_agent
(ÀÌ)°¡ ¾Æ´Õ´Ï´Ù.¼ºñ½º¿¡ÀÇ ¸®Äù½ºÆ®¸¦ ÀÛ¼ºÇÒ ¶§¿¡
HTTP User-Agent Çì´õ·Î ÁöÁ¤ÇÏ´Â ³»¿ëÀÌ µË´Ï´Ù.
À¯Àú ¿¡ÀÌÀüÆ®·Î ¼³Á¤ÇÏ´Â °ªÀº
some user agent/version | Akismet/version
Çü½ÄÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.µðÆúÆ®´Â
Zend Framework/0.7.0 | Akismet/1.11
ÀÔ´Ï´Ù.