Throws SPAM Away - Version 2.6.8

Version Description

2015/5/12 OFF 3 1

options

WordPressWarning

Download this release

Release Info

Developer tsato
Plugin Icon wp plugin Throws SPAM Away
Version 2.6.8
Comparing to
See all releases

Code changes from version 2.6.7 to 2.6.8

Files changed (5) hide show
  1. hostbyip.php +22 -7
  2. readme.txt +28 -4
  3. throws_spam_away.class.php +194 -117
  4. throws_spam_away.php +8 -9
  5. uninstall.php +7 -5
hostbyip.php CHANGED
@@ -3,7 +3,7 @@
3
  * <p>ThrowsSpamAway</p> hostbyipページ
4
  * WordPress's Plugin
5
  * @author Takeshi Satoh@GTI Inc. 2014
6
- * @version 2.6.6 2014/12/22
7
  */
8
  require_once 'throws_spam_away.class.php';
9
  require_once dirname( __FILE__ ).'/../../../wp-load.php';
@@ -35,15 +35,30 @@ window.onblur=function(){
35
  window.close();
36
  }
37
  </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  </head>
39
  <body>
40
  <div style="textalign: center;">
41
- <h2 style="background:#333; color:#fff;"><?php echo $spam_ip; ?></h2>
42
  <?php
43
  $spam_host = gethostbyaddr(htmlspecialchars($spam_ip));
44
  if ($spam_host != $spam_ip) {
45
  ?>
46
- <h3 style="background: #666;color: #fff;">特定のホスト情報が見つかりました。</h3>
47
  ↓↓↓<br />
48
 
49
  <h4><?php echo $spam_host; ?></h4>
@@ -51,17 +66,17 @@ Whois: <a href="http://whois.arin.net/rest/ip/<?php echo $spam_ip; ?>" target="_
51
  <?php
52
  } else {
53
  ?>
54
- <h3 style="background: #666;color: #fff;">このIPアドレスから特定のホスト情報は見つかりませんでした。</h3>
55
  <?php
56
  }
57
  ?>
58
  <?php if ( $last_spam_comment_result != NULL ) { ?>
59
- <div style="background: #999;color: #fff;margin:3px 0 0 0;">このIPからの最終投稿日時</div><?php echo $last_comment_date; ?><br />
60
- <div style="background: #999;color: #fff;margin:3px 0 0 0;">このIPからスパム投稿対象となったページ</div><a href="<?php echo $last_comment_post; ?>" target="_blank"><?php echo $last_comment_post_title; ?></a><br />
61
  <?php } ?>
62
  <h4>スパムフィルター:<?php echo ($is_spam_champuru ? "スパムブラックリスト存在IPアドレス" : "未検出" ); ?></h4>
63
 
64
- <div style="background: #999;color: #fff;margin:3px 0 0 0;">最新コメント内容</div>
65
  <div ><?php if ( $spam_author != NULL && $spam_comment != NULL ) {
66
  ?>
67
  IP: <?php esc_attr_e( $spam_ip ); ?><br />
3
  * <p>ThrowsSpamAway</p> hostbyipページ
4
  * WordPress's Plugin
5
  * @author Takeshi Satoh@GTI Inc. 2014
6
+ * @version 2.6.8
7
  */
8
  require_once 'throws_spam_away.class.php';
9
  require_once dirname( __FILE__ ).'/../../../wp-load.php';
35
  window.close();
36
  }
37
  </script>
38
+ <style>
39
+ h2 {
40
+ background:#333;
41
+ color:#fff;
42
+ }
43
+ h3 {
44
+ background: #666;
45
+ color: #fff;
46
+ }
47
+ .tsa_hostbyip_text {
48
+ background: #999;
49
+ color: #fff;
50
+ margin:3px 0 0 0;
51
+ }
52
+ </style>
53
  </head>
54
  <body>
55
  <div style="textalign: center;">
56
+ <h2><?php echo $spam_ip; ?></h2>
57
  <?php
58
  $spam_host = gethostbyaddr(htmlspecialchars($spam_ip));
59
  if ($spam_host != $spam_ip) {
60
  ?>
61
+ <h3>特定のホスト情報が見つかりました。</h3>
62
  ↓↓↓<br />
63
 
64
  <h4><?php echo $spam_host; ?></h4>
66
  <?php
67
  } else {
68
  ?>
69
+ <h3>このIPアドレスから特定のホスト情報は見つかりませんでした。</h3>
70
  <?php
71
  }
72
  ?>
73
  <?php if ( $last_spam_comment_result != NULL ) { ?>
74
+ <div class="tsa_hostbyip_text">このIPからの最終投稿日時</div><?php echo $last_comment_date; ?><br />
75
+ <div class="tsa_hostbyip_text">このIPからスパム投稿対象となったページ</div><a href="<?php echo $last_comment_post; ?>" target="_blank"><?php echo $last_comment_post_title; ?></a><br />
76
  <?php } ?>
77
  <h4>スパムフィルター:<?php echo ($is_spam_champuru ? "スパムブラックリスト存在IPアドレス" : "未検出" ); ?></h4>
78
 
