Recent Topics

1 Nov 01, 2010 01:17    

My b2evolution Version: 3.3.3

Hello, I did a search here and I didn't find what I was looking for.

What I want to do is remove the URL field when a visitor uses the comment panel. I want them to be able to leave a comment, add a username, become a member, add avatar, email address etc, everything but put an URL in the comment field.

Does that make sense? The image here circles what I want gone..

http://words.outsidetheurl.com/media/remove.jpg

I am using 3.3.3 found here: http://words.outsidetheurl.com

2 Nov 19, 2010 18:01

Does nobody from b2evolution monitor these forums? This question has been here for a while now. I am looking for the same. I want to stop spammers. I have read tips elsewhere for changing the spam karma - I've set the relevant variable to zero so if any link is in the comment, it should be treated as spam - but most spam comments put a link in the web address field. Can we get rid of it somehow???

3 Nov 19, 2010 18:35

Edit the _item_comment_form.inc.php file in your particular skin's folder (if one doesn't exist for your skin, copy the file from the /skins folder into the /skins/<yourskin> folder.

Comment out the line that looks something like this:

$Form->text( 'o', $comment_author_url, 40, T_('Website'), '<br />'.T_('Your URL will be displayed.'), 100, 'bComment' );

4 Nov 19, 2010 19:41

After that you may want to edit /htsrv/comment_post.php and change

// VALIDATION:


to

// VALIDATION:

if( !empty($url) ) die('spammer');

:>>

6 Nov 19, 2010 23:14

* {@internal Open Source relicensing agreement:
 * }}
 *
 * @package htsrv
 */


/**
 * Initialize everything:
 */
require_once dirname(__FILE__).'/../conf/_config.php';

if( !defined( 'am_antispam' ) )
{
	$SpamHound->WriteLog( 'comment', 'Direct hit '.( empty( $_SERVER['HTTP_REFERER'] ) ? '' : $_SERVER['HTTP_REFERER'] ) );
	die( 'Please, do not access this page directly.' );
}

I'm sooooo paranoid :D

¥

7 Nov 19, 2010 23:49

Nice! I'll have to remember that.
Paranoia is vastly under-rated. ;)

8 Dec 08, 2010 22:48

BushLeagueCritic wrote:

Edit the _item_comment_form.inc.php file in your particular skin's folder (if one doesn't exist for your skin, copy the file from the /skins folder into the /skins/<yourskin> folder.

Comment out the line that looks something like this:

$Form->text( 'o', $comment_author_url, 40, T_('Website'), '<br />'.T_('Your URL will be displayed.'), 100, 'bComment' );

Thanks. That is all I needed.

9 Dec 12, 2010 23:14

Umm... I did the edits from above (first 2) and I am still getting comments with URLs in them.

When I go to the blog both signed in and not signed in the URL input box is not showing. How are they still adding URLs to the comments?

10 Jun 18, 2011 10:27

NegativeChaos wrote:

Umm... I did the edits from above (first 2) and I am still getting comments with URLs in them.

When I go to the blog both signed in and not signed in the URL input box is not showing. How are they still adding URLs to the comments?

Late reply, I know, but still...

They post comments directly to /htsrv/comment_post.php file. It's not the case anymore in b2evo 4 though.

11 Jul 07, 2012 22:34

Hi Sam,

I've done the same thing, but I also applied the changes to comment_post.php, to prevent them from sending the comment directly via HTTP POST requests. I tested this by hand - the system behaves as I want.

Nevertheless, I still got a spam comment with a URL set to something.

Is there another entry point that can be used for posting comments?

Note that I changed it in a different way:


if( is_logged_in() )
{
	/**
	 * @var User
	 */
	$User = & $current_User;
	$author = null;
	$email = null;
	$url = null;
	$comment_cookies = null;
	$comment_allow_msgform = null;
}
else
{	// User is not logged in (registered users), we need some id info from him:
	$User = NULL;
	// Note: we use funky field names to defeat the most basic guestbook spam bots and/or their most basic authors
	$author = param( 'u', 'string' );
	$email = param( 'i', 'string' );
	$url = param( 'o', 'string' );
	param( 'comment_cookies', 'integer', 0 );
	param( 'comment_allow_msgform', 'integer', 0 ); // checkbox
	

	/*It checks if the string is longer than 8, that's because of
	"http://" and "https://". Normally I'd simply check if the string is empty
	but the thing is that b2evo fills that field with "http://" by default, so
	even if the user leaves it unchanged, it will be non empty*/
	
	if( strlen($url) >= 8 )
	{
		echo "The CAPTCHA is wrong, try again.";
		exit(0);
	}
}

It is not identical to your recommendation, but it should be doing the same thing - the script ends before it reaches the validation part - it should still work.

12 Jul 08, 2012 04:33

Based on your code, logged in users can post comments with URLs.

13 Jul 08, 2012 10:14

You're right, however - I disabled the feature to register new users and the comment that was posted was an anonymous one.

In either case, I must say that there were no other comments posted, so my guess is that this one was published shortly before I saved the new version of the PHP file. In other words, the issue is resolved, but the timing was a bit unlucky :-)


Form is loading...