OSDN Git Service

SpamCheckについて微調整
authorhsur <hsur@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Sun, 15 Oct 2006 12:47:56 +0000 (12:47 +0000)
committerhsur <hsur@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Sun, 15 Oct 2006 12:47:56 +0000 (12:47 +0000)
Ticket処理を追加(NP_0TicketForPlugin併用を前提)

git-svn-id: https://svn.sourceforge.jp/svnroot/nucleus-jp/plugin@453 1ca29b6e-896d-4ea0-84a5-967f57386b96

trunk/NP_TrackBack/NP_TrackBack.php
trunk/NP_TrackBack/trackback/autodetect.php
trunk/NP_TrackBack/trackback/japanese-euc.help.html
trunk/NP_TrackBack/trackback/japanese-utf8.help.html
trunk/NP_TrackBack/trackback/mkeuc.sh

index e044a6a..b9a79f6 100644 (file)
@@ -31,7 +31,7 @@
 
 //modify start+++++++++
                function _createItemLink($itemid, $b){
-                       global $CONF, $manager, $blog;
+                       global $CONF, $manager;
                        $blogurl = $b->getURL();
                
                        if (!$blogurl) {
@@ -64,7 +64,7 @@
                 */
                function doSkinVar($skinType, $what = '', $tb_id = '', $amount = 'limit-1') {
 
-                       global $itemid;
+                       global $itemid, $manager, $CONF;
 
 //modify start+++++++++
                        if(eregi('limit', $tb_id)){
                                case 'manualpingformlink':
                                        echo $this->getManualPingUrl($tb_id);
                                        break;
+                               
+                               case 'sendpinglink':
+                                       echo $manager->addTicketToUrl($CONF['PluginURL'] . 'trackback/index.php?action=ping&amp;id=' . intval($tb_id));
+                                       break;
        
                                // Insert TrackBack count
                                case 'count':
                 */
                function doAction($type)
                {
-                       global $CONF;
+                       global $CONF,$manager;
                        switch ($type) {
        
                                // When no action type is given, assume it's a ping
                                // Manual ping
                                case 'ping':
                                        $errorMsg = $this->handlePing();
-                                       
                                        if ($errorMsg != '')
                                                $this->showManualPingError(intRequestVar('tb_id'), $errorMsg);
                                        else
        
                                // Detect trackback
                                case 'detect':
+                                       if (!$manager->checkTicket()) return '';
+                                       
                                        list($url, $title) = 
                                                $this->getURIfromLink(html_entity_decode(requestVar('tb_link')));
 
                                
                                // delete a trackback(local)
                                case 'deletelc':
+                                       if (!$manager->checkTicket()) return _ERROR_BADTICKET;
+                               
                                        $err = $this->deleteLocal(intRequestVar('tb_id'), intRequestVar('from_id'));
                                        if( $err )
                                                return $err;
                        );
                        
                        if ($member->isLoggedIn() && $member->isAdmin()){
-                               $gVars['admin'] = '<a href="' . $CONF['PluginURL'] . 'trackback/index.php?action=list&amp;id=' . intval($tb_id) . '" target="_blank">[admin]</a>';
-                               $gVars['pingform'] = '<a href="' . $CONF['PluginURL'] . 'trackback/index.php?action=ping&amp;id=' . intval($tb_id) . '" target="_blank">[pingform]</a>';
+                               $adminurl = $manager->addTicketToUrl($CONF['PluginURL'] . 'trackback/index.php?action=list&amp;id=' . intval($tb_id));
+                               $pingformurl = $manager->addTicketToUrl($CONF['PluginURL'] . 'trackback/index.php?action=ping&amp;id=' . intval($tb_id));
+                               $gVars['admin'] = '<a href="' . $adminurl . '" target="_blank">[admin]</a>';
+                               $gVars['pingform'] = '<a href="' . $pingformurl . '" target="_blank">[pingform]</a>';
                        }
 
                        echo TEMPLATE::fill($this->getOption('tplHeader'), $gVars);
                                        'live'          => true,
                                        
                                        /* Backwards compatibility with SpamCheck API 1*/
-                                       'data'          => $url . ' ' . $title . ' ' . $excerpt . ' ' . $blog_name,
+                                       'data'          => $url . "\n" . $title . "\n" . $excerpt . "\n" . $blog_name . "\n" . serverVar('HTTP_USER_AGENT'),
                                        'ipblock'   => true,
                                );
                                
                                
                function getRequiredURL($itemid){
                        global $manager;
-//                     $blog = & $manager->getBlog(getBlogIDFromItemID($item['itemid']));
-                       $blog = & $manager->getBlog(getBlogIDFromItemID($itemid));
+                       $blog = & $manager->getBlog(getBlogIDFromItemID($item['itemid']));
                        if( $this->isEnableLinkCheck($itemid) )
                                return $this->_createItemLink($itemid, $blog);
                        return null;
@@ -2512,7 +2520,7 @@ function _strip_controlchar($string){
          * Show the list of TrackBack pings for a certain Trackback ID
          */
        function showLocalList($tb_id) {
-               global $CONF;
+               global $CONF, $manager;
                
                // create SQL query
                $query = 'SELECT t.from_id as from_id , i.ititle as ititle, i.ibody as ibody, i.itime as itime, i.iblog as iblog FROM '.sql_table('plugin_tb_lc').' as t, '.sql_table('item').' as i WHERE t.tb_id='.intval($tb_id) .' and i.inumber=t.from_id ORDER BY i.itime DESC';
@@ -2539,7 +2547,7 @@ function _strip_controlchar($string){
                                'timestamp' => strftime('%Y-%m-%d',strtotime($o->itime)),
                                'title' => htmlspecialchars($o->ititle),
                                'excerpt' => htmlspecialchars(shorten(strip_tags($o->ibody),200,'...')),
-                               'delete' => $canDelete?'<a href="'.$CONF['ActionURL'].'?action=plugin&amp;name=TrackBack&amp;type=deletelc&amp;tb_id='.$tb_id.'&amp;from_id='.$o->from_id.'">[delete]</a>':'',
+                               'delete' => $canDelete?'<a href="'. $manager->addTicketToUrl($CONF['ActionURL'].'?action=plugin&amp;name=TrackBack&amp;type=deletelc&amp;tb_id='.intval($tb_id).'&amp;from_id='.intval($o->from_id)).'">[delete]</a>':'',
                                'tburl' => $this->getTrackBackUrl($tb_id),
                                'commentcount'=> quickQuery('SELECT COUNT(*) as result FROM '.sql_table('comment').' WHERE citem=' . intval($o->from_id))
                        );
@@ -2562,7 +2570,7 @@ function _strip_controlchar($string){
        function canDelete($tb_id) {
                global $member, $manager;
                
-               if (!$member->isLoggedIn()) return 0;
+               if ( ! $member->isLoggedIn() ) return 0;
                
                $checkIDs = $this->getOption('CheckIDs');
                $itemExists =& $manager->existsItem($tb_id,0,0);
@@ -2583,7 +2591,7 @@ function _strip_controlchar($string){
                function getName()        {             return 'TrackBack';   }
                function getAuthor()      {             return 'rakaz + nakahara21 + hsur'; }
                function getURL()         {             return 'http://blog.cles.jp/np_cles/category/31/subcatid/3'; }
-               function getVersion()     {             return '2.0.3 jp6'; }
+               function getVersion()     {             return '2.0.3 jp7'; }
                function getDescription() {             return _TB_DESCRIPTION; }
        
 //modify start+++++++++
index 13c004f..4161d56 100644 (file)
@@ -1,14 +1,14 @@
 <?php
-
        $strRel = '../../../'; 
        include($strRel . 'config.php');
+       
+       global $manager, $CONF;
+       $action = $manager->addTicketToUrl($CONF['ActionURL'] . '?action=plugin&name=TrackBack&type=detect')    
 ?>
-
-       var TrackbackAction = "<?php echo $CONF['ActionURL'];?>";
        var xmlhttp = false;
        var inProgress = false;
        
-       var TrackbackAction = "<?php echo $CONF['ActionURL'];?>";
+       var TrackbackAction = "<?php echo $action; ?>";
        var TrackbackSource = new Array;
        var TrackbackName   = new Array;
        var TrackbackURL    = new Array;
@@ -61,7 +61,7 @@
                                // The reason we use GET instead of POST is because
                                // Opera does not properly support setting headers yet,
                                // which is a requirement for using POST.
-                               xmlhttp.open("GET", TrackbackAction + "?action=plugin&name=TrackBack&type=detect&tb_link=" + escape(Lookup), true);
+                               xmlhttp.open("GET", TrackbackAction + "&tb_link=" + escape(Lookup), true);
                                xmlhttp.onreadystatechange = tbStateChange;
                                xmlhttp.send('');
                        }
index 0fb8f73..47f0fcb 100644 (file)
@@ -125,6 +125,10 @@ div.tb div.info {
 <h3>ÆüËܸìÈǹ¹¿·ÍúÎò</h3>
 
 <ul>
+       <li>Version 2.0.3jp7 : (2006/*/*)</li>
+       <li>¡¡[Changed] SpamChek¤Ë¤Ä¤¤¤ÆÈùÄ´À°</li>
+       <li>¡¡[Fixed] ¥»¥­¥å¥ê¥Æ¥£¤Î¸þ¾å(ticket½èÍý¤ÎÄɲá£CSRFÂкö)</li>
+       
        <li>Version 2.0.3jp6 : (2006/09/30)</li>
        <li>¡¡[Fixed] ¥»¥­¥å¥ê¥Æ¥£¤Î¸þ¾å</li>
        
@@ -135,7 +139,7 @@ div.tb div.info {
        <li>¡¡[Changed] SQL¤Î¥¯¥©¡¼¥È¤ò"¤«¤é'¤ËÊѹ¹</li>
        <li>¡¡[Fixed] mb_emulator´Ä¶­¤Ë¤Æ¥¨¥é¡¼¤¬½Ð¤ëÌäÂê¤ò½¤Àµ</li>
        <li>¡¡[Fixed] curl¤¬Í­¸ú¤Ê´Ä¶­¤Ç¥¨¥é¡¼¤¬½Ð¤ëÌäÂê¤ò½¤Àµ</li>
-
+       
        <li>Version 2.0.3jp4 : (2006/07/15)</li>
        <li>¡¡[Added] AutoDiscoveryURL½ÐÎÏ»þ¤ËSpamCheck¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤¿</li>
        <li>¡¡[Added] ¥á¥Ã¥»¡¼¥¸¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤòÆüËܸ첽</li>
index 6ca3ea0..95c03cd 100644 (file)
@@ -125,6 +125,10 @@ div.tb div.info {
 <h3>日本語版更新履歴</h3>
 
 <ul>
+       <li>Version 2.0.3jp7 : (2006/*/*)</li>
+       <li> [Changed] SpamChekについて微調整</li>
+       <li> [Fixed] セキュリティの向上(ticket処理の追加。CSRF対策)</li>
+       
        <li>Version 2.0.3jp6 : (2006/09/30)</li>
        <li> [Fixed] セキュリティの向上</li>
        
index 81d3b57..1f82275 100644 (file)
@@ -7,3 +7,5 @@ do
        eucfile=`echo $utf8file | sed 's/japanese-utf8/japanese-euc/'`
        nkf -e -W -d < $utf8file > $eucfile
 done
+
+nkf -e -W -d < japanese-utf8.help.html > japanese-euc.help.html