&pgid();
 
 ¸«½¬¤¤Ãæ¤Î¾®¾Â¤Ç¤¹¡£
 ¥¹¥Ñ¥àËÉ»ßÍѤÎPukiwiki¥é¥¤¥Ö¥é¥ê¤òºîÀ®¤·¤Þ¤·¤¿¤Î¤Ç¸ø³«¤¤¤¿¤·¤Þ¤¹¡£
 
 **Ìܼ¡ [#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¥­¡¼¤ò¼èÆÀ¤·¤Æ¤¯¤À¤µ¤¤¡£
 ---°Ê²¼¤Î¥Ú¡¼¥¸¤«¤é¥æ¡¼¥¶ÅÐÏ¿¤ò¤ª¤³¤Ê¤¤¡¢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]]
 
 #blikifooter(¾®¾Â)
 
 tag: [[PHP>tag/PHP]], [[PukiWiki>tag/PukiWiki]], [[Spam>tag/Spam]], [[Akismet>tag/Akismet]]

¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS

¥¢¡¼¥¯¥¦¥§¥Ö¤Î¥µ¡¼¥Ó¥¹¤ä¥½¥ê¥å¡¼¥·¥ç¥ó¤Ï¤³¤Á¤é