Author |
Message |
mrix
Client

Joined: Dec 04, 2004
Posts: 757
|
Posted:
Mon Apr 17, 2006 12:13 pm |
|
Hello all, I have a phpbb stand alone forum and somebody from this website http://karaoke.qualityandsweet.info/ is constantly joining my forum with different names but not posting I think its down they are just spamming links from their etc. Is there a way of banning their website kind of thing from stopping them adding it? it would be good to ban them but without them posting how would I get an ip etc?
Cheers
mrix |
|
|
|
 |
evaders99
Former Moderator in Good Standing

Joined: Apr 30, 2004
Posts: 3221
|
Posted:
Mon Apr 17, 2006 1:30 pm |
|
Yes qualityandsweet.info are using robots to do that. Do you have the visual confirmation turned on? That will help.
You may want to see phpBB for any mods that stop spammers |
_________________ - Only registered users can see links on this board! Get registered or login! -
Need help? Only registered users can see links on this board! Get registered or login! |
|
|
 |
mrix

|
Posted:
Mon Apr 17, 2006 1:52 pm |
|
Hello thanks for the help where you say
Quote: | visual confirmation turned on? | where would I turn that on?
thanks
|2es-mrix |
|
|
|
 |
mrix

|
Posted:
Mon Apr 17, 2006 1:52 pm |
|
Hello thanks for the help where you say
Quote: | visual confirmation turned on? | where would I turn that on?
thanks
|2es-mrix |
|
|
|
 |
evaders99

|
Posted:
Mon Apr 17, 2006 2:03 pm |
|
|
|
 |
mrix

|
Posted:
Mon Apr 17, 2006 3:49 pm |
|
Yea I can remember trying that option before but when anyone regesters it comes up with an error saying
The confirmation code you entered was incorrect
it also doesnt show the security number for some reason?
cheers
|2es-mrix
I wonder if I could block the spider in robots.txt ??? |
|
|
|
 |
evaders99

|
Posted:
Mon Apr 17, 2006 6:43 pm |
|
|
|
 |
mrix

|
Posted:
Wed Apr 19, 2006 2:42 pm |
|
I managed to find this code that worked a treat!
## MOD Title: Instant Ban - Spam Bots registration
## MOD Author: niekas
## MOD Description: prevents spam bots registering on your forum by
## removing website and signature fields in registration and profile form
##untill users reached certain amount of posts
## MOD Version: 1.0.1
##
## Installation Level: (Easy)
## Installation Time: ~5 minutes
## Files To Edit:
## /includes/usercp_register.php
## /templates/subSilver/profile_add_body.tpl
## Included Files: (n/a)
#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------
#
$error = FALSE;
#
#-----[ AFTER, ADD ]------------------------------------------
#
$cut_off=10; //how many posts should user have before form fields are activated
// ---------------------------------------
if (($mode == 'register' && ($HTTP_POST_VARS['website'] != '' || $HTTP_POST_VARS['signature'] != '') ) || ($userdata['user_posts'] < $cut_off && $mode=='editprofile' && ($HTTP_POST_VARS['website'] != '' || $HTTP_POST_VARS['signature'] != '')))
{
$ban_this=encode_ip(getenv('REMOTE_ADDR'));
$sql = "INSERT INTO " . BANLIST_TABLE . " (ban_ip)
VALUES ('" . $ban_this . "')";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't insert ban_ip info into database", "", __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . SESSIONS_TABLE . "
WHERE session_ip = '" . $ban_this . "'";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't delete banned sessions from database", "", __LINE__, __FILE__, $sql);
}
message_die(GENERAL_MESSAGE, "banned", '', __LINE__, __FILE__);
}
#
#-----[ FIND ]------------------------------------------
#
if ( $mode == 'editprofile' )
{
$template->assign_block_vars('switch_edit_profile', array());
}
#
#-----[ REPLACE WITH ]------------------------------------------
#
if ( $mode == 'editprofile' )
{
$template->assign_block_vars('switch_edit_profile', array());
if ($userdata['user_posts'] >= $cut_off)
{
$template->assign_block_vars('switch_edit_website', array());
}
}
#
#-----[ OPEN ]------------------------------------------
#
/templates/subSilver/profile_add_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1"><span class="gen">{L_WEBSITE}:</span></td>
<td class="row2">
<input type="text" class="post"style="width: 200px" name="website" size="25" maxlength="255" value="{WEBSITE}" />
</td>
</tr>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
<!-- BEGIN switch_edit_website -->
#
#-----[ AFTER, ADD ]------------------------------------------
#
<!-- END switch_edit_website -->
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1"><span class="gen">{L_SIGNATURE}:</span><br /><span class="gensmall">{L_SIGNATURE_EXPLAIN}<br /><br />{HTML_STATUS}<br />{BBCODE_STATUS}<br />{SMILIES_STATUS}</span></td>
<td class="row2">
<textarea name="signature"style="width: 300px" rows="6" cols="30" class="post">{SIGNATURE}</textarea>
</td>
</tr>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
<!-- BEGIN switch_edit_website -->
#
#-----[ AFTER, ADD ]------------------------------------------
#
<!-- END switch_edit_website -->
Of course you can add a notice about this in your template - that website and signature field will be activated after certain amount of posts or ask them to contact administrator.
Let me know if it works for you
UPDATE - if you'd rather only check against website and leave signatures intact use this simplier code:
Code:
#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------
#
$error = FALSE;
#
#-----[ AFTER, ADD ]------------------------------------------
#
// ---------------------------------------
if ($mode == 'register' && $HTTP_POST_VARS['website'] != '' )
{
$ban_this=encode_ip(getenv('REMOTE_ADDR'));
$sql = "INSERT INTO " . BANLIST_TABLE . " (ban_ip)
VALUES ('" . $ban_this . "')";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't insert ban_ip info into database", "", __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . SESSIONS_TABLE . "
WHERE session_ip = '" . $ban_this . "'";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't delete banned sessions from database", "", __LINE__, __FILE__, $sql);
}
message_die(GENERAL_MESSAGE, "banned", '', __LINE__, __FILE__);
}
#
#-----[ OPEN ]------------------------------------------
#
/templates/subSilver/profile_add_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1"><span class="gen">{L_WEBSITE}:</span></td>
<td class="row2">
<input type="text" class="post"style="width: 200px" name="website" size="25" maxlength="255" value="{WEBSITE}" />
</td>
</tr>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
<!-- BEGIN switch_edit_profile -->
#
#-----[ AFTER, ADD ]------------------------------------------
#
<!-- END switch_edit_profile --> |
|
|
|
 |
|