サポート » 使い方全般 » コメントを受け付けない設定について

  • 解決済 pyonko

    (@pyonko)


    基本的なことですが、確認させてください。
    投稿や固定ページでコメントを受け付けない設定にしたはずの所に、妙なコメントが入ったという知らせが、WordPressのシステムから入ってきました。以下がその内容です。
    *******************************************************************************
    メールのタイトルは、「モデレートしてください: “○○○:□□□□” 」
    内容は以下のとおり。
    投稿 “○○○:□□□□” への新しいコメントが承認待ちです。
    http://○○○投稿の/attachment/186674_d(←画像ファイル)

    投稿者: 知らない方 (IP: **.**.**.** , ***-mail.info)
    メール: 上記の方のメールアドレスと思われる
    URL: 上記の方のWEBサイトと思われる(←心当たりのないサイト)
    Whois : http://whois.arin.net/rest/ip/上記のIPアドレス
    コメント:
    Like the blog

    承認する: 当方のドメイン/wordpress/wp-admin/comment.php?action=approve&c=5
    ゴミ箱に移動する: 当方のドメイン/wordpress/wp-admin/comment.php?action=trash&c=5
    スパムとしてマークする: 当方のドメイン/wordpress/wp-admin/comment.php?action=spam&c=5
    現在1件のコメントが承認待ちです。コメントモデレーション画面を開いてください:
    当方のドメイン/wordpress/wp-admin/edit-comments.php?comment_status=moderated
    ****************************************************************************
    心当たりが全くなかったので、このコメントはスパムとしてマーク、そして完全に削除、
    としました。

    設定>ディシカッションを見たら、
    他のブログからの通知 (ピンバック・トラックバック) を受け付ける
    新しい投稿へのコメントを許可する
    のいずれもチェックが入っていたので、外しました。(*1:これはWordPressの3.1の時には
    なかったような記憶があります。3.2以降からデフォルトで設定されるようになったのでしょうか?)

    投稿、固定ページの新規作成時は、編集画面の、ディスカッション設定で、
    コメントの投稿を許可する。
    このページで トラックバックとピンバックを許可する。
    のチェックはいつも外しています。

    今回、「モデレートしてください」メールが届いたのは、編集画面で上記設定していたものの、設定>ディシカッション のところで「*1」のようなデフォルト(3.3.1へのアップグレード時に何もいじらなかった)設定だったため、なのでしょうか?

    なお、Akismetは有効にしていますが、APIキーは諸事情から入手していません。

    確実にスパムコメントを回避する方法など、ご指南いただければ幸いです。よろしくお願いします。

