Version Description
2015/5/12 OFF 3 1
options
WordPressWarning
Download this release
Release Info
Developer | tsato |
Plugin | Throws SPAM Away |
Version | 2.6.8 |
Comparing to | |
See all releases |
Code changes from version 2.6.7 to 2.6.8
- hostbyip.php +22 -7
- readme.txt +28 -4
- throws_spam_away.class.php +194 -117
- throws_spam_away.php +8 -9
- 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.
|
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
|
42 |
<?php
|
43 |
$spam_host = gethostbyaddr(htmlspecialchars($spam_ip));
|
44 |
if ($spam_host != $spam_ip) {
|
45 |
?>
|
46 |
-
<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
|
55 |
<?php
|
56 |
}
|
57 |
?>
|
58 |
<?php if ( $last_spam_comment_result != NULL ) { ?>
|
59 |
-
<div
|
60 |
-
<div
|
61 |
<?php } ?>
|
62 |
<h4>スパムフィルター:<?php echo ($is_spam_champuru ? "スパムブラックリスト存在IPアドレス" : "未検出" ); ?></h4>
|
63 |
|
64 |
-
<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/
|
4 |
Tags: comments, spam
|
5 |
Requires at least: 3.1
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 2.6.
|
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"
|
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.
|
7 |
-
* @version 2.6.
|
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 .
|
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 '$
|
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 $
|
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', $
|
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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="
|
|
|
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 ); ?> /> 期間が過ぎたデータを削除する</label><br />
|
1107 |
-
|
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" />
|
|
|
|
|
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 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
$
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
-
$
|
1254 |
-
|
1255 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1256 |
$_saved = TRUE;
|
1257 |
-
$message = "$add_ip_address
|
1258 |
-
$dup_flg = TRUE;
|
1259 |
-
break;
|
1260 |
}
|
1261 |
}
|
1262 |
-
|
1263 |
-
|
1264 |
-
|
|
|
|
|
|
|
|
|
|
|
1265 |
$_saved = TRUE;
|
1266 |
-
$message = "
|
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 =
|
1308 |
-
|
1309 |
-
|
1310 |
-
|
1311 |
-
|
1312 |
-
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
-
|
1317 |
-
|
|
|
|
|
|
|
1318 |
|
1319 |
if ( $maxxday == 0 ) {
|
1320 |
-
|
1321 |
-
|
1322 |
|
1323 |
// Y
|
1324 |
$gd = ( 100 / $gdays ).'%';
|
@@ -1344,17 +1415,13 @@ function addIpAddresses(newAddressStr) {
|
|
1344 |
$px_white = 0;
|
1345 |
}
|
1346 |
|
1347 |
-
print
|
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
|
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 ); ?> /> 期間が過ぎたデータを削除する</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.
|
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.
|
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 |
-
// スパムデータベース保存するか "
|
122 |
-
$default_spam_data_save = '
|
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 =
|
132 |
-
|
133 |
-
// 機能設定
|
134 |
-
$default_spam_limit_flg = '1';
|
135 |
|
136 |
// ○分以内に○回スパムとなったら○分間そのIPからのコメントははじくかの設定
|
137 |
-
$default_spam_limit_flg =
|
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('
|
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('
|
|
|
|
|
|
|
|
|
|
|
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 |
|