Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Really anonymous posting

edited May 2009 in Vanilla 1.0 Help
I have two Vanilla forums. One of them requires that the user registers. The primary reason is that I want to secure the privacy of the users. No problem here.

The other forum is a copy. However, there's still no content because people don't want to register. They prefer to react anonymously. I understand that and also I don't mind. There's no privacy issue.

The problem with Vanilla is that there's no good add-on for this type of forum. I tried Guestpost, only to discover after a while that it doesn't at all do what I expected. I expected that it would allow people to add a comment using a nickname.

There's another add-on: PostAnonymously. However, this one too doesn't do what I need.

What I need is an add-on that allows really anonymous posting, but the user must be allowed to use a nickname, not merely a 'Guest' name. Why is this type of add-on still not available? If it's impossible or undesirable according to the influential people in this community, then Vanilla is the wrong choice for me and I'll consider using an alternative.

Comments

  • SS ✭✭
    Anonymous posting is evil.
    Try this extension: AnonyMouse.
  • Anonymous posting evil? Sometimes perhaps, but not always. Anyway, I installed AnonyMouse in the traditional way. There's now a warning when logged in:

    Warning! Not defined $Configuration['ANONYMOUSE_USER_ID']!
  • SS ✭✭
    edited April 2009
    Anonymous posting evil?

    Yes, spam bots will kill your forum. By the way, in this extension (v 0.01) there is no spam protect functions at all.

    There's now a warning when logged in:
    Warning! Not defined $Configuration['ANONYMOUSE_USER_ID']!


    Extension "real anonymous posting" is imposible (need modify vanilla framework, core files), if UserID <= 0 it will break chain of saving comment in vanilla core.
    You need define UserID of exists forum member that will act as annonymous (in file extensions/AnonyMouse/default.php you will see $Configuration['ANONYMOUSE_USER_ID'] = -3;)

    So, this UserID must be ID of real forum member. You can add that user by registration or use <a href="http://lussumo.com/addons/index.php?PostBackAction=AddOn&AddOnID=321">extension Add Member.
  • Okay, I get the picture. The -3 must be replaced by the userID of an existing (or to be created) guest account. And this userID can be found in LUM_user.

    It is now working on my forum and I like it. I have changed the following line:

    $Comment->AuthUsername = $AnniComment['Nickname'];

    to

    $Comment->AuthUsername = "Anonymous reaction - ".$AnniComment['Nickname'];

    This will make clear to readers that the reaction was from an anonymous person. It also prevents that someone uses the nickname of a registered user - e.g. admin - and that it is no longer clear that it's not the real registered user.

    Thanks for the good work.
  • Now that I think of it, isn't it wise to add a field RemoteIP to LUM_AnniComments?!
  • SS ✭✭
    edited April 2009
    It is not necessary, field RemoteIP is already in LUM_Comment.
    If you want to show IP modify function SetAnniName() thus:
    global $CommentGrid, $Context; ... $Comment->AuthUsername = "Anonymous reaction - ".$AnniComment['Nickname']; if($Context->Session->User->Permission('PERMISSION_IP_ADDRESSES_VISIBLE')){ $Comment->AuthUsername .= sprintf(' (%s)', $Comment->RemoteIp); }
  • Everything on the script works for me except the user isn't returned to the discussion, rather a blank white screen.
  • I can confirm that the code that shows the IP to the admin works fine.

    There are indeed many spams coming in. I think most can be avoided by forcing an anonymous user to start the userid/nickname with a fixed sequence, e.g. by == or __ or 123 or whatever. The information to start the userid with this sequence can be mentioned in the instruction. Is this a nice idea?!
  • SS ✭✭
    I've never heard about that anti-spam method with a fixed sequence for username =) It is not good protection from spam bots, I think that simple CAPTCHA is better. Actually, I've already implemented CAPTCHA feature not long ago. I'll make official release of extension "AnonyMouse" soon.
  • Well, I noticed that the spam bot that's hunting me uses weirdo, obviously automatically generated names. It seemed to me that it's easier to implement than a captcha. I'll await your next release. Thanks for the good work.
  • The spam was always to my first/top discussion. This is a welcome message, so I decided to close that discussion. Then I logged out and tried to add an anonymous comment (as pipo). The following error message popped up:
    Notice: Trying to get property of non-object in /xxxxx/Vanilla/extensions/AnonyMouse/default.php on line 100
    A fatal, non-recoverable error has occurred
    Technical information (for support personel):

    Error Message
    REPLACE INTO LUM_AnniComments SET CommentID=, Nickname="pipo"
    Affected Elements
    AnonyMouse.SaveCommentInfo();

    The error occurred on or near: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' Nickname="pipo"' at line 1
  • SS ✭✭
    Done. http://lussumo.com/addons/index.php?PostBackAction=AddOn&AddOnID=452
  • edited May 2009
    It works great, but I have changed some settings in hnimage.php for the time being. I noticed that I frequently made erroneous assumptions about the numbers being displayed. So I enlarged the size of the fonts (from 19 to 27), reduced the noisefactor and rotationfactor to zero and increased the horizontal spacing from 0.9 to 1.1.
    $MaxSize = 27; //19 $MinSize = 27; //19 $NumChars = 3; $CharRange = '/[2-9]/'; //4-9 $NoiseFactor = 0; //8 $MaxRotation = 0; //5 $CharSpacing = 1.1; //0.9
    Also, I had to increase the size of the rectangle from 1.1 to 1.5.
    $SizeY = (int)(1.5 * $MaxSize);
    And last but not least, I had to lower the display of the fonts in the rectangle (by changing 1.25 to 1.4), because their top was oftentimes outside the rectange.
    $Y = (int)($Size * 1.4); // $Size = 1.2 of height
Sign In or Register to comment.