このインデックス php トピックは smf によって提供されています。 Simple Machines (SMF) フォーラムをスパムから保護する方法。 Stop Spammer のインストールと構成

私が Joomla なしでは生きていけないことは誰もが知っていますが、私の意見では、コンポーネントに関する適切なフォーラムはありません。 それが、私がフォーラム エンジンを使用する理由です。 私が最近使い始めた新しいものの 1 つは、役立つことを期待して新しい SMF カテゴリを開始しましょうです。 小規模から始めますが、初心者にとっては非常に役立ちます。

検索エンジン最適化の第一歩 Simple Machines Forum: 著作権と外部リンクの削除

すぐに予約させていただきますが、私は smf 2 のみを使用しており、この記事は特にこのバージョンの無料フォーラム エンジンに関連するものです。

そのため、常連の読者は、私がフォーラムの Web サイトを含むエンジンの公式 Web サイトに「10」個の外部リンクを置くことがどれほど好きではないかを知っています。 そのため、まず著作権を削除し、「」形式の外部リンクを 4 つ、注意して 4 つ削除します。 SMF 2.0.2 | 単純な機械 | SMF © 2011 | XHTML"! これを行うには、FTP forum/Themes/ 経由でサイトに接続します。 テーマの名前/ そしてファイルを編集します インデックス.テンプレート.php。 当然のことながら、一番下には、あまり好きではない外部リンクを表示するコード (約 330 行目) があります。 したがって、「」を削除します。

  • "、theme_copyright()、"
  • " そして "
  • ", $txt["xhtml"], "
  • "。すべてとてもシンプルで簡単です。今後の出版物では、SMF/フォーラムの促進と最適化に関する新しい資料が期待されます。

    すぐにメインのスクリプト コードから始めましょう。

    #!/usr/bin/perl

    # what-forum.pl スクリプト
    # (c) 2010 Alexandr A Alexeev、http://site/

    厳密を使用します。

    # コメント行 - 厳密にするため
    # タスクがエンジン統計を収集することである場合は、そのままにしておきます
    # フォーラムのリストを作成する場合 - コメントを解除します

    私の $data ;
    $data .= $_while (<> ) ;

    # フッターのリンクなしで Powered by phpBB の金額を確認する
    印刷 "phpbb \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/iまたは
    # $data =~ /viewforum\.php\?[^""]*f=\d+/i または
    $data =~ /phpBB\-SEO/i または
    $データ =~ /) ;
    「ipb」を印刷します \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i または
    $データ =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision Power Board/iまたは
    $データ =~ /

    /私または
    $データ =~ /index\.php\?[^""]*showforum=\d+/i) ;
    「vbulletin」を印刷する \n"
    if ($data =~ /Powered by:?[^<]+vBulletin[^<]+(?:Version)?/i または
    $データ =~ /) ;
    印刷 "smf \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>SMF/i を利用または
    $データ =~ /index\.php\?[^""]*board=\d+\.0/i) ;
    印刷「パンブ」 \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*>パンBB/i) ; #または
    # $data =~ /viewforum\.php\?[^""]*id=\d+/i);
    「フラックスBB」を印刷 \n"
    # if($data =~ /viewtopic\.php\?id=\d+/i または
    if ( $data =~ /]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i) ;
    「exbb」を印刷します \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i) ; # または
    # $data =~ /forums\.php\?[^""]*forum=\d+/i);
    印刷「ヤブ」 \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/iまたは
    $data =~ /YaBB\.pl\?[^""]*num=\d+/i ) ;
    「ドルフォーラム」を印刷 \n"
    if ($data =~ /\(DLE フォーラムの提供\)<\/title>/私または
    $データ =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">DLE フォーラム<\/a>/私) ;
    プリント「アイコンボード」 \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/iまたは
    $データ =~ /
    if ($data =~ /
    # if($data =~ /forums\.php\?fid=\d+/i または
    # $data =~ /topic\.php\?fid=\d+/i または
    if ($data =~ /]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i) ;
    「ストークシット」を印刷する \n"
    # if($data =~ /forum\.php\?f=\d+/i または
    if ($data =~ /]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*ストークス IT/i) ;
    「表彰台」を印刷する \n"
    # if($data =~ /topic\.php\?t=\d+/i または
    if ($data =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Podium/i) ;
    印刷 "usebb \n"
    # if($data =~ /forum\.php\?id=\d+/i または
    if ($data =~ /]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i) ;
    「wrforum」を印刷する \n"
    # if($data =~ /index\.php\?fid=\d+/i または
    if ($data =~ /]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i) ;
    「さらに別のフォーラム」を印刷する \n"
    if ($data =~ /Yet Another Forum\.net/i または
    $データ =~ /default\.aspx\?g=posts&t=\d+/i) ;

    このアーカイブの投稿で言及されているこのスクリプトと他のスクリプトを見つけることができます。

    脚本 どのフォーラム.pl HTML ページのコードを調べて、フォーラム エンジンの署名が含まれているかどうかを確認します。 WordPress と Joomla を定義するときに同様の手法を使用しましたが、いくつかの違いがあります。 まず、スクリプト自体はページ コードをロードせず、stdin または引数として渡されたファイルから読み取ります。 これにより、たとえば wget を使用してページを一度ダウンロードし、複数のアナライザーがある場合はそれを複数のアナライザーで実行できます。 次に、このスクリプトでは、署名の存在は 100% エンジンの兆候です。 前回は、署名の存在は対応するエンジンに重みを加えるだけであり、最も大きな重みを持つエンジンが「勝利」しました。 この場合、そのようなアプローチはコードを不必要に複雑にするだけであると判断しました。

    スクリプトをテストするために、いくつかの調査を行いました。 私は数千のフォーラムのリストを編集し、スクリプトでそれぞれを実行して、プログラムの応答の割合とさまざまなエンジンの人気を判断しました。

    フォーラムのリストを取得するために、Google パーサーを使用しました。 このようなクエリが検索エンジンに送信されました

    サイト:forum.*.ru
    サイト:talk.*.ru
    サイト:board.*.ru
    サイト:smf.*.ru
    サイト:phpbb.*.ru
    ....

    等々。 完全なクエリ ジェネレーター コードはファイル内にあります。 gen-forumsearch-urls.pl。 zone.ru に加えて、.su .ua .kz および .by も使用されました。 前回は、WordPress および Joomla サイトには URL にそのような署名がないため、このような調査を実施することは困難でした。 cmsmagazine.ru/catalogue/ などのカタログでは、十分なサンプル サイズが提供されていません。 600 Drupal サイトとは何ですか?

    正直に言うと、実験の結果にはがっかりしました。 調査された 12,590 のサイトのうち、エンジンの特定に成功したのは 7,083 サイトのみ、つまりケースの 56% のみでした。 もしかしたら何かのエンジンを考慮していなかったのでしょうか? フォーラムの半数に Bitrix がインストールされているというのは本当ですか? それとも署名を探すのにもっと時間を費やすべきだったのでしょうか? 一般に、ここでは追加の調査が必要です。

    特定に成功したエンジンの 56% のうち、最も人気があったのは予想通り、IPB (31%)、phpBB (26.6%)、および vBulletin (26.5%) でした。

    これに大きな遅れをとって SMF (5.8%) と DLEForum (5.3%) が続きます。 私のお気に入りのダジャレは 6 位 (1.64%) にとどまりました。 これらの数字をあまり信頼することはお勧めしません (RuNet のフォーラムは 3 つおきに IPB で実行されていると言われています) が、もちろん、一定の結論を導き出すことは可能です。

    たとえば、フォーラム エンジンでサイトを作成し、フォーラムを変更する予定がある場合 (たとえば、メッセージごとにユーザーに 0.01 ドルを支払い、週に 1 回資金が自動引き落とされるようにする)、最も人気のある 3 つのエンジンのいずれかを選択する必要があります。 フォーラムの人気が高まるほど、フォーラムに精通したプログラマーを見つける可能性が高くなります。

    エンジンに大きな変更が期待されない場合は、SMF や punBB など、あまり人気のないエンジンを選択するのが合理的かもしれません。 これにより、フォーラムに対するハッカー攻撃の数が減り、フォーラムに自動的に送信されるスパムの量が減ります。

    フォーラムを検索/識別するためのスクリプトにも、多くの実用的な用途が見つかります。 最初に思いついたのは、特定されたフォーラムを TIC ごとに分類し、私のサイトの 1 つへのリンクを含む最初の 100 件の投稿に投稿することでした。 ただし、何百ものフォーラム dofollow リンクは TCI にまったく影響を与えませんでした (2 つの更新が経過しました)。そのため、移行に興味がない場合を除き、ここで時間を無駄にしない方が良いでしょう。

    前述したスクリプトの使用法が唯一のものではないことは明らかです。 他にどのように使用できるかは簡単に理解できると思います。

    知らない人のために説明すると、Simple Machines Forum (略して SMF) は、公式 Web サイトに記載されているように、数分で独自のオンライン コミュニティを組織できる無料のプロ仕様のパッケージです。 このエンジンについては、ここをご覧ください。 私自身もその上に独自のフォーラムを立ち上げました (ちなみに、FreeForum.biz にアクセスしてください)。

    フォーラムに表示されるスパムの量が多かろうが少なかろうが、関係ありません。 大切なのは、貴重な時間を節度をもって使うことです。 すべての作業を自動的に実行するプラグインのセットアップには数分かかりますが、メッセージの消去やユーザーの削除に費やしていた分を合計すると、数日、数か月を節約できます。

    私は自分でスパム送信者と戦おうとしたことに注意してください。IP 経由のアクセス、さらにはサブネット経由のアクセスもブロックしました。 それは本当にうまくいき、多くのゴミが濾過されましたが、それでも、1、2日に一度は誰かが通り抜けました。 また、禁止された IP のデータベースを補充するにはかなりの時間がかかりました。 もっと良い方法があるに違いないと思ったのですが、実際にありました。

    1. Stop Spammer のインストールと構成

    このプラグインは 2 週間の運用で 2,202 人の偽ユーザーをブロックしました。 それぞれが少なくとも 1 つのメッセージを残します。 スパマーの勢いは衰える気配がなく、私は毎日フォーラムの清掃に時間を費やしていました。

    代わりに、数日ごとにユーザー管理ページにアクセスすると、次のような内容が表示されます。

    「承認待ち」セクションに進みます (発見されたスパマーは、アカウントが管理者によって承認されるまでメッセージを残す機会を奪われています)。 「すべて選択」チェックボックスをオンにして、ワンクリックで削除します。

    つまり、すべてのスパム アカウントは忘れ去られます。 ユーザーのリストに戻りましょう。

    リストが著しく薄くなっていることがわかりますが、残りは誰でしょうか? 全員を選択し、ボタン 1 つで検証のために送信します。

    「赤い」ものが 1 つ表示されますが、すぐに削除します。 自由な時間があれば、他のことができます。 時間がない場合は、新規ユーザーに対して何もしないでください。ほとんどのユーザーはその後のチェック中に「顔を赤らめる」でしょう。 時間があれば、彼らのプロフィールにアクセスして確認してください。署名にリンクがあれば、すぐに禁止されます。これらは、有益なメッセージを 1 つも残さないスパマーの偽アカウントです。

    この魔法のプラグインの使用方法を説明しましたが、今度はインストール方法を説明します。

    language_full.zip (これはプラグインを翻訳するための言語パックです) と StopSpammer_v2_3_9.zip (バージョンが更新されると番号が異なる場合があります) の 2 つのファイルをダウンロードします。 StopSpammer_v2_3_9.zip アーカイブの内容をフォルダーに解凍します。 language_full.zip アーカイブを同じフォルダーに解凍し、ファイルを置き換えることに同意します。 次に、フォルダーを zip アーカイブに圧縮します。

    管理パネルで、パッケージのインストールに進みます。 「パッケージをダウンロード」の碑文の反対側には、コンピュータ上のファイルを選択するためのボタンがあります。 新しいアーカイブ (言語ファイルを置き換えた場所) を選択し、それをフォーラムにアップロードして、パッケージをアクティブ化します。

    それでおしまい!

    プラグインの追加構成は管理パネルで行われます。

    ユーザー→登録→設定

    デフォルト値のままにすることができます。 「あなたの API キー」フィールドもあります。 このキーがないと、新しいスパマーを報告することはできません (ただし、プラグインは機能し、既知のスパマーをフィルターします)。 独自の API キーを取得したい場合は、www.stopforumspam.com にアクセスして登録し、ここにキーを入力します。 キーをまだ受け取っていない場合は、フィールドを空白のままにしてください。 その後、デフォルトのキーが使用されます。

    2. スパム対策リンクのインストールと構成

    SEO 宗教の信奉者 (SEO 専門家に対する私の態度については、別の記事で詳しく読むことができます) は、自分のサイトへのリンクの数を増やすことで、そのサイトを「宣伝」するという確固たる信念を持っています (何らかの理由で、面白くて質の高いコンテンツを作成するのは誰にも魅力的ではありません)。 彼はカモだろうが、彼から金を引き出す方法はあるだろう。 そのため、一部の「市民」はフォーラムを通じてサイトを「運営」するためのサービスを提供しています。 彼らはさまざまなフォーラムに多数のアカウントを作成し、署名やその他の利用可能なフィールドにバックリンクを挿入します。 「SEO実験者」ですら、これらのリンクが何の役にも立たないことをすでに実験的に証明しているという事実にもかかわらず、これによって検索エンジンから禁止を受ける可能性があると警告する人もいます。たとえば、Yandexは、誰でもアクセスできるすべてのフォーラムやサイト上のリンクを単純に無視します。リンクを残すことができます。 Google にも、コメント内のリンクを無視するなど、同様のアルゴリズムがあります。しかし、この法律はカモのために書かれたものではありません... したがって、私たちフォーラムの所有者は、「クールな SEO オプティマイザー」が「実行」を命令しているという事実を考慮する必要があります。 」彼らのクソ作品を1,000ルーブルで販売。

    Stop Spammer プラグインは多くのことをフィルタリングします。 しかし、私たちは彼を助けることができます! スパマーの下からフォーラムにリンクを投稿することに興味を持っていただけます。 これはまさにスパム対策リンクの目的です。 このプラグイン (特定の数値は設定で変更可能) は次のことを行います。

    • たとえば、メッセージが 5 件未満の人は、リンクをまったく残すことができません。
    • たとえば、メッセージが 15 未満のユーザーはアクティブなリンクを離れることができず、http:// がリンクから削除され、一般にこれらのリンクは nubolink になります (newbielink)
    • たとえば、投稿数が 50 未満の投稿はアクティブなリンクのままにすることができますが、すべてのリンクには nofollow 属性が与えられます。
    • そうですね、50 件を超える投稿がある人は、サイトの重要性をリンク先のページに移す、最も一般的なアクティブ リンクを挿入できます。

    信じてください、SEO 志望者は、サイト上でリンクがどのような形式で表示されるかについて非常に注意しています。 クソサイトへのクソリンクを簡単に投稿できなければ、彼らはすぐにフォーラムへの興味を失ってしまうだろう。

    はい、ちなみに、上記のルールは署名などの分野でも機能します。

    このプラグインをインストールするには、公式ページにアクセスしてください。 anti_spam_links_v1.0.1.zip アーカイブをダウンロードします (番号は異なる場合があります)。 再びフォーラム管理者で、(前のパッケージで行ったように) パッケージのインストールに移動し、インストールします。 このパッケージには言語ファイルがないため、アーカイブを解凍したり、それに対して何かを行う必要はありません。

    プラグインを設定するには、セクションに移動してください

    構成 → MOD のセットアップ… → 変更のセットアップ

    必要に応じて、ユーザーの機能をアップグレードするために必要なメッセージの数を指定します。

    結論

    これら 2 つのプラグインは、フォーラム所有者の作業を非常に楽にし、時間を大幅に節約します。 ただし、スパム送信者が時々侵入するため、少なくとも週に 1 回はユーザーを「間引き」し、スパム メッセージを削除する必要があります。 したがって、Web リソースを放棄しないでください。