質問箱/5192

カテゴリセキュリティ・スパム・悪戯対策
サマリコメントの名前にもNGワードを適応したい
バージョン1.5.0
投稿者とーげ?
状態完了
投稿日2015-08-23 (日) 21:23:31

質問

コメントの名前欄に特定の文字列(管理人など)が含まれていた場合、 別の文字列(警告文など)に置換したいです。

自分は凍結したページへのコメントで default.ini.phpのユーザー定義ルールで指定したadmin=>管理人 といった風にするつもりなのですが、 ユーザー定義ルールに管理人を入れてしまうと他のページでも変換されてしまうので…

同じような内容の質問箱/4404を見て名前欄へのNGワードを試そうとしてみたのですが、知識が足らず上手くいきませんでした。

どのようにすれば実現できるか教えてほしいです。

回答

  • plugin/comment.inc.php を改造する方法が考えられます
    $_name = (! isset($vars['name']) || $vars['name'] == '') ? $_no_name : $vars['name'];
    $_name = ($_name == '') ? '' : str_replace('$name', $_name, PLUGIN_COMMENT_FORMAT_NAME);
    の間に、
    $_name = (! isset($vars['name']) || $vars['name'] == '') ? $_no_name : $vars['name'];
    $_name = str_replace('管理人', '禁止名です', $_name);  // 警告文に置き換え
    $_name = str_replace('admin', '管理人', $_name);       // 管理人用の名前
    $_name = ($_name == '') ? '' : str_replace('$name', $_name, PLUGIN_COMMENT_FORMAT_NAME);
    のように、プラグインの中で置き換えれば&commentフォームからの書き込みだけに反応します。   -- 2015-08-24 (月) 04:20:44
  • str_replaceの置き換えする文字をダブルクォーテーションで囲むようにすることで上手く動作しました。ありがとうございました! -- とーげ? 2015-08-24 (月) 13:19:43


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-08-24 (月) 13:20:36
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u1. HTML convert time: 0.785 sec.

OSDN