- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
&pgid();
-¸«½¬¤¤Ãæ¤Î[[¾®¾Â]]¤Ç¤¹¡£
-¥¹¥Ñ¥àËÉ»ßÍѤÎPukiwiki¥é¥¤¥Ö¥é¥ê¤òºîÀ®¤·¤Þ¤·¤¿¤Î¤Ç¸ø³«¤¤¤¿¤·¤Þ¤¹¡£
''ºÇ¿·ÈǤÎWiki(1.4.7)¤Ç¤ÏÆ°ºî¤·¤Ê¤¤¤È¤Î¤³¤È¤Ç¤¹¡£¸½ºßÂбþÊýË¡¤ò¸¡Æ¤Ãæ¤Ç¤¹¤¬¡¢º£¤¹¤°¤ª»È¤¤¤Ë¤Ê¤ê¤¿¤¤Êý¤Ï¡¢²¼µ¥Ú¡¼¥¸¤ËÂбþºö¤ò½ñ¤¤¤Æ¤¤¤¿¤À¤¤¤Æ¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£''
[[PukiWiki/1.4/¤Á¤ç¤Ã¤ÈÊØÍø¤Ë/Akismet¤Ë¤è¤ëspam(¥¹¥Ñ¥à)Ëɻߵ¡Ç½>http://pukiwiki.sourceforge.jp/dev/?PukiWiki%2F1.4%2F%A4%C1%A4%E7%A4%C3%A4%C8%CA%D8%CD%F8%A4%CB%2FAkismet%A4%CB%A4%E8%A4%EBspam%28%A5%B9%A5%D1%A5%E0%29%CB%C9%BB%DF%B5%A1%C7%BD]]
**Ìܼ¡ [#ea670dd8]
#contents();
**spam(¥¹¥Ñ¥à)Âкö¤¬É¬Íפˤʤä¿·Àµ¡ [#q2fbdcde]
-Åö¥Û¡¼¥à¥Ú¡¼¥¸¤ÎÃæ¤Ë[[¥¢¡¼¥¯¥¦¥§¥Ö ¥×¥í¥¸¥§¥¯¥È´ÉÍýÊýË¡¤´¾Ò²ð]]¤È¤¤¤¦¥Ú¡¼¥¸¤¬¤¢¤ê¤Þ¤¹¡£
-¤½¤Î¥Ú¡¼¥¸¤ËPukiWiki¤Î¥×¥é¥°¥¤¥ó¤Ç¤¢¤ëtracker¤òÃÖ¤¤¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢¤½¤³¤¬º£·î¡Ê2006ǯ12·î¡Ë¤ÎƬ¤´¤í¤«¤é¥¹¥Ñ¥à¤ÎɸŪ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
-¤Ò¤É¤¤¤È¤¤Ï°ìÆü¤Ë20·ï¶á¤¯Åê¹Æ¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£
-²ñ¼Ò¤ÎWeb¥µ¥¤¥È¤¬¥¹¥Ñ¥à¤À¤é¤±¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤é¡¢¤Þ¤ë¤Ç¥á¥ó¥Æ¥Ê¥ó¥¹¤¬¤Ç¤¤Æ¤¤¤Ê¤¤¤è¤¦¤Ê°õ¾Ý¤òÍ¿¤¨¤Æ¤·¤Þ¤¤¡¢²ñ¼Ò¤Î¥¤¥á¡¼¥¸¤òÂ礤¯½ý¤Ä¤±¤Þ¤¹¡£
-¤«¤È¤¤¤Ã¤Æ¡¢Ëè²ó¼êºî¶È¤Ç¥¹¥Ñ¥àÅê¹Æ¤òºï½ü¤·¤Æ¤¤¤¿¤Î¤Ç¤ÏÂçÊѤǤ¹¤Î¤Ç¡¢º£²óPukiWiki¤Î¥¹¥Ñ¥àËɻߵ¡Ç½¤òºîÀ®¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
#blikimore
**Akismet¤Ë¤Ä¤¤¤Æ [#w5afcea5]
-Akismet¤È¤¤¤¦¥¹¥Ñ¥à¥Á¥§¥Ã¥¯ÍѤÎWebAPI¤¬¤¢¤ê¤Þ¤¹¡£
http://akismet.com/development/
-º£²ó¤ÎspamÂкö¤Ë¤³¤ÎAPI¤òÍøÍѤµ¤»¤Æ¤¤¤¿¤À¤¤Þ¤·¤¿¡£
**ƳÆþÊýË¡ [#eff2131f]
-º£²óºîÀ®¤·¤¿µ¡Ç½¤òÍøÍѤµ¤ì¤ëÊý¤Ï°Ê²¼¤Î¼ê½ç¤ò¤ª¤³¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¡£
***»öÁ°½àÈ÷ [#x23bcc0e]
-webapiÅÐÏ¿
--¤Þ¤ºAkismet¤Ë¥æ¡¼¥¶ÅÐÏ¿¤ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
---°Ê²¼¤Î¥Ú¡¼¥¸¤«¤é¥æ¡¼¥¶ÅÐÏ¿¤ò¤ª¤³¤Ê¤¤¡¢API¥¡¼¤ò¼èÆÀ¤·¤Æ¤¯¤À¤µ¤¤¡£¡Ê´ðËÜŪ¤Ë̵ÎÁ¤Ç¤¹¤¬¡¢¾¦ÍѤËÍøÍѤ¹¤ë¾ì¹ç¤ÏÍÎÁ¤È¤Ê¤ê¤Þ¤¹¡£¡Ë
http://wordpress.com/api-keys/
-Akismet¥¯¥é¥¹¥À¥¦¥ó¥í¡¼¥É
--°Ê²¼¤Î¥Ú¡¼¥¸¤«¤éPHP4ÍѤÎAkismet¥¯¥é¥¹¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
http://miphp.net/blog/view/php4_akismet_class
-¥é¥¤¥Ö¥é¥ê¤ò¥À¥¦¥ó¥í¡¼¥É
--¤³¤³¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
#ref(akismet_filter.php);
***¥Õ¥¡¥¤¥ë½ñ¤´¹¤¨ [#c3236629]
¤¤¤¯¤Ä¤«½ñ¤´¹¤¨¤¬É¬Íפʲս꤬¤¢¤ê¤Þ¤¹¡£
-akismet_filter
--Àè¤Û¤É¥À¥¦¥ó¥í¡¼¥É¤·¤¿akismet_fileter.php¤Ë°Ê²¼¤Î¤è¤¦¤Êµ½Ò¤¬¤¢¤ê¤Þ¤¹¡£
/*
* »ÈÍÑ»þ¤Ë°Ê²¼¤ÎÄê¿ô¤ò½ñ¤´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£
*/
//¥Á¥§¥Ã¥¯ÂоݤȤ¹¤ë¥×¥é¥°¥¤¥ó̾¡£¥«¥ó¥Þ¶èÀÚ¤ê
define('PLUGIN_NAME_WITH_AKISMET_CHECK', 'comment,tracker');
//Akismet¤Ç¼èÆÀ¤¹¤ë¡£API¥¡¼
define('API_KEY', '');
//¤¢¤Ê¤¿¤Î¥µ¥¤¥È¤ÎURL
define('URL','http://ark-web.jp');
//¤¢¤Ê¤¿¤Î¥µ¥¤¥È¤Î¥Ñ¡¼¥Þ¥ê¥ó¥¯
define('PERMA_LINK','http://ark-web.jp');
--¤³¤³¤òŬÀÚ¤ÊÃͤǽñ¤´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£
-plugin.php
--action¤¬¸Æ¤Ð¤ì¤¿¤È¤¤Ë¡¢¥¹¥Ñ¥à¥Á¥§¥Ã¥¯µ¡Ç½¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤è¤¦¤Ë¡¢plugin.php¤ò½ñ¤´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
---plugin.php¤ÎÃæ¤Ëdo_plugin_action()¤È¤¤¤¦´Ø¿ô¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ÎÃæ¤Ëakismet_filter.php¤ò¸Æ¤Ó½Ð¤¹µ½Ò¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£
// Call API 'action' of the plugin
function do_plugin_action($name)
{
if (! exist_plugin_action($name)) return array();
if(do_plugin_init($name) === FALSE)
die_message('Plugin init failed: ' . $name);
//Akismet Spam Filter
require_once(LIB_DIR . 'akismet_filter.php');
if ( is_spam_message($_POST, $name) == "1" )
die_message("Spam check faild. Plugin:$name");
$retvar = call_user_func('plugin_' . $name . '_action');
...ά
***¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É [#he46a883]
-¥À¥¦¥ó¥í¡¼¥É¤·¤¿akismet¡ÊAkismet.class.php ¡Ë¤È¡¢akismet_fileter.php¤òpukiwiki¤Î¥é¥¤¥Ö¥é¥ê¥Õ¥©¥ë¥À¤ËÇÛÃÖ¤·¤Æ¤¯¤À¤µ¤¤¡£
pukiwiki/lib/Akismet.class.php
pukiwiki/lib/akismet_fileter.php
----
¤³¤ì¤ÇÀßÄê¤ÏÁ´¤Æ¤Ç¤¹¡£
²èÌ̤«¤éÁàºî¤·¡¢Àµ¤·¤¯Æ°¤¯¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
**ÆâÉôŪ¤Ê¤³¤È [#qf19ece5]
-¤³¤ÎSpamÂкö¤Î»ÅÁȤߤò¤´ÀâÌÀ¤·¤Þ¤¹¡£¤È¤¤¤Ã¤Æ¤âÂ礷¤¿¤³¤È¤Ï¤·¤Æ¤¤¤Þ¤»¤ó¡£
--¤Þ¤ººîÀ®¤·¤¿akismet_filter.php¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
<?php
require_once 'Akismet.class.php';
/*
* »ÈÍÑ»þ¤Ë°Ê²¼¤ÎÄê¿ô¤ò½ñ¤´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£
*/
//¥Á¥§¥Ã¥¯ÂоݤȤ¹¤ë¥×¥é¥°¥¤¥ó̾¡£¥«¥ó¥Þ¶èÀÚ¤ê
define('PLUGIN_NAME_WITH_AKISMET_CHECK', 'comment,tracker');
//Akismet¤Ç¼èÆÀ¤¹¤ë¡£API¥¡¼
define('API_KEY', '');
//¤¢¤Ê¤¿¤Î¥µ¥¤¥È¤ÎURL
define('URL','http://ark-web.jp');
//¤¢¤Ê¤¿¤Î¥µ¥¤¥È¤Î¥Ñ¡¼¥Þ¥ê¥ó¥¯
define('PERMA_LINK','http://ark-web.jp');
function is_spam_message($post_data, $plugin_name){
//PLUGIN_NAME_WITH_AKISMET_CHECK¤òÇÛÎó¤ËÊÑ´¹
$plugin_names = explode(",", PLUGIN_NAME_WITH_AKISMET_CHECK);
if (in_array($plugin_name, $plugin_names)) {
//¥Á¥§¥Ã¥¯ÂоݤΥץ饰¥¤¥ó¤Î¾ì¹ç¡£
$akismet = new Akismet(URL, API_KEY);
$akismet->setAuthor("pukiwiki");
$akismet->setContent( var_export($post_data, true) );
$akismet->setPermalink(PERMA_LINK);
return $akismet->isSpam();
}
return false;
}
?>
---is_spam_message¤¬¸Æ¤Ð¤ì¤ë¤È¡¢¼Â¹Ô¤µ¤ì¤ë¥×¥é¥°¥¤¥ó¤¬½èÍýÂоݤȤ¹¤ë¤â¤Î¡¢¤Ä¤Þ¤êÄê¿ôPLUGIN_NAME_WITH_AKISMET_CHECK¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¤â¤Î¡Ê¾åµÎã¤Î¾ì¹çtracker¤Ècomment¡Ë¤Ç¤¢¤ë¤«¤òȽÄê¤ò¤ª¤³¤Ê¤¤¤Þ¤¹¡£
---½èÍýÂоݤΥץ饰¥¤¥ó¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ï¡¢post¥Ç¡¼¥¿¤òAkismet¥¯¥é¥¹¤ËÅϤ·¡¢¥¹¥Ñ¥àÅê¹Æ¤«¤É¤¦¤«¤ÎȽÄê¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
--¼¡¤Ëplugin.php¤ò°Ê²¼¤Î¤è¤¦¤Ë½ñ¤´¹¤¨¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¢¥¯¥·¥ç¥ó¤¬¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¡¢Àè¤Û¤É¤Îis_spam_message´Ø¿ô¤¬¸Æ¤Ð¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
require_once(LIB_DIR . 'akismet_filter.php');
if ( is_spam_message($_POST, $name) == "1" )
die_message("Spam check faild. Plugin:$name");
°Ê¾å¤Ç¤¹¡£
***´ØÏ¢¥Ú¡¼¥¸ [#k020648a]
-[[PukiWiki¤Ë¥³¥ó¥È¥ê¥Ó¥å¡¼¥È¤·¤Þ¤·¤¿¡£>http://pukiwiki.sourceforge.jp/dev/?PukiWiki%2F1.4%2F%A4%C1%A4%E7%A4%C3%A4%C8%CA%D8%CD%F8%A4%CB%2FAkismet%A4%CB%A4%E8%A4%EBspam%28%A5%B9%A5%D1%A5%E0%29%CB%C9%BB%DF%B5%A1%C7%BD]]
-[[¥Ö¥í¥°¤Ë½ñ¤¤Þ¤·¤¿>http://www.ark-web.jp/blog/archives/2006/12/pukiwikiakismet.html]]
#blikifooter(¾®¾Â)
tag: [[PHP>tag/PHP]], [[PukiWiki>tag/PukiWiki]], [[Spam>tag/Spam]], [[Akismet>tag/Akismet]]