12件の返信を表示中 - 1 - 12件目 (全12件中)
  • モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    正直いってしまうと「確実にスパムコメントを回避する方法」ってのはないと思うんですよね。「ある程度回避」ならともかくですが。

    今回、「モデレートしてください」メールが届いたのは、編集画面で上記設定していたものの、設定>ディシカッション のところで「*1」のようなデフォルト(3.3.1へのアップグレード時に何もいじらなかった)設定だったため、なのでしょうか?

    そうですね。コメントがきた時にメールを飛ばす設定になっていた為です。
    なお、この機能3.3の新機能ではなく、以前のVerからずっとあります。
    バージョンアップのタイミングでディスカッション設定にチェックが入ってしまったということかもしれません。(←推測です。そういうことが通常起こるのかまでは調べていません)

    Akismetは有効にしていますが、APIキーは諸事情から入手していません。

    諸事情とは公にできない事情ですか??おそらく、APIキーを入れないと有効化している意味が無いと思いますので、APIキー取得して適用して頂くだけで随分違うと思いますよ。

    トピック投稿者 pyonko

    (@pyonko)

    コメントいただき、ありがとうございます。
    ・本サイトもテストサイトもアップグレードしてしまったので、WordPress3.1.4の時代のディスカッション設定画面をもう見ることができなくなってしまいましたが、
    「他のブログからの通知を受け付ける」「新しい投稿へのコメントを許可する」に近い表現のチェックは注意して外していましたが、アップグレードではリセットされたようです。
    ・APIキー:やはりそうですか。

    投稿等のソースには、

    <div id="comments"><p class="nocomments">コメントは受け付けていません。</p></div><!-- #comments -->

    が出力されていますが、表示はされないので、大丈夫かな、と思っていました。でも実際送られてくるということは、どのような方法で送信したのでしょうね。
    http://word-express.net/comment
    などの事例があるようですが、かえってセキュリティを落とすでしょうか?

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    挙げていただいた記事の対処をしたことでセキュリティを落とす、っていうことはないと思います。

    ちなみに挙げていただいた参考記事に

    single.phpなどに記載されている <?php comments_template(); ?>を丸ごと削除すると、comments.php に含まれているDIVタグまで除外され、レイアウト崩れを起こす可能性が大きい

    とありますが、まともなテーマだったらcomments_templateごと消してもそうそうは崩れないと思うんですよね…自分はいつも、企業サイトなどではそもそもコメント欄を作っていません。

    すみません。気になったので1つ確認させて下さい。

    表示はされないので、大丈夫かな、と思っていました。

    投稿の編集画面でコメントを許可しておらず、実際に投稿を見てもコメント欄が表示されていないにもかかわらず、その投稿に対するコメントが届いたと言うことでしょうか?

    投稿でコメントをクローズしている場合、仮に単純な攻撃を仕掛けても「この投稿へのコメントは受け付けていません。」となるだけかと思っていたのですが、ちょっと意外です。

    トピック投稿者 pyonko

    (@pyonko)

    ありがとうございます。

    ちなみに、これまでsingle.php等では、<?php comments_template(); ?>は削除しておりませんが、投稿編集画面でコメントを受け付けない設定にすることで、wordpressが自動的に.nocomments {
    display: none;
    }を出力しているから大丈夫と思っていちゃわけです。twentytenを親にしたテーマなので、comments_template();は外しても問題なさそうですね。

    それにしても、冒頭紹介したメールが来ました。びっくりして、”○○○:□□□□” を見ましたが、実際にはコメントは表示されていませんでした(大切なことを書くのを忘れていたみたいです)。

    管理画面の「最近のコメント」のブロックに、届いたメールとほぼ同様の内容の記載が出てきていました。既に削除してしまったので、現在は「コメントはまだありません」という状態です。

    ・・・ということで、投稿記事上にコメントは表示されませんでしたが、「モデレートしてください: “○○○:□□□□” 」というメールが届いたことは事実です。ですから、今回送信された方法は、たとえcomments_template();は外したとしても、再度送信される可能性があるのかもしれませんね。

    コストがやや気になりますが、Akismetは必須というところでしょうか?

    ちなみに、これまでsingle.php等では、<?php comments_template(); ?>は削除しておりませんが、投稿編集画面でコメントを受け付けない設定にすることで、wordpressが自動的に.nocomments {
    display: none;
    }を出力しているから大丈夫と思っていちゃわけです。

    基本的にそれで大丈夫なはずというか、私も大丈夫だと思っていました。
    単にコメント欄が消えるだけでなく、コメント欄のステータスも「クローズ」になりますので。

    コメントの仕組みは「wp-comments-post.php」にデータをPOSTしているだけなので、サイト外から「wp-comments-post.php」に直接データを送信することは可能です。

    しかし、コメント欄がクローズしていれば、常に「この投稿へのコメントは受け付けていません。」と返すと思っていましたが、何か抜け道がありそうですね。

    comments_template();は外しても問題なさそうですね。

    外しても問題ないと思いますが、直接「wp-comments-post.php」にPOSTされたら同じなので、あまり意味がないかもしれません。

    申し訳ありませんが、私の知識では限界なのでもっと詳しい方の回答が欲しいとろこです。

    トピック投稿者 pyonko

    (@pyonko)

    ありがとうございます。
    なるほど!コメントの仕組み、ここで大変勉強になりました。そういうことなら、やはりcomments_template();の削除は、同じ手法取られたら役に立たなそうですね。

    モデレーター jim912

    (@jim912)

    pyonkoさん、redcockerさん

    WordPressは、メディア(画像)がアップロードされた際にもデータベース上に投稿などと同じレコードを作成します。投稿や固定ページは、管理画面から個々にコメントを停止できますが、メディアはその術がありません。

    それに対して、外部からスパムのコメントをPOST(送信)されたのでしょう。
    comments_template();の削除は、人から見えないようにするだけで、スパムに対しては一切効果がありません。逆に見えないために、スパムだけを受け付けてしまうようになるため、適切な処置とは言えないのです。

    jim912 さん

    WordPressは、メディア(画像)がアップロードされた際にもデータベース上に投稿などと同じレコードを作成します。投稿や固定ページは、管理画面から個々にコメントを停止できますが、メディアはその術がありません。

    勉強になりました有難う御座います。

    トピック投稿者 pyonko

    (@pyonko)

    いつもお世話になります。情報ありがとうございます。
    「モデレートしてください: “○○○:□□□□” 」メールに投稿に使用した画像ファイルのurlが表示されているのはそういう訳だったのですね。
    Akismetなら跳ね返せる、ということみたいですね。

    でも、メディをアップロードした後に書士的事項を登録する画面があるので、投稿や固定ページで個々にコメントを停止できるのと同様なプロセスを追加して、メディ個々にもスパムを受け付けないようにできればいいなぁと思いました。

    またまたとても勉強になりました。

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    私も勉強になりました!!

    >pyonkoさん
    とりあえずAkismetのAPIキーを取るところからはじめるのがよさそうでーす^^;

    トピック投稿者 pyonko

    (@pyonko)

    了解です.
    皆様、ありがとうございました。

12件の返信を表示中 - 1 - 12件目 (全12件中)
  • トピック「コメントを受け付けない設定について」には新たに返信することはできません。