Forums

Unfortunately no one can be told what FluxBB is - you have to see it for yourself.

You are not logged in.

#1 Re: Modifications (1.4 / 1.5) » Blocking Russian » 2011-12-31 16:01:22

OJM

Completely forgot to reply to this topic...

Franz wrote:

What kind of spam do you seem to get? Are they bots or do they seem to be humans (possibly paid for) spamming?

What I can tell you is this: there is no definitive way to get around spam and not every solution works for everyone. Have you tried StopForumSpam? It works very well for us.

The spammers seem to be humans, rather than bots...or at least I assume they are, due to requiring them to check email etc (although I know a bot could be setup to check email).

When you say StopForumSpam mod, do you mean this one?
http://fluxbb.org/resources/mods/spam-ip-check/


adaur wrote:

You can use a simple trick (plus the rest) :

- Add a text input "username" hidden with your CSS file
- Add in the top of register.php a die() if the field is not blank because bots love to register with this field tongue

You can also change "req_username" to something else less common like "utilisateur" if you want to employ a french word or anything you like smile.

I'll give that a try, thank you!


Where would I put the function to stop Russian being posted?

#2 Modifications (1.4 / 1.5) » Blocking Russian » 2011-12-01 13:21:32

OJM
Replies: 3

I'm trying my hardest to tackle the amount of spam I get on my forum (www.facebookforum.co.uk), but it's driving me crazy!

I already have the following installed and setup:

- Bad Behavior Plugin (blocked 695 in 7 days)
- Project Honey Pot http:BL Plugin (set to 10 on every possible setting)
- Verify registrations


The majority of spam is Russian, so I'd like to automatically ban anyone who posts Russian.  Could someone give me a pointer as to where I need to catch Russian being inserted into the topic title or post please?

I already have a small function to find out if it's Russian text or not;

function isRussian($text) {
    return preg_match('/[А-Яа-яЁё]/u', $text);
}

If anyone can share any spam stopping secrets with me, that would be greatly appreciated.

If anyone is interested, I don't actually ban the user...I add them to a ban list (both automatically with http:BL and also manually), but have set the forum to only grant them access to one part of the forum, rather than banning them altogether.  In this one part of the forum (hidden to anyone else), I'm gathering up all the spam and will be looking at sending the data to Project Honey Pot to help them with fighting further spammers.

#4 Re: Modifications (1.2) » Email Global Plus - Ignore Bans » 2009-08-31 09:00:06

OJM

Looks good to me - just sent an email and it seemed to count the right amount!

Cheers mate, appreciated!

#5 Modifications (1.2) » Email Global Plus - Ignore Bans » 2009-08-31 07:56:34

OJM
Replies: 4

Hi,

I have the Email Global Plus installed, which allows me to send emails to all members.

Unfortunately, it only looks at the 'subscribed' flag in the database, and not at the 'bans' list, so it emails all my banned users which creates a lot of bounce backs as you can imagine.

Would someone be so kind as to have a look at the code and implement the changes I need to make so it a) ignores users on the ban list for the members count in the preview screen, and b) ignores users on the ban list when the email is sent.

Thank you!

Oli

<?php
/***********************************************************************

  Copyright (C) 2005  Terrell Russell (punbb@terrellrussell.com)
  
  Copyright (C) 2006  FoxMaSk (foxmask@punbb.fr)

  This file is part of PunBB.

  PunBB is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published
  by the Free Software Foundation; either version 2 of the License,
  or (at your option) any later version.

  PunBB is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  MA  02111-1307  USA

************************************************************************/


/*********************************************************************** 
18 Mai 2006 - Author FoxMask -  AP_Email_Global_Plus v 1.0

Adapted plugin AP_Email_Global.php Terrell Russell

This plugin allows you to send mass mails to a group of users 
and adds the group administrator to 'blame' reception of mass mail.

************************************************************************/


// Make sure no one attempts to run this script "directly"
if (!defined('PUN'))
    exit;

// Tell admin_loader.php that this is indeed a plugin and that it is loaded
define('PUN_PLUGIN_LOADED', 1);



// --------------------------------------------------------------------

// Confirm Page