79
+ <div class="tsa_hostbyip_text">最新コメント内容</div>
80
  <div ><?php if ( $spam_author != NULL && $spam_comment != NULL ) {
81
  ?>
82
  IP: <?php esc_attr_e( $spam_ip ); ?><br />
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Plugin Name ===
2
  Contributors: tsato
3
- Donate link: http://gti.jp/tsa
4
  Tags: comments, spam
5
  Requires at least: 3.1
6
- Tested up to: 4.1
7
- Stable tag: 2.6.7
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -17,6 +17,7 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
17
  ・日本語判定(日本語を含むかどうか)
18
   コメント欄に日本語文字列が含まれていないと投稿出来ない・・・
19
   といってもエラーにするのではなく「無視」して何事もなかったようにもとの記事に戻ります。
 
20
 
21
   ダブルバイトをカウントするのではなく正規表現により日本語を検出しているため、ダブルバイトの他言語も侵入してきません。
22
   [設定にてON/OFF出来ます。]
@@ -81,6 +82,18 @@ IPアドレスの指定「ブロックリスト」「ホワイトリスト」共
81
  ※コメント投稿時のスパムコメント対応の煩わしさが原因で作ったものですのでスパム判定されたコメントを保持しておりません。
82
 
83
  -- これまでの変更点について
 
 
 
 
 
 
 
 
 
 
 
 
84
  ・バージョン2.6.7
85
   2015/4/3
86
   コメント欄の無いページではスクリプトの読込みを行わないように制御を追加
@@ -227,7 +240,7 @@ IPアドレスの指定「ブロックリスト」「ホワイトリスト」共
227
   加えて、トラックバック記事内にこちらのサイトのURLが含まれない場合、日本語が含まれていても無視するかどうかの設定も出来るようにしました。
228
 
229
 
230
- 制作:佐藤 毅(さとう たけし) <a href="http://gti.jp/" target="_blank">博多 南福岡 ホームページ制作</a> 株式会社ジーティーアイ代表
231
 
232
  == Installation ==
233
 
@@ -252,6 +265,17 @@ e.g.
252
  == Screenshots ==
253
 
254
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
255
  = 2.6.7 =
256
   2015/4/3
257
   コメント欄が表示されないページではスクリプトの読込みを行わないように制御を追加
1
  === Plugin Name ===
2
  Contributors: tsato
3
+ Donate link: http://gti.jp/throws-spam-away
4
  Tags: comments, spam
5
  Requires at least: 3.1
6
+ Tested up to: 4.2.2
7
+ Stable tag: 2.6.8
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
17
  ・日本語判定(日本語を含むかどうか)
18
   コメント欄に日本語文字列が含まれていないと投稿出来ない・・・
19
   といってもエラーにするのではなく「無視」して何事もなかったようにもとの記事に戻ります。
20
+  [設定にてON/OFF出来ます。]
21
 
22
   ダブルバイトをカウントするのではなく正規表現により日本語を検出しているため、ダブルバイトの他言語も侵入してきません。
23
   [設定にてON/OFF出来ます。]
82
  ※コメント投稿時のスパムコメント対応の煩わしさが原因で作ったものですのでスパム判定されたコメントを保持しておりません。
83
 
84
  -- これまでの変更点について
85
+ ・バージョン2.6.8
86
+  2015/5/12
87
+  スパム排除が目的なのにスパムが溜まる矛盾を解決すべく「スパムデータベースへの保存」を デフォルト OFF にしました。
88
+
89
+  スパムデータベースの最小保存期間を 3日から 1日に変更しました。
90
+  スパムデータベースからすべてのデータを削除出来るようになりました。
91
+
92
+  アンインストール時にスパムデータテーブルの削除を行うようにしました。
93
+  またアンインストール時に一部optionsに格納されるパラメータが削除されていなかった不具合を修正しました。
94
+  
95
+  WordPress非推奨の部分を一掃しデバッグモードにてエラー(Warning)が表示されていた部分を修正しました。
96
+
97
  ・バージョン2.6.7
98
   2015/4/3
99
   コメント欄の無いページではスクリプトの読込みを行わないように制御を追加
240
   加えて、トラックバック記事内にこちらのサイトのURLが含まれない場合、日本語が含まれていても無視するかどうかの設定も出来るようにしました。
241
 
242
 
243
+ 制作:佐藤 毅(さとう たけし) <a href="http://gti.jp/" target="_blank">福岡のシステム開発 ホームページ制作</a> 株式会社ジーティーアイ代表
244
 
245
  == Installation ==
246
 
265
  == Screenshots ==
266
 
267
  == Changelog ==
268
+ = 2.6.8 =
269
+  2015/5/12
270
+  「スパムデータベースへの保存」を デフォルト OFF にしました。
271
+  スパムデータベースの最小保存期間を 3日から 1日に変更しました。
272
+  スパムデータベースからすべてのデータを削除出来るようになりました。
273
+
274
+  アンインストール時にスパムデータテーブルの削除を行うようにしました。
275
+  またアンインストール時に一部optionsに格納されるパラメータが削除されていなかった不具合を修正しました。
276
+  
277
+  WordPress非推奨の部分を一掃しデバッグモードにてエラー(Warning)が表示されていた部分を修正しました。
278
+
279
  = 2.6.7 =
280
   2015/4/3
281
   コメント欄が表示されないページではスクリプトの読込みを行わないように制御を追加
throws_spam_away.class.php CHANGED
@@ -3,16 +3,20 @@
3
  *
4
  * <p>ThrowsSpamAway</p> Class
5
  * WordPress's Plugin
6
- * @author Takeshi Satoh@GTI Inc. 2014
7
- * @version 2.6.7
8
  */
9
  class ThrowsSpamAway {
10
 
11
  // データベースのversion
12
- var $version = '2.6';
13
  var $table_name = NULL;
14
 
15
  public function __construct() {
 
 
 
 
 
16
 
17
  // エラー記号
18
  if ( !defined('MUST_WORD') ) {
@@ -28,11 +32,10 @@ class ThrowsSpamAway {
28
  define( 'NOT_JAPANESE', 'not_japanese');
29
  }
30
 
31
- global $default_spam_data_save;
32
- global $wpdb;
33
  // 接頭辞(wp_)を付けてテーブル名を設定
34
- $this->table_name = $wpdb->prefix . 'tsa_spam';
35
 
 
36
  add_action( 'admin_menu', array( $this, 'admin_menu' ) );
37
 
38
  global $default_spam_keep_day_count;
@@ -49,17 +52,75 @@ class ThrowsSpamAway {
49
  }
50
  }
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  /**
53
  * スパム投稿テーブル作成
54
  * $flg がTRUEなら強制的にテーブル作成
55
  */
56
  function tsa_create_tbl() {
57
  global $wpdb;
 
58
  global $tsa_db_version;
59
 
 
60
  // テーブル作成要フラグ
61
  $flg = FALSE;
62
- if ( $wpdb->get_var( "SHOW TABLES LIKE '$this->table_name'" ) != $this->table_name ) {
63
  // テーブルが存在しないため作成する
64
  $flg = TRUE;
65
  }
@@ -71,7 +132,7 @@ class ThrowsSpamAway {
71
  // DBバージョンが低い または テーブルが存在しない場合は作成
72
  if ( $flg == TRUE || $installed_ver < $tsa_db_version ) {
73
  // dbDeltaのおかげ様でCREATE文のみ
74
- $sql = "CREATE TABLE $this->table_name (
75
  meta_id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
76
  post_id bigint(20) UNSIGNED DEFAULT '0' NOT NULL,
77
  ip_address varchar(64),
@@ -312,50 +373,6 @@ class ThrowsSpamAway {
312
  return TRUE;
313
  }
314
 
315
- // /**
316
- // * スパムちゃんぷるー利用ブロック
317
- // */
318
- // function reject_spam_ip( $ip ) {
319
- // global $spam_champuru_host;
320
- // global $error_type;
321
-
322
- // $spam_def_ip = '127.0.0.2';
323
- // $host = $spam_champuru_host;
324
- // $pattern = '/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/';
325
- // $check_IP = trim( preg_match( $pattern, $ip ) ? $ip : $_SERVER['REMOTE_ADDR'] );
326
- // $spam = false;
327
- // if ( preg_match( $pattern, $check_IP ) ) {
328
- // $host = implode( '.',array_reverse( split( '\.',$check_IP ) ) ) . '.' . $host;
329
- // if ( function_exists( 'dns_get_record' ) ) {
330
- // $check_recs = dns_get_record( $host, DNS_A );
331
- // if ( isset( $check_recs[0]['ip'] ) ) $spam = ( $check_recs[0]['ip'] === $spam_def_ip );
332
- // unset( $check_recs );
333
- // } elseif ( function_exists( 'gethostbyname' ) ) {
334
- // $checked = ( gethostbyname( $host ) === $spam_def_ip );
335
- // } elseif ( class_exists( 'Net_DNS_Resolver' ) ) {
336
- // $resolver = new Net_DNS_Resolver();
337
- // $response = $resolver->query( $host, 'A' );
338
- // if ( $response ) {
339
- // foreach ( $response->answer as $rr ) {
340
- // if ( $rr->type === 'A' ) {
341
- // $spam = ( $rr->address === $spam_def_ip );
342
- // break;
343
- // }
344
- // }
345
- // }
346
- // unset( $response );
347
- // unset( $resolver );
348
- // } elseif ( function_exists( 'checkdnsrr' ) ) {
349
- // $spam = ( checkdnsrr( $host, 'A' ) === true );
350
- // }
351
- // }
352
- // if ( $spam ) {
353
- // $error_type = SPAM_BLACKLIST;
354
- // return FALSE;
355
- // }
356
- // return TRUE;
357
- // }
358
-
359
  /**
360
  * スパムちゃんぷるー代替スパムブラックリスト利用ブロック
361
  */
@@ -393,7 +410,7 @@ class ThrowsSpamAway {
393
  $i = 0;
394
  while($i < count($check_list)){
395
  $check = $ip . $check_list[$i];
396
- $check = implode( '.',array_reverse( split( '\.',$check_IP ) ) ) . '.' . $check_list[$i];
397
 
398
  $i ++;
399
 
@@ -446,7 +463,7 @@ class ThrowsSpamAway {
446
  global $default_japanese_string_min_count; // 日本語文字最小含有数
447
 
448
  // Throws SPAM Away 起動フラグ '1':起動 "2":オフ
449
- $tsa_on_flg = get_option( 'tsa_on_flg', $default_tsa_on );
450
 
451
  // 一定時間制限チェック
452
  // 一定時間内スパム認定機能<br />○分以内に○回スパムとなったら○分間、当該IPからのコメントはスパム扱いする設定+スパム情報保存
@@ -618,7 +635,7 @@ class ThrowsSpamAway {
618
  $mincap = 'level_8';
619
  $spam_mincap = 'level_7';
620
  if (function_exists('add_menu_page')) {
621
- add_menu_page(__('Throws SPAM Away', 'throws-spam-away'), __('Throws SPAM Away', 'throws-spam-away'), $mincap, 'throws-spam-away', array( $this, 'options_page'));
622
  }
623
 
624
  if (function_exists('add_submenu_page')) {
@@ -680,7 +697,46 @@ class ThrowsSpamAway {
680
 
681
  // 設定完了の場合はメッセージ表示
682
  $_saved = FALSE;
683
- if ( esc_attr( $_GET['settings-updated'] ) == 'true' ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
684
  $_saved = TRUE;
685
  }
686
  wp_enqueue_style( 'thorows-spam-away-styles', plugins_url( '/css/tsa_styles.css', __FILE__ ) );
@@ -751,7 +807,8 @@ function addIpAddresses(newAddressStr) {
751
  <?php if ( $_saved ) { ?>
752
  <div class="updated" style="padding: 10px; width: 50%;" id="message">設定の更新が完了しました。</div>
753
  <?php } ?>
754
- <form method="post" action="options.php">
 
755
  <p>
756
  <a href="spam_opt">スパム対策機能設定</a> | <a href="#url_opt">URL文字列除外 設定</a> | <a href="#keyword_opt">NGキーワード / 必須キーワード 制御設定</a> | <a href="#tb_opt">トラックバックへの対応設定</a> | <a href="#ip_opt">投稿IPアドレスによる制御設定</a> | <a href="#memo_opt">メモ</a> | <a href="#spam_data_opt">スパムデータベース</a>
757
  </p>
@@ -1104,7 +1161,7 @@ function addIpAddresses(newAddressStr) {
1104
  ?>
1105
  <label><input type="checkbox" name="tsa_spam_data_delete_flg" value='1'
1106
  <?php esc_attr_e( $chk ); ?> />&nbsp;期間が過ぎたデータを削除する</label><br />
1107
- ※一度消したデータは復活出来ませんのでご注意ください。また最低7日分は保存されます。
1108
  </td>
1109
  </tr>
1110
  </table>
@@ -1136,9 +1193,12 @@ function addIpAddresses(newAddressStr) {
1136
  </table>
1137
  <a href="#option_setting" class="alignright">▲ 上へ</a>
1138
 
1139
- <input type="hidden" name="action" value="update" /> <input
 
 
1140
  type="hidden" name="page_options"
1141
  value="tsa_on_flg,tsa_japanese_string_min_count,tsa_back_second,tsa_caution_message,tsa_caution_msg_point,tsa_error_message,tsa_ng_keywords,tsa_ng_key_error_message,tsa_must_keywords,tsa_must_key_error_message,tsa_tb_on_flg,tsa_tb_url_flg,tsa_block_ip_addresses,tsa_ip_block_from_spam_chk_flg,tsa_block_ip_address_error_message,tsa_url_count_on_flg,tsa_ok_url_count,tsa_url_count_over_error_message,tsa_spam_data_save,tsa_spam_limit_flg,tsa_spam_limit_minutes,tsa_spam_limit_count,tsa_spam_limit_over_interval,tsa_spam_limit_over_interval_error_message,tsa_spam_champuru_flg,tsa_spam_keep_day_count,tsa_spam_data_delete_flg,tsa_white_ip_addresses,tsa_dummy_param_field_flg,tsa_memo,tsa_spam_champuru_by_text,tsa_spam_champuru_hosts" />
 
1142
  <p class="submit" id="tsa_submit_button">
1143
  <input type="submit" class="button-primary"
1144
  value="<?php _e('Save Changes') ?>" />
@@ -1223,7 +1283,7 @@ function addIpAddresses(newAddressStr) {
1223
  */
1224
  function spams_list() {
1225
  global $wpdb;
1226
- global $lower_spam_keep_day_count;
1227
  $_saved = FALSE;
1228
 
1229
  // ブラックIPリスト
@@ -1231,51 +1291,59 @@ function addIpAddresses(newAddressStr) {
1231
  $block_ip_addresses = str_replace("\n", ",", $block_ip_addresses_str);
1232
  $ip_list = mb_split( ",", $block_ip_addresses );
1233
 
1234
- // スパム情報から 特定IPアドレス削除
1235
- if ( $_POST['act'] != NULL && $_POST['act'] == "remove_ip" ) {
1236
- $remove_ip_address = @htmlspecialchars( $_POST['ip_address'] );
1237
- if ( !isset( $remove_ip_address ) || strlen( $remove_ip_address ) == 0 ) {
1238
- // N/A
1239
- } else {
1240
- // スパムデータベースから特定IP情報削除
1241
- $wpdb->query(
1242
- "DELETE FROM ".$this->table_name." WHERE ip_address = '".$remove_ip_address."' "
1243
- );
1244
- $_saved = TRUE;
1245
- $message = "スパムデータから $remove_ip_address のデータを削除しました。";
1246
- }
1247
- } elseif ( $_POST['act'] != NULL && $_POST['act'] == "add_ip" ) {
1248
- $add_ip_address = @htmlspecialchars( $_POST['ip_address'] );
1249
- if ( ! isset( $add_ip_address ) || strlen( $add_ip_address ) == 0 ) {
1250
- // N/A
1251
- } else {
1252
- // 対象IPアドレスに一つ追加
1253
- $dup_flg = FALSE;
1254
- foreach ( $ip_list as $ip ) {
1255
- if ( $ip == trim($add_ip_address) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1256
  $_saved = TRUE;
1257
- $message = "$add_ip_address はすでに設定されています。";
1258
- $dup_flg = TRUE;
1259
- break;
1260
  }
1261
  }
1262
- if ( $dup_flg == FALSE ) {
1263
- $added_block_ip_addresses_str = $block_ip_addresses_str . "\n" .$add_ip_address;
1264
- update_option("tsa_block_ip_addresses", $added_block_ip_addresses_str);
 
 
 
 
 
1265
  $_saved = TRUE;
1266
- $message = "$add_ip_address を追加設定しました。";
1267
  }
1268
  }
1269
  }
1270
-
1271
- // ブラックIPリスト もう一度取得
1272
- // $block_ip_addresses_str = get_option( 'tsa_block_ip_addresses', '' );
1273
- // $block_ip_addresses = str_replace( "\n", ',', $block_ip_addresses_str );
1274
- // $ip_list = mb_split( ",", $block_ip_addresses );
1275
-
1276
- if ( $_GET['settings-updated'] == 'true' ) {
1277
- $_saved = TRUE;
1278
- }
1279
  ?>
1280
  <div class="wrap">
1281
  <?php
@@ -1304,21 +1372,24 @@ function addIpAddresses(newAddressStr) {
1304
  LIMIT 1
1305
  ";
1306
  $qry = $wpdb->get_row( $total_qry );
1307
- $maxxday = $qry->pageview;
1308
-
1309
- $total_vis = "
1310
- SELECT count(distinct ip_address) as vis, ppd
1311
- FROM (select ip_address, SUBSTRING(post_date,1,10) as ppd from $this->table_name) as B
1312
- GROUP BY ppd HAVING ppd >= '" . gmdate( 'Y-m-d', current_time( 'timestamp' ) - 86400 * $gdays ) . "'
1313
- ORDER BY vis DESC
1314
- LIMIT 1
1315
- ";
1316
- $qry_vis = $wpdb->get_row( $total_vis );
1317
- $maxxday += $qry_vis->vis;
 
 
 
1318
 
1319
  if ( $maxxday == 0 ) {
1320
- $maxxday = 1;
1321
- }
1322
 
1323
  // Y
1324
  $gd = ( 100 / $gdays ).'%';
@@ -1344,17 +1415,13 @@ function addIpAddresses(newAddressStr) {
1344
  $px_white = 0;
1345
  }
1346
 
1347
- print '<td width="'.$gd.'" valign="bottom"';
1348
- if ( $start_of_week == gmdate( 'w', current_time( 'timestamp' ) - 86400 * $gg ) ) {
1349
- print ' style="border-left:2px dotted gray;"';
1350
- } # week-cut
1351
- print "><div style='float:left;width:100%;font-family:Helvetica;font-size:7pt;text-align:center;border-right:1px solid white;color:black;'>
1352
  <div style='background:#ffffff;width:100%;height:".$px_white."px;'></div>
1353
  <div style='background:$unique_color;width:100%;height:".$px_visitors."px;' title='".$qry_visitors->total." ip_addresses'></div>
1354
  <div style='background:$web_color;width:100%;height:".$px_pageviews."px;' title='".$qry_pageviews->total." spam comments'></div>
1355
  <div style='background:gray;width:100%;height:1px;'></div>
1356
  <br />".gmdate( 'd', current_time( 'timestamp' ) - 86400 * $gg ) . '<br />' . gmdate( 'M', current_time( 'timestamp' ) - 86400 * $gg ) ."
1357
- <div style='background:$ffffff;width:100%;height:2.2em;'>".$qry_visitors->total."<br />".$qry_pageviews->total."</div>
1358
  <br clear=\"all\" /></div>
1359
  </td>\n";
1360
  } ?>
@@ -1522,12 +1589,22 @@ function addIpAddresses(newAddressStr) {
1522
  <form method="post" id="remove">
1523
  <input type="hidden" name="ip_address" id="remove_ip_address" value="" />
1524
  <input type="hidden" name="act" value="remove_ip" />
 
1525
  </form>
1526
  <form method="post" id="adding">
1527
  <input type="hidden" name="ip_address" id="add_ip_address" value="" />
1528
  <input type="hidden" name="act" value="add_ip" />
 
1529
  </form>
1530
  <p>スパム投稿IPアドレスを参考にアクセス禁止対策を行なってください。</p>
 
 
 
 
 
 
 
 
1531
  </div>
1532
  <br clear="all" />
1533
  <?php
3
  *
4
  * <p>ThrowsSpamAway</p> Class
5
  * WordPress's Plugin
6
+ * @author Takeshi Satoh@GTI Inc. 2015
7
+ * @version 2.6.8
8
  */
9
  class ThrowsSpamAway {
10
 
11
  // データベースのversion
 
12
  var $table_name = NULL;
13
 
14
  public function __construct() {
15
+ global $default_spam_data_save;
16
+ global $tsa_spam_tbl_name;
17
+ global $wpdb;
18
+ // Activate
19
+ register_activation_hook( __FILE__, array( $this, 'activate' ) );
20
 
21
  // エラー記号
22
  if ( !defined('MUST_WORD') ) {
32
  define( 'NOT_JAPANESE', 'not_japanese');
33
  }
34
 
 
 
35
  // 接頭辞(wp_)を付けてテーブル名を設定
36
+ $this->table_name = $wpdb->prefix . $tsa_spam_tbl_name;
37
 
38
+ // 管理画面メニュー追加
39
  add_action( 'admin_menu', array( $this, 'admin_menu' ) );
40
 
41
  global $default_spam_keep_day_count;
52
  }
53
  }
54
 
55
+ /**
56
+ * プラグインインストール後 有効化時処理
57
+ */
58
+ function activate() {
59
+ global $default_dummy_param_field_flg, $default_on_flg, $default_without_title_str;
60
+ global $default_without_title_str, $default_back_second, $default_caution_msg;
61
+ global $default_caution_msg_point, $default_error_msg, $default_url_count_check_flg;
62
+ global $default_ok_url_count, $default_url_count_over_error_msg, $default_ng_key_error_msg;
63
+ global $default_must_key_error_msg, $default_tb_on_flg, $default_tb_url_flg;
64
+ global $default_spam_champuru_hosts, $default_spam_champuru_by_text, $default_spam_champuru_flg;
65
+ global $default_ip_block_from_spam_chk_flg, $default_block_ip_address_error_msg, $default_spam_data_save;
66
+ global $default_spam_data_delete_flg, $default_spam_keep_day_count, $lower_spam_keep_day_count;
67
+ global $default_spam_limit_flg, $default_spam_limit_minutes, $default_spam_limit_count;
68
+ global $default_spam_limit_over_interval, $default_spam_limit_over_interval_error_msg;
69
+
70
+ // 初期設定値
71
+ update_option( 'tsa_dummy_param_field_flg', $default_dummy_param_field_flg );
72
+ update_option( 'tsa_on_flg', $default_on_flg);
73
+ update_option( 'tsa_without_title_str', $default_without_title_str );
74
+ update_option( 'tsa_japanese_string_min_count', $default_japanese_string_min_count );
75
+ update_option( 'tsa_back_second', $default_back_second );
76
+ update_option( 'tsa_caution_msg', $default_caution_msg );
77
+ update_option( 'tsa_caution_msg_point', $default_caution_msg_point );
78
+ update_option( 'tsa_error_msg', $default_error_msg );
79
+ update_option( 'tsa_url_count_check_flg', $default_url_count_check_flg );
80
+ update_option( 'tsa_ok_url_count', $default_ok_url_count );
81
+ update_option( 'tsa_url_count_over_error_msg', $default_url_count_over_error_msg );
82
+ update_option( 'tsa_ng_key_error_message', $default_ng_key_error_msg );
83
+ update_option( 'tsa_must_key_error_message', $default_must_key_error_msg );
84
+ update_option( 'tsa_tb_on_flg', $default_tb_on_flg );
85
+ update_option( 'tsa_tb_url_flg', $default_tb_url_flg );
86
+ update_option( 'tsa_spam_champuru_hosts', $default_spam_champuru_hosts );
87
+ update_option( 'tsa_spam_champuru_by_text', $default_spam_champuru_by_text );
88
+ update_option( 'tsa_spam_champuru_flg', $default_spam_champuru_flg );
89
+ update_option( 'tsa_ip_block_from_spam_chk_flg', $default_ip_block_from_spam_chk_flg );
90
+ update_option( 'tsa_block_ip_address_error_message', $default_block_ip_address_error_msg );
91
+ update_option( 'tsa_spam_data_save', $default_spam_data_save );
92
+ update_option( 'tsa_spam_data_delete_flg', $default_spam_data_delete_flg );
93
+ update_option( 'tsa_spam_keep_day_count', $default_spam_keep_day_count );
94
+ update_option( 'tsa_spam_limit_flg', $default_spam_limit_flg );
95
+ update_option( 'tsa_spam_limit_minutes', $default_spam_limit_minutes );
96
+ update_option( 'tsa_spam_limit_count', $default_spam_limit_count );
97
+ update_option( 'tsa_spam_limit_over_interval', $default_spam_limit_over_interval );
98
+ update_option( 'tsa_spam_limit_over_interval_error_message', $default_spam_limit_over_interval_error_msg );
99
+
100
+ // スパムデータベース作成
101
+ $this->tsa_create_tbl();
102
+ }
103
+
104
+ /**
105
+ * プラグイン無効化時処理
106
+ */
107
+ function deactivate() {
108
+ // アンインストール時に設定値削除
109
+ }
110
+
111
  /**
112
  * スパム投稿テーブル作成
113
  * $flg がTRUEなら強制的にテーブル作成
114
  */
115
  function tsa_create_tbl() {
116
  global $wpdb;
117
+ global $tsa_spam_tbl_name;
118
  global $tsa_db_version;
119
 
120
+ $table_name = $wpdb->prefix . $tsa_spam_tbl_name;
121
  // テーブル作成要フラグ
122
  $flg = FALSE;
123
+ if ( $wpdb->get_var( "SHOW TABLES LIKE '$table_name'" ) != $table_name ) {
124
  // テーブルが存在しないため作成する
125
  $flg = TRUE;
126
  }
132
  // DBバージョンが低い または テーブルが存在しない場合は作成
133
  if ( $flg == TRUE || $installed_ver < $tsa_db_version ) {
134
  // dbDeltaのおかげ様でCREATE文のみ
135
+ $sql = "CREATE TABLE $table_name (
136
  meta_id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
137
  post_id bigint(20) UNSIGNED DEFAULT '0' NOT NULL,
138
  ip_address varchar(64),
373
  return TRUE;
374
  }
375
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
376
  /**
377
  * スパムちゃんぷるー代替スパムブラックリスト利用ブロック
378
  */
410
  $i = 0;
411
  while($i < count($check_list)){
412
  $check = $ip . $check_list[$i];
413
+ $check = implode( '.',array_reverse( @split( '\.',$check_IP ) ) ) . '.' . $check_list[$i];
414
 
415
  $i ++;
416
 
463
  global $default_japanese_string_min_count; // 日本語文字最小含有数
464
 
465
  // Throws SPAM Away 起動フラグ '1':起動 "2":オフ
466
+ $tsa_on_flg = get_option( 'tsa_on_flg', $default_on_flg );
467
 
468
  // 一定時間制限チェック
469
  // 一定時間内スパム認定機能<br />○分以内に○回スパムとなったら○分間、当該IPからのコメントはスパム扱いする設定+スパム情報保存
635
  $mincap = 'level_8';
636
  $spam_mincap = 'level_7';
637
  if (function_exists('add_menu_page')) {
638
+ add_menu_page(__('Throws SPAM Away 設定', 'throws-spam-away'), __('Throws SPAM Away', 'throws-spam-away'), $mincap, 'throws-spam-away', array( $this, 'options_page'));
639
  }
640
 
641
  if (function_exists('add_submenu_page')) {
697
 
698
  // 設定完了の場合はメッセージ表示
699
  $_saved = FALSE;
700
+
701
+ if ( isset( $_POST['tsa_nonce'] ) ) {
702
+ check_admin_referer( 'tsa_action', 'tsa_nonce' );
703
+
704
+ update_option( 'tsa_on_flg', $_POST['tsa_on_flg'] );
705
+ update_option( 'tsa_japanese_string_min_count', $_POST['tsa_japanese_string_min_count'] );
706
+ update_option( 'tsa_back_second', $_POST['tsa_back_second'] );
707
+ update_option( 'tsa_caution_message', $_POST['tsa_caution_message'] );
708
+ update_option( 'tsa_caution_msg_point', $_POST['tsa_caution_msg_point'] );
709
+ update_option( 'tsa_error_message', $_POST['tsa_error_message'] );
710
+ update_option( 'tsa_ng_keywords', $_POST['tsa_ng_keywords'] );
711
+ update_option( 'tsa_ng_key_error_message', $_POST['tsa_ng_key_error_message'] );
712
+ update_option( 'tsa_must_keywords', $_POST['tsa_must_keywords'] );
713
+ update_option( 'tsa_must_key_error_message', $_POST['tsa_must_key_error_message'] );
714
+ update_option( 'tsa_tb_on_flg', $_POST['tsa_tb_on_flg'] );
715
+ update_option( 'tsa_tb_url_flg', $_POST['tsa_tb_url_flg'] );
716
+ update_option( 'tsa_block_ip_addresses', $_POST['tsa_block_ip_addresses'] );
717
+ update_option( 'tsa_ip_block_from_spam_chk_flg', ( isset( $_POST['tsa_ip_block_from_spam_chk_flg'] ) ? $_POST['tsa_ip_block_from_spam_chk_flg'] : '0' ) );
718
+ update_option( 'tsa_block_ip_address_error_message', $_POST['tsa_block_ip_address_error_message'] );
719
+ update_option( 'tsa_url_count_on_flg', $_POST['tsa_url_count_on_flg'] );
720
+ update_option( 'tsa_ok_url_count', $_POST['tsa_ok_url_count'] );
721
+ update_option( 'tsa_url_count_over_error_message', $_POST['tsa_url_count_over_error_message'] );
722
+ update_option( 'tsa_spam_data_save', ( isset( $_POST['tsa_spam_data_save'] ) ? $_POST['tsa_spam_data_save'] : '0' ) );
723
+ update_option( 'tsa_spam_limit_flg', ( isset( $_POST['tsa_spam_limit_flg'] ) ? $_POST['tsa_spam_limit_flg'] : '0' ) );
724
+ update_option( 'tsa_spam_limit_minutes', $_POST['tsa_spam_limit_minutes'] );
725
+ update_option( 'tsa_spam_limit_count', $_POST['tsa_spam_limit_count'] );
726
+ update_option( 'tsa_spam_limit_over_interval', $_POST['tsa_spam_limit_over_interval'] );
727
+ update_option( 'tsa_spam_limit_over_interval_error_message', $_POST['tsa_spam_limit_over_interval_error_message'] );
728
+ update_option( 'tsa_spam_champuru_flg', ( isset( $_POST['tsa_spam_champuru_flg'] ) ? $_POST['tsa_spam_champuru_flg'] : '0' ) );
729
+ update_option( 'tsa_spam_keep_day_count', $_POST['tsa_spam_keep_day_count'] );
730
+ update_option( 'tsa_spam_data_delete_flg', ( isset( $_POST['tsa_spam_data_delete_flg'] ) ? $_POST['tsa_spam_data_delete_flg'] : '0' ) );
731
+ update_option( 'tsa_white_ip_addresses', $_POST['tsa_white_ip_addresses'] );
732
+ update_option( 'tsa_dummy_param_field_flg', $_POST['tsa_dummy_param_field_flg'] );
733
+ update_option( 'tsa_memo', $_POST['tsa_memo'] );
734
+ update_option( 'tsa_spam_champuru_by_text', $_POST['tsa_spam_champuru_by_text'] );
735
+ update_option( 'tsa_spam_champuru_hosts', ( isset( $_POST['tsa_spam_champuru_hosts'] ) ? $_POST['tsa_spam_champuru_hosts'] : NULL ) );
736
+
737
+ // スパムデータベース作成
738
+ $this->tsa_create_tbl();
739
+
740
  $_saved = TRUE;
741
  }
742
  wp_enqueue_style( 'thorows-spam-away-styles', plugins_url( '/css/tsa_styles.css', __FILE__ ) );
807
  <?php if ( $_saved ) { ?>
808
  <div class="updated" style="padding: 10px; width: 50%;" id="message">設定の更新が完了しました。</div>
809
  <?php } ?>
810
+ <form method="post" action="">
811
+ <?php wp_nonce_field( 'tsa_action', 'tsa_nonce' )?>
812
  <p>
813
  <a href="spam_opt">スパム対策機能設定</a> | <a href="#url_opt">URL文字列除外 設定</a> | <a href="#keyword_opt">NGキーワード / 必須キーワード 制御設定</a> | <a href="#tb_opt">トラックバックへの対応設定</a> | <a href="#ip_opt">投稿IPアドレスによる制御設定</a> | <a href="#memo_opt">メモ</a> | <a href="#spam_data_opt">スパムデータベース</a>
814
  </p>
1161
  ?>
1162
  <label><input type="checkbox" name="tsa_spam_data_delete_flg" value='1'
1163
  <?php esc_attr_e( $chk ); ?> />&nbsp;期間が過ぎたデータを削除する</label><br />
1164
+ ※一度消したデータは復活出来ませんのでご注意ください。また最低<?php echo $lower_spam_keep_day_count; ?>日分は保存されます。
1165
  </td>
1166
  </tr>
1167
  </table>
1193
  </table>
1194
  <a href="#option_setting" class="alignright">▲ 上へ</a>
1195
 
1196
+ <input type="hidden" name="action" value="update" />
1197
+ <?php /**
1198
+ <input
1199
  type="hidden" name="page_options"
1200
  value="tsa_on_flg,tsa_japanese_string_min_count,tsa_back_second,tsa_caution_message,tsa_caution_msg_point,tsa_error_message,tsa_ng_keywords,tsa_ng_key_error_message,tsa_must_keywords,tsa_must_key_error_message,tsa_tb_on_flg,tsa_tb_url_flg,tsa_block_ip_addresses,tsa_ip_block_from_spam_chk_flg,tsa_block_ip_address_error_message,tsa_url_count_on_flg,tsa_ok_url_count,tsa_url_count_over_error_message,tsa_spam_data_save,tsa_spam_limit_flg,tsa_spam_limit_minutes,tsa_spam_limit_count,tsa_spam_limit_over_interval,tsa_spam_limit_over_interval_error_message,tsa_spam_champuru_flg,tsa_spam_keep_day_count,tsa_spam_data_delete_flg,tsa_white_ip_addresses,tsa_dummy_param_field_flg,tsa_memo,tsa_spam_champuru_by_text,tsa_spam_champuru_hosts" />
1201
+ */ ?>
1202
  <p class="submit" id="tsa_submit_button">
1203
  <input type="submit" class="button-primary"
1204
  value="<?php _e('Save Changes') ?>" />
1283
  */
1284
  function spams_list() {
1285
  global $wpdb;
1286
+ global $lower_spam_keep_day_count, $default_spam_keep_day_count;
1287
  $_saved = FALSE;
1288
 
1289
  // ブラックIPリスト
1291
  $block_ip_addresses = str_replace("\n", ",", $block_ip_addresses_str);
1292
  $ip_list = mb_split( ",", $block_ip_addresses );
1293
 
1294
+ $act = ( isset( $_POST['act'] ) ? esc_attr( $_POST['act'] ) : NULL );
1295
+
1296
+ if ( isset( $_POST['tsa_nonce'] ) ) {
1297
+ check_admin_referer( 'tsa_action', 'tsa_nonce' );
1298
+
1299
+ // スパム情報から 特定IPアドレス削除
1300
+ if ( $act == "remove_ip" ) {
1301
+ $remove_ip_address = @htmlspecialchars( $_POST['ip_address'] );
1302
+ if ( !isset( $remove_ip_address ) || strlen( $remove_ip_address ) == 0 ) {
1303
+ // N/A
1304
+ } else {
1305
+ // スパムデータベースから特定IP情報削除
1306
+ $wpdb->query(
1307
+ "DELETE FROM ".$this->table_name." WHERE ip_address = '".$remove_ip_address."' "
1308
+ );
1309
+ $_saved = TRUE;
1310
+ $message = "スパムデータから $remove_ip_address のデータを削除しました。";
1311
+ }
1312
+ } elseif ( $act == "add_ip" ) {
1313
+ $add_ip_address = @htmlspecialchars( $_POST['ip_address'] );
1314
+ if ( ! isset( $add_ip_address ) || strlen( $add_ip_address ) == 0 ) {
1315
+ // N/A
1316
+ } else {
1317
+ // 対象IPアドレスに一つ追加
1318
+ $dup_flg = FALSE;
1319
+ foreach ( $ip_list as $ip ) {
1320
+ if ( $ip == trim($add_ip_address) ) {
1321
+ $_saved = TRUE;
1322
+ $message = "$add_ip_address はすでに設定されています。";
1323
+ $dup_flg = TRUE;
1324
+ break;
1325
+ }
1326
+ }
1327
+ if ( $dup_flg == FALSE ) {
1328
+ $added_block_ip_addresses_str = $block_ip_addresses_str . "\n" .$add_ip_address;
1329
+ update_option("tsa_block_ip_addresses", $added_block_ip_addresses_str);
1330
  $_saved = TRUE;
1331
+ $message = "$add_ip_address を追加設定しました。";
 
 
1332
  }
1333
  }
1334
+ } elseif ( $act == "truncate" ) {
1335
+ // スパムデータテーブルのtruncateを行う
1336
+ $result = $wpdb->query(
1337
+ "TRUNCATE TABLE ".$this->table_name );
1338
+ if ( $result == TRUE ) {
1339
+ $_saved = TRUE;
1340
+ $message = "スパムデータをすべて削除しました。";
1341
+ } else {
1342
  $_saved = TRUE;
1343
+ $message = "スパムデータテーブルへ削除処理を実行しましたが、エラーが発生し処理が完了しませんでした。";
1344
  }
1345
  }
1346
  }
 
 
 
 
 
 
 
 
 
1347
  ?>
1348
  <div class="wrap">
1349
  <?php
1372
  LIMIT 1
1373
  ";
1374
  $qry = $wpdb->get_row( $total_qry );
1375
+ $maxxday = 0;
1376
+ if ( $qry ) {
1377
+ $maxxday = $qry->pageview;
1378
+
1379
+ $total_vis = "
1380
+ SELECT count(distinct ip_address) as vis, ppd
1381
+ FROM (select ip_address, SUBSTRING(post_date,1,10) as ppd from $this->table_name) as B
1382
+ GROUP BY ppd HAVING ppd >= '" . gmdate( 'Y-m-d', current_time( 'timestamp' ) - 86400 * $gdays ) . "'
1383
+ ORDER BY vis DESC
1384
+ LIMIT 1
1385
+ ";
1386
+ $qry_vis = $wpdb->get_row( $total_vis );
1387
+ $maxxday += $qry_vis->vis;
1388
+ }
1389
 
1390
  if ( $maxxday == 0 ) {
1391
+ $maxxday = 1;
1392
+ }
1393
 
1394
  // Y
1395
  $gd = ( 100 / $gdays ).'%';
1415
  $px_white = 0;
1416
  }
1417
 
1418
+ print "<td width='$gd' valign='bottom'><div style='float:left;width:100%;font-family:Helvetica;font-size:7pt;text-align:center;border-right:1px solid white;color:black;'>
 
 
 
 
1419
  <div style='background:#ffffff;width:100%;height:".$px_white."px;'></div>
1420
  <div style='background:$unique_color;width:100%;height:".$px_visitors."px;' title='".$qry_visitors->total." ip_addresses'></div>
1421
  <div style='background:$web_color;width:100%;height:".$px_pageviews."px;' title='".$qry_pageviews->total." spam comments'></div>
1422
  <div style='background:gray;width:100%;height:1px;'></div>
1423
  <br />".gmdate( 'd', current_time( 'timestamp' ) - 86400 * $gg ) . '<br />' . gmdate( 'M', current_time( 'timestamp' ) - 86400 * $gg ) ."
1424
+ <div style='background:;width:100%;height:2.2em;'>".$qry_visitors->total."<br />".$qry_pageviews->total."</div>
1425
  <br clear=\"all\" /></div>
1426
  </td>\n";
1427
  } ?>
1589
  <form method="post" id="remove">
1590
  <input type="hidden" name="ip_address" id="remove_ip_address" value="" />
1591
  <input type="hidden" name="act" value="remove_ip" />
1592
+ <?php wp_nonce_field( 'tsa_action', 'tsa_nonce' )?>
1593
  </form>
1594
  <form method="post" id="adding">
1595
  <input type="hidden" name="ip_address" id="add_ip_address" value="" />
1596
  <input type="hidden" name="act" value="add_ip" />
1597
+ <?php wp_nonce_field( 'tsa_action', 'tsa_nonce' )?>
1598
  </form>
1599
  <p>スパム投稿IPアドレスを参考にアクセス禁止対策を行なってください。</p>
1600
+ <form method="post" id="adding">
1601
+ <input type="hidden" name="act" value="truncate" />
1602
+ <?php
1603
+ $other_attributes = array( 'onclick' => "return confirm('すべてのスパムデータが削除されます。よろしいですか?');" );
1604
+ submit_button( 'すべてのデータを削除する', 'delete', 'wpdocs-save-settings', true, $other_attributes );
1605
+ ?>
1606
+ <?php wp_nonce_field( 'tsa_action', 'tsa_nonce' )?>
1607
+ </form>
1608
  </div>
1609
  <br clear="all" />
1610
  <?php
throws_spam_away.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin URI: http://gti.jp/throws-spam-away/
5
  Description: コメント内に日本語の記述が存在しない場合はあたかも受け付けたように振る舞いながらも捨ててしまうプラグイン
6
  Author: 株式会社ジーティーアイ さとう たけし
7
- Version: 2.6.7
8
  Author URI: http://gti.jp/
9
  License: GPL2
10
  */
@@ -30,8 +30,10 @@ require_once 'throws_spam_away.class.php';
30
  * デフォルト設定
31
  */
32
 
 
 
33
  // Throws SPAM Awayバージョン
34
- $tsa_version = '2.6.7';
35
  // スパムデータベースバージョン
36
  $tsa_db_version = 2.6; // 2.6からデータベース変更 [error_type]追加
37
 
@@ -118,8 +120,8 @@ $default_block_ip_address_error_msg = '';
118
 
119
  /** スパムデータベース */
120
 
121
- // スパムデータベース保存するか "1":保存
122
- $default_spam_data_save = '1';
123
 
124
  // 期間が過ぎたデータを削除するか? "1":する
125
  $default_spam_data_delete_flg = '1';
@@ -128,13 +130,10 @@ $default_spam_data_delete_flg = '1';
128
  $default_spam_keep_day_count = 15; /** 30 -> 15 */
129
 
130
  // 最低保存期間(日)
131
- $lower_spam_keep_day_count = 3; /** 7 -> 3 */
132
-
133
- // 機能設定
134
- $default_spam_limit_flg = '1';
135
 
136
  // ○分以内に○回スパムとなったら○分間そのIPからのコメントははじくかの設定
137
- $default_spam_limit_flg = 1; // 1:する Other:しない ※スパム情報保存がデフォルトではないのでこちらも基本はしない方向です。
138
  // ※スパム情報保存していないと機能しません。
139
  $default_spam_limit_minutes = 10; // 10分以内に・・・
140
  $default_spam_limit_count = 2; // 2回までは許そうか。
4
  Plugin URI: http://gti.jp/throws-spam-away/
5
  Description: コメント内に日本語の記述が存在しない場合はあたかも受け付けたように振る舞いながらも捨ててしまうプラグイン
6
  Author: 株式会社ジーティーアイ さとう たけし
7
+ Version: 2.6.8
8
  Author URI: http://gti.jp/
9
  License: GPL2
10
  */
30
  * デフォルト設定
31
  */
32
 
33
+ $tsa_spam_tbl_name = 'tsa_spam';
34
+
35
  // Throws SPAM Awayバージョン
36
+ $tsa_version = '2.6.8';
37
  // スパムデータベースバージョン
38
  $tsa_db_version = 2.6; // 2.6からデータベース変更 [error_type]追加
39
 
120
 
121
  /** スパムデータベース */
122
 
123
+ // スパムデータベース保存するか "0":保存しない
124
+ $default_spam_data_save = '0';
125
 
126
  // 期間が過ぎたデータを削除するか? "1":する
127
  $default_spam_data_delete_flg = '1';
130
  $default_spam_keep_day_count = 15; /** 30 -> 15 */
131
 
132
  // 最低保存期間(日)
133
+ $lower_spam_keep_day_count =1;
 
 
 
134
 
135
  // ○分以内に○回スパムとなったら○分間そのIPからのコメントははじくかの設定
136
+ $default_spam_limit_flg = 0; // 1:する Other:しない ※スパム情報保存がデフォルトではないのでこちらも基本はしない方向です。
137
  // ※スパム情報保存していないと機能しません。
138
  $default_spam_limit_minutes = 10; // 10分以内に・・・
139
  $default_spam_limit_count = 2; // 2回までは許そうか。
uninstall.php CHANGED
@@ -1,9 +1,6 @@
1
  <?php
2
  /*
3
  Throws SPAM Awayプラグインアンインストール
4
- 2.3 追加
5
- 2.4 追記
6
- 2.6 追記
7
  */
8
 
9
  if(!defined('ABSPATH') && !defined('WP_UNINSTALL_PLUGIN')) { exit(); }
@@ -45,11 +42,16 @@ delete_option('tsa_white_ip_addresses');
45
  // ver.2.5.1
46
  delete_option('tsa_caution_msg_point');
47
  // ver.2.6
48
- delete_option('tsa_empty_param_field_flg');
49
  delete_option('tsa_memo');
50
 
51
  // ver.2.6.5
52
  delete_option('tsa_spam_champuru_hosts');
53
  delete_option('tsa_spam_champuru_host'); // 2.6.4まで使用
54
- delete_option('tsa_spam_chmapuru_by_text');
 
 
 
 
 
55
 
1
  <?php
2
  /*
3
  Throws SPAM Awayプラグインアンインストール
 
 
 
4
  */
5
 
6
  if(!defined('ABSPATH') && !defined('WP_UNINSTALL_PLUGIN')) { exit(); }
42
  // ver.2.5.1
43
  delete_option('tsa_caution_msg_point');
44
  // ver.2.6
45
+ delete_option('tsa_dummy_param_field_flg');
46
  delete_option('tsa_memo');
47
 
48
  // ver.2.6.5
49
  delete_option('tsa_spam_champuru_hosts');
50
  delete_option('tsa_spam_champuru_host'); // 2.6.4まで使用
51
+ delete_option('tsa_spam_champuru_by_text');
52
+
53
+ // ver.2.6.8
54
+ global $wpdb;
55
+ $wpdb->query( "DROP TABLE IF EXISTS ".$wpdb->prefix . "tsa_spam" );
56
+
57