TVs. Consoles. Projectors and accessories. Technologies. Digital TV

How to protect your Simple Machines (SMF) forum from spam. Automatic detection of the forum engine Young index php topic powered by smf

In case anyone doesn't know, Simple Machines Forum - SMF for short - is, as stated on the official website, a free, professional-grade package that will allow you to organize your own online community in a few minutes. on this engine, you can look here. I myself set up my own forum on it (by the way, go to FreeForum.biz).

It doesn't matter how much or little spam appears on your forum. The important thing is that you spend your valuable time on moderation. Setting up a plugin that will do all the work for you takes a few minutes, and it will save you, in total, days and months, which will add up to the minutes you would have spent erasing messages and deleting users.

I will note that I tried to fight spammers on my own - I blocked access via IP and even subnets. It really worked, it filtered out a lot of garbage, but nevertheless, once every one or two days someone made it through. And it took quite a lot of time to replenish the database of banned IPs. I thought there must be a better way, and indeed there was!

1. Installation and configuration of Stop Spammer

In two weeks of operation, this plugin blocked 2202 fake users. Each of them would leave at least one message. The spammers show no signs of slowing down and I would spend time cleaning up my forum every day.

Instead, every few days I go to the user management page and see something like this:

I move on to the “Awaiting approval” section (these are the spammers found who are deprived of the opportunity to leave messages until their accounts are approved by the administrator). I check the “Select all” checkbox and delete them with one click:

That's it, all spam accounts go into oblivion. Let's return to our list of users:

It can be seen that the list has thinned out noticeably, but who are the rest? We select everyone and send them for verification with one button:

One “red” one appears, we immediately delete it. If you have free time, you can do others. If you don’t have time, then don’t do anything with new users - most of them will “blush” during subsequent checks. If you have time, you can go to their profiles and look - if there is a link in the signature, they will immediately be banned, these are fake accounts of spammers who will never leave a single useful message.

I told you how to use this magical plugin, now I will tell you how to install it.

Download two files: language_full.zip (this is the language pack for translating the plugin) and StopSpammer_v2_3_9.zip (the number may be different, as versions are updated). Unpack the contents of the StopSpammer_v2_3_9.zip archive into some folder. Unpack the language_full.zip archive into the same folder and agree to replace the files. Now pack our folder into a zip archive.

In the admin panel, proceed to install packages. Opposite the “Download package” inscription there is a button for selecting a file on your computer. Select our new archive (where we replaced the language file), upload it to the forum and activate the package.

That's it!

Additional configuration of the plugin occurs in the admin panel: go to

Users → Registration → Settings

You can leave the default values ​​there. There is also a field “Your API key”. Without this key, you will not be able to report new spammers (but the plugin will work and filter known spammers). If you want to get your own API key, go to www.stopforumspam.com to register, and then enter the key here. If you have not received the key yet, leave the field blank. Then the default key will be used.

2. Installation and configuration of Anti-Spam Links

Adherents of the SEO religion (you can read more about my attitude towards SEO-nists in another) have a firm conviction that by increasing the number of links to their site, they “promote” it (for some reason the idea of ​​​​creating interesting and high-quality content does not appeal to anyone doesn't come to mind). He would be a sucker, but there would be ways to extract money from him. So, some “citizens” provide services for “running” sites through forums. They create a large number of accounts on different forums and insert backlinks there in signatures and other available fields. Despite the fact that even “SEO experimenters” have already experimentally proven that these links are of zero use, some warn that you can get a ban from search engines for this, Yandex, for example, simply ignores links on ALL forums and sites where anyone can leave links. Google also has similar algorithms - ignoring links in comments, etc. But the law is not written for suckers... Therefore, we, the owners of the forums, have to reckon with the facts that “cool SEO optimizers” order a “run” of their shitty creations for a thousand rubles.

The Stop Spammer plugin will filter out a lot. But we can help him! You can take the very interest of posting links on your forum out from under spammers. This is exactly what Anti-Spam Links are for. This plugin (specific numbers can be changed in the settings) does the following:

  • those who, for example, have less than five messages, cannot leave links at all
  • those who, for example, have less than 15 messages, cannot leave active links, http:// is removed from links, and in general these links become nubolinks (newbielink)
  • those with, for example, less than 50 posts can leave active links, but all links are given a nofollow attribute.
  • Well, those who have more than 50 posts can insert the most common active links, which transfer the weight of the site to the page being linked to.

Believe me, would-be SEOs are very careful about the form in which their link ends up on the site. They'll quickly lose interest in your forum if they can't easily post their shitty links to their shitty sites there.

Yes, by the way, the above rules also work in fields such as signatures.

To install this plugin, go to its official page. Download the anti_spam_links_v1.0.1.zip archive (the number may be different). Again in the forum admin, go to install packages (as you did with the previous package) and install it. There is no language file for this package, so there is no need to unpack the archive or do anything with it.

To configure the plugin, go to the section

Configuration → Setting up mods… → Setting up modifications

If you wish, specify how many messages the user must have to upgrade his capabilities.

Conclusion

These two plugins will make your life, the forum owner, VERY much easier and will save a lot of time. However, from time to time spammers break through and, at least once a week, you need to “thin out” users and delete spam messages. Therefore, do not abandon your web resources!

Everyone knows that I simply cannot live without Joomla, but, in my opinion, there is no good forum for components. That's why I work with forum engines. One of the new ones that I just recently started using is Let's start a new SMF category with hopefully useful stuff. We start small, and as beginners it’s very useful.

First steps in search engine optimization Simple Machines Forum: removing copyright and external links

Let me make a reservation right away that I only work with smf 2 and this article will relate specifically to this version of the free forum engine.

And so, regular readers know how much I don’t like to put “10” external links to the official websites of engines, including forum ones. That is why, first of all, we remove the copyright and as many as 4, attention 4 external links of the form " SMF 2.0.2 | Simple Machines | SMF © 2011 | XHTML"! To do this, connect to the site via FTP forum/Themes/ name of your theme/ and edit the file index.template.php. Naturally, at the very bottom there is a code (about line 330) that displays external links that we don’t like so much. Therefore we delete: "

  • ", theme_copyright(), "
  • " And "
  • ", $txt["xhtml"], "
  • ". It’s all so simple and easy. In the coming publications, expect new materials on promoting and optimizing forums on SMF/

    Let's start right away with the main script code:

    #!/usr/bin/perl

    # which-forum.pl script
    # (c) 2010 Alexandr A Alexeev, http://site/

    use strict;

    # commented lines - for rigor
    # if the task is to collect engine statistics, leave it as is
    # if you make a list of forums - uncomment

    my $data ;
    $data .= $_while (<> ) ;

    # check how much was Powered by phpBB without a link in the footer
    print "phpbb \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/i or
    # $data =~ /viewforum\.php\?[^""]*f=\d+/i or
    $data =~ /phpBB\-SEO/i or
    $data =~ /) ;
    print "ipb \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i or
    $data =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision Power Board/i or
    $data =~ /

    /i or
    $data =~ /index\.php\?[^""]*showforum=\d+/i) ;
    print "vbulletin \n"
    if ($data =~ /Powered by:?[^<]+vBulletin[^<]+(?:Version)?/i or
    $data =~ /) ;
    print "smf \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>Powered by SMF/i or
    $data =~ /index\.php\?[^""]*board=\d+\.0/i) ;
    print "punbb \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> PunBB/i) ; #or
    # $data =~ /viewforum\.php\?[^""]*id=\d+/i);
    print "fluxbb \n"
    # if($data =~ /viewtopic\.php\?id=\d+/i or
    if ( $data =~ /]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i) ;
    print "exbb \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i) ; # or
    # $data =~ /forums\.php\?[^""]*forum=\d+/i);
    print "yabb \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/i or
    $data =~ /YaBB\.pl\?[^""]*num=\d+/i ) ;
    print "dleforum \n"
    if ($data =~ /\(Powered By DLE Forum\)<\/title>/i or
    $data =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">DLE Forum<\/a>/i) ;
    print "ikonboard \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/i or
    $data =~ /\n"
    if ($data =~ /\n"
    # if($data =~ /forums\.php\?fid=\d+/i or
    # $data =~ /topic\.php\?fid=\d+/i or
    if ($data =~ /]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i) ;
    print "stokesit \n"
    # if($data =~ /forum\.php\?f=\d+/i or
    if ($data =~ /]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*Stokes IT/i) ;
    print "podium \n"
    # if($data =~ /topic\.php\?t=\d+/i or
    if ($data =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Podium/i) ;
    print "usebb \n"
    # if($data =~ /forum\.php\?id=\d+/i or
    if ($data =~ /]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i) ;
    print "wrforum \n"
    # if($data =~ /index\.php\?fid=\d+/i or
    if ($data =~ /]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i) ;
    print "yetanotherforumnet \n"
    if ($data =~ /Yet Another Forum\.net/i or
    $data =~ /default\.aspx\?g=posts&t=\d+/i) ;

    You will find this and other scripts mentioned in the post in this archive.

    Script which-forum.pl examines the HTML page code to see if it contains signatures of the forum engine. We used a similar technique when defining WordPress and Joomla, but there are a couple of differences. Firstly, the script itself does not load the page code, but reads it from stdin or a file passed as an argument. This allows you to download the page once, for example, using wget, and then run it through several analyzers, if we have more than one. Secondly, in this script the presence of a signature is 100% a sign of the engine. Last time, the presence of a signature only added weight to the corresponding engine and the engine with the greatest weight “won”. I decided that in this case, such an approach would only unnecessarily complicate the code.

    To test the script, I did some research. I compiled a list of several thousand forums and ran each of them through my script, thereby determining the percentage of program responses and the popularity of various engines.

    To get the list of forums, I used my Google parser. Queries like this were sent to the search engine

    site:forum.*.ru
    site:talk.*.ru
    site:board.*.ru
    site:smf.*.ru
    site:phpbb.*.ru
    ....

    and so on. You will find the complete query generator code in the file gen-forumsearch-urls.pl. In addition to zone.ru, .su .ua .kz and .by were also used. Last time, it was difficult to conduct such a study, since WordPress and Joomla sites do not have such signatures in the URL. Catalogs like cmsmagazine.ru/catalogue/ do not provide a sufficient sample size. What is 600 Drupal sites?

    I must admit, the results of the experiment disappointed me. Of the 12,590 sites studied, the engine was successfully identified on only 7,083, that is, only in 56% of cases. Maybe I didn't take into account some engine? Was it really true that half of the forums had Bitrix installed? Or should I have spent more time searching for signatures? In general, additional research is required here.

    Among the 56% of successfully identified engines, the most popular, as expected, were IPB (31%), phpBB (26.6%) and vBulletin (26.5%)

    They are followed with a large lag by SMF (5.8%) and DLEForum (5.3%). My favorite punBB was only in 6th place (1.64%). I wouldn’t recommend putting much faith in these numbers (they say that every third forum on the RuNet runs on IPB), but certain conclusions can, of course, be drawn.

    For example, if you intend to make a site on a forum engine and plan to modify the forum, say, pay users $0.01 for each message with automatic withdrawal of funds once a week, then you should choose one of the three most popular engines. The more popular the forum, the greater the chances of finding a programmer who is well versed in it.

    If no significant changes are expected in the engine, then it may make sense to choose a less popular engine, for example SMF or punBB. This will reduce the number of hacker attacks on your forum and the amount of spam automatically sent on it.

    Scripts for searching/identifying forums can also find many practical applications. The first thing that came to my mind was to sort the identified forums by TIC and post on the first hundred posts with links to one of my sites. However, hundreds of forum dofollow links did not affect the TCI in any way (2 updates have passed), so it is better not to waste time here, unless you are not interested in transitions.

    It is clear that the mentioned use of scripts is far from the only one. I think you can easily figure out how else you can use them.



    Related publications