if (isset($_POST['confirm']))
{
    // Make sure message body was entered
    if (trim($_POST['message_body']) == '')
        message('You haven\'t written your message!');

    // Make sure message subject was entered
    if (trim($_POST['message_subject']) == '')
        message('You haven\'t written a subject!');

    // Display the admin navigation menu
    generate_admin_menu($plugin);
    
    $preview_message_body = nl2br(pun_htmlspecialchars($_POST['message_body']));
    
    if (! is_numeric($_POST['group_id']) ) message('tsss tsss tsss!!!');
    
    // sent to all groups except guest and unverified users
    if ($_POST['group_id'] == '0' ) 
        $sql = "SELECT count(*) AS usercount
                FROM ".$db->prefix."users
                WHERE group_id <> '3' AND subscribed = '1' ORDER BY username";
    else 
    // sent to a particular group
        $sql = "SELECT count(*) AS usercount
                FROM ".$db->prefix."users
                WHERE group_id = '".$_POST['group_id']."'" .
               "ORDER BY username";
                
    $result = $db->query($sql) or error('Can not find the number of users in the database', __FILE__, __LINE__, $db->error());
       $row = $db->fetch_assoc($result);

?>
    <div id="exampleplugin" class="blockform">
        <h2><span>Global Email Plus - Confirmation</span></h2>
        <div class="box">
            <div class="inbox">
                <p>Confirm your message before sending.<br /><br />For any corrections, <a href="javascript: history.go(-1)">Go Back</a>.</p>
            </div>
        </div>

        <h2 class="block2"><span>Confirmation of your Message</span></h2>
        <div class="box">
            <form id="broadcastemail" method="post" action="<?php echo $_SERVER['REQUEST_URI'] ?>">
                <div class="inform">
                    <input type="hidden" name="message_subject" value="<?php echo pun_htmlspecialchars($_POST['message_subject']) ?>" />
                    <input type="hidden" name="message_body" value="<?php echo pun_htmlspecialchars($_POST['message_body']) ?>" />
                    <input type="hidden" name="group_id" value="<?php echo $_POST['group_id']; ?>"/>
                    <fieldset>
                        <legend>Receipents</legend>
                        <div class="infldset">
                            [ <strong><?php echo $row['usercount'] ?></strong> ] members will receive this message (Administrator included).
                        </div>
                    </fieldset>
                </div>
                <div class="inform">
                    <fieldset>
                        <legend>Content of your message</legend>
                        <div class="infldset">
                            <table class="aligntop" cellspacing="0">
                                <tr>
                                    <th scope="row">Subject</th>
                                    <td>
                                        <?php echo pun_htmlspecialchars($_POST['message_subject']) ?>
                                    </td>
                                </tr>
                                <tr>
                                    <th scope="row">Your message</th>
                                    <td>
                                        <?php echo $preview_message_body ?>
                                    </td>
                                </tr>
                            </table>
                            <div class="fsetsubmit"><input type="submit" name="send_message" value="Confirm - Send" tabindex="3" /></div>
                            <p class="topspace">Press submit only once!!.</p>
                        </div>
                    </fieldset>
                </div>
            </form>
        </div>
    </div>
<?php

}

// --------------------------------------------------------------------

// Send the Message

else if (isset($_POST['send_message']))
{

    require_once PUN_ROOT.'include/email.php';
    @set_time_limit(0);

    // Display the admin navigation menu
    generate_admin_menu($plugin);
                
    if (! is_numeric($_POST['group_id']) ) message ('tsss tsss tsss!!!');
    
    // sent to all groups except guest and unverified users
    if ($_POST['group_id'] == '0' ) 
        $sql = "SELECT username, email
                FROM ".$db->prefix."users
                WHERE group_id <> '3' AND subscribed = '1' ORDER BY username";
    
    // sending only the group administrator
    elseif ($_POST['group_id'] == '1' ) 
    
        $sql = "SELECT username, email
                FROM ".$db->prefix."users
                WHERE group_id = '1'" .
            " ORDER BY username";
            
    else 
    // sent to a particular group + group administrator
        $sql = "SELECT username, email
                FROM ".$db->prefix."users
                WHERE group_id = '".$_POST['group_id']."' or group_id = '1'" .
            " ORDER BY username";
            
    $result = $db->query($sql) or error('Can not find users in the database', __FILE__, __LINE__, $db->error());
       while($row = $db->fetch_assoc($result))
       {
           $addresses[$row['username']] = $row['email'];
       }

    $usercount = count($addresses);
    
    $mail_subject   = pun_htmlspecialchars($_POST['message_subject']);
    $mail_message   = pun_htmlspecialchars($_POST['message_body']);

    foreach ($addresses as $recipientname => $recipientemail)
    {
    
        $mail_to        = $recipientemail;

        pun_mail($mail_to, $mail_subject, $mail_message);
    }


    
?>
    <div class="block">
        <h2><span>Globla Email Plus - Message Sent</span></h2>
        <div class="box">
            <div class="inbox">
                <p>Your message was sent to  [ <strong><?php echo $usercount ?></strong> ] members.</p>
                <p>The administrator was included</p>
                <p>You will receive a copy of your message soon</p>
            </div>
        </div>
    </div>
<?php

}

// --------------------------------------------------------------------

// Display the Main Page

else
{
    // Display the admin navigation menu
    generate_admin_menu($plugin);

?>
    <div id="exampleplugin" class="blockform">
        <h2><span>Globla Email Plus</span></h2>
        <div class="box">
            <div class="inbox">
                <p>This plugin allows the administrator to send a message to all the users of a forum or of a specific group.</p>
                <p>A confirmation page will be displayed after you click "Continue to the Confirmation Page"</p>
            </div>
        </div>

        <h2 class="block2"><span>Write a Message</span></h2>
        <div class="box">
            <form id="broadcastemail" method="post" action="<?php echo $_SERVER['REQUEST_URI'] ?>">
                <div class="inform">
                    <fieldset>
                        <legend>Content of the message</legend>
                        <div class="infldset">
                            <table class="aligntop" cellspacing="0">
                                <tr>
                                    <th scope="row">Group</th>
                                    <td>
                                        <select name="group_id">
                                            <option value="0" select="selected">Everyone</option>
                                        <?php 
                                        // we do not take the guest
                                        $sql_group = "SELECT * FROM ".$db->prefix."groups WHERE g_id <> '3' ORDER BY g_id";
                                        $result_group = $db->query($sql_group) or error('can find a list of user groups',__FILE__, __LINE__, $db->error()); 
                                        while ($row_group = $db->fetch_assoc($result_group)) {
                                        ?>
                                            <option value="<?php echo $row_group['g_id']; ?>"><?php echo $row_group['g_title']; ?></option>
                                        <?php } ?>
                                        </select>
                                    </td>
                                </tr>
                                <tr>
                                    <th scope="row">Subject</th>
                                    <td>
                                        <input type="text" name="message_subject" size="50" tabindex="1" />
                                    </td>
                                </tr>
                                <tr>
                                    <th scope="row">The message</th>
                                    <td>
                                        <textarea name="message_body" rows="14" cols="48" tabindex="2"></textarea>
                                    </td>
                                </tr>
                            </table>
                            <div class="fsetsubmit"><input type="submit" name="confirm" value="Continue to the Confirmation Page" tabindex="3" /></div>
                        </div>
                    </fieldset>
                </div>
            </form>
        </div>
    </div>
<?php

}

// --------------------------------------------------------------------

// Note that the script just ends here. The footer will be included by admin_loader.php.

#7 Modifications (1.2) » Auto Post RSS Feed » 2009-08-28 08:06:24

OJM
Replies: 2

Hi,

I've seen this done on another forum application, which allowed them to somehow automatically post RSS feeds from a website - ie, when website A added a new news story, a short snippet and a link to the full story would be posted on website B's forum.

Is this possible on FluxBB?

Cheers,

Oli

#8 Modifications (1.2) » Socialise Links - Share with... » 2009-08-17 10:06:06

OJM
Replies: 2

Has anyone developed a mod to enable 'share' buttons on topics?  Ie, share on Facebook, Digg etc?

Cheers,

Oli

Board footer

Powered by FluxBB 1.5.0