+1-888-365-2779
Try Now
More in this section

Forums / Suggestions / Human Verification on Comments

Human Verification on Comments

9 posts, 0 answered
  1. Gabe Sumner
    Gabe Sumner avatar
    440 posts
    Registered:
    09 Sep 2007
    14 Jan 2008
    Link to this post
    I hate that I have to suggest this, but I am finding that I have to clean-up the comments on www.goondocks.com almost daily now.

    Some bot keeps posting nonsensical comments containing URLs to spam web sites.  I had previously set <page validateRequest="false" /> in my web.config file.  This might have been some of my problem.  I turned "validateRequest" to "true" and we will see if that helps. 

    Regardless of the "request validation", the comments could still be easily abused by a bot.  I know everyone hates CAPTCHA verification, but It would be a nice bit of functionality to have:

    http://en.wikipedia.org/wiki/CAPTCHA

    Spammers make the world such a wonderful place.

    Gabe
    ==================
  2. Tihomir
    Tihomir avatar
    53 posts
    Registered:
    24 Sep 2012
    15 Jan 2008
    Link to this post
    Hello Gabe,

    We will provide some rather interesting spam filtering options in the next release along the other cool features we plan to add!

    All the best,
    Tihomir
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
  3. Gabe Sumner
    Gabe Sumner avatar
    440 posts
    Registered:
    09 Sep 2007
    12 Aug 2008
    Link to this post
    This is an old thread but I wanted to follow-up.  My issues with blog SPAM have been addressed with Sitefinity 3.2's SpamProtector control.

    For extra protection, CAPTCHA can also be enabled on the Sitefinity blog comment form.  Additional details can be be found at the following URL:

    http://www.goondocks.com/blog/08-08-10/Enabling_CAPTCHA_for_Sitefinity_Blog_Comments.aspx

    Gabe Sumner
    http://www.goondocks.com/
  4. Georgi
    Georgi avatar
    3583 posts
    Registered:
    28 Oct 2016
    15 Aug 2008
    Link to this post
    Hi Gabe Sumner,

    Thank you for writing this article. It's pretty neat, and helpful at the same time.

    Regards,
    Georgi
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  5. bnye
    bnye avatar
    332 posts
    Registered:
    22 Sep 2005
    11 Sep 2008
    Link to this post
    Again, old thread update. Folks might want to know that you can implement captcha with the SpamProtector inside of a createuserwizard. Below is the entire markup. It seems to work great and provides more flexibility then then the solution available on Code Project.

    It's a createuserwizard and login control inside of a radmultipage with a tab strip.

    <%@ Register Assembly="Telerik.Cms.Web.UI" Namespace="Telerik.Web.UI.SpamProtection" 
        TagPrefix="cc1" %> 
    <telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="RadMultiPage1">  
        <Tabs> 
            <telerik:RadTab runat="server" Text="Sign up">  
            </telerik:RadTab> 
            <telerik:RadTab runat="server" Text="Log in">  
            </telerik:RadTab> 
        </Tabs> 
    </telerik:RadTabStrip> 
    <telerik:RadMultiPage ID="RadMultiPage1" runat="server">  
        <telerik:RadPageView ID="RadPageView1" runat="server">  
            <div class="formWrapper">  
                <div class="form">  
                    <asp:CreateUserWizard ID="CreateUserWizard1" runat="server" RequireEmail="true" ContinueDestinationPageUrl="~/account.aspx">  
                        <WizardSteps> 
                            <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">  
                                <ContentTemplate> 
                                    <fieldset> 
                                        <legend>Sign up</legend> 
                                        <ul> 
                                            <li> 
                                                <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">User name:</asp:Label> 
                                                <asp:TextBox ID="UserName" runat="server"></asp:TextBox> 
                                                <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" 
                                                    ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> 
                                            </li> 
                                            <li> 
                                                <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label> 
                                                <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox> 
                                                <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" 
                                                    ErrorMessage="Password is required." ToolTip="Password is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> 
                                            </li> 
                                            <li> 
                                                <asp:Label ID="ConfirmPasswordLabel" runat="server" AssociatedControlID="ConfirmPassword">Confirm password:</asp:Label> 
                                                <asp:TextBox ID="ConfirmPassword" runat="server" TextMode="Password"></asp:TextBox> 
                                                <asp:CompareValidator ID="ConfirmPasswordCompare" runat="server" ControlToValidate="Password" 
                                                    ControlToCompare="ConfirmPassword" ErrorMessage="Confirm Password must match Password." 
                                                    ToolTip="Confirm Password must match Password." ValidationGroup="CreateUserWizard1">*</asp:CompareValidator> 
                                            </li> 
                                            <li> 
                                                <asp:Label ID="QuestionLabel" runat="server" AssociatedControlID="Question">Security question:</asp:Label> 
                                                <asp:TextBox ID="Question" runat="server"></asp:TextBox> 
                                                <asp:RequiredFieldValidator ID="QuestionRequired" runat="server" ControlToValidate="Question" 
                                                    ErrorMessage="Security question is required." ToolTip="Security question is required." 
                                                    ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> 
                                            </li> 
                                            <li> 
                                                <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">Security answer:</asp:Label> 
                                                <asp:TextBox ID="Answer" runat="server"></asp:TextBox> 
                                                <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" ControlToValidate="Answer" 
                                                    ErrorMessage="Security answer is required." ToolTip="Security answer is required." 
                                                    ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> 
                                            </li> 
                                            <li> 
                                                <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">Email:</asp:Label> 
                                                <asp:TextBox ID="Email" runat="server"></asp:TextBox> 
                                                <asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="Email" 
                                                    ErrorMessage="E-mail is required." ToolTip="E-mail is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> 
                                                <asp:RegularExpressionValidator ID="EmailFormat" runat="server" Display="Dynamic" 
                                                    ErrorMessage="Valid email is required." ValidationExpression="^[\w\.\-]+@[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]{1,})*(\.[a-zA-Z]{2,3}){1,2}$" 
                                                    ControlToValidate="Email" EnableClientScript="true" ValidationGroup="CreateUserWizard1">*</asp:RegularExpressionValidator> 
                                            </li>                                          
                                            <li>                                              
                                                <cc1:SpamProtector ID="SpamProtector" runat="server" EnableCaptcha="true" EnableAutoDiscovery="true" CaptchaBackgroundNoise="Low" CaptchaFontFamilyName="Arial" CapcthaInvalidInputMsg="Invalid validation code." CaptchaFontWarp="Low" CaptchaLength="5" CaptchaPossibleChars="Letters" ValidationGroup="CreateUserWizard1" ErrorMessageCssClass="errorMsg" /> 
                                            </li> 
                                        </ul> 
                                        <class="errorMsg">  
                                            <asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"></asp:Literal> 
                                            <asp:ValidationSummary CssClass="errorMsg" runat="server" ID="ValidatoinSummary1" 
                                                ValidationGroup="CreateUserWizard1" DisplayMode="List" ShowSummary="true" EnableClientScript="true" 
                                                ShowMessageBox="false" /> 
                                        </p> 
                                    </fieldset> 
                                </ContentTemplate> 
                                <CustomNavigationTemplate> 
                                    <p> 
                                        <asp:Button ID="btnSignUp" CommandName="MoveNext" runat="server" Text="Sign up" ValidationGroup="CreateUserWizard1" /></p>  
                                </CustomNavigationTemplate> 
                            </asp:CreateUserWizardStep> 
                            <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server">  
                                <ContentTemplate> 
                                    <fieldset> 
                                        <legend>Sign up</legend> 
                                        <p> 
                                            <strong>Your account has been successfully created.</strong></p>  
                                        <p> 
                                            <asp:Button ID="ContinueButton" runat="server" CausesValidation="False" CommandName="Continue" 
                                                Text="Continue" ValidationGroup="CreateUserWizard1" /></p>  
                                    </fieldset> 
                                </ContentTemplate> 
                            </asp:CompleteWizardStep> 
                        </WizardSteps> 
                    </asp:CreateUserWizard> 
                </div> 
            </div> 
        </telerik:RadPageView> 
        <telerik:RadPageView ID="RadPageView2" runat="server">  
        <div class="formWrapper">  
            <div class="form">  
                <asp:Login ID="Login1" runat="server" DestinationPageUrl="~/account.aspx">  
                    <LayoutTemplate> 
                        <fieldset> 
                            <legend>Log in</legend> 
                            <ul> 
                                <li> 
                                    <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">User Name:</asp:Label> 
                                    <asp:TextBox ID="UserName" runat="server"></asp:TextBox> 
                                    <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" 
                                        ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="ctl00$Login1">*</asp:RequiredFieldValidator> 
                                </li> 
                                <li> 
                                    <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label> 
                                    <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox> 
                                    <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" 
                                        ErrorMessage="Password is required." ToolTip="Password is required." ValidationGroup="ctl00$Login1">*</asp:RequiredFieldValidator> 
                                </li> 
                                <li> 
                                    <asp:CheckBox ID="RememberMe" runat="server" Text="Remember me next time." /> 
                                </li> 
                            </ul> 
                            <class="errorMsg">  
                                <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal> 
                            </p> 
                            <table class="formNavigation">  
                                <tr> 
                                    <td> 
                                        <p> 
                                            <asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" ValidationGroup="ctl00$Login1" /> 
                                        </p> 
                                    </td> 
                                </tr> 
                            </table> 
                        </fieldset> 
                    </LayoutTemplate> 
                </asp:Login> 
            </div> 
        </div> 
    </telerik:RadPageView> 
    </telerik:RadMultiPage> 


  6. Georgi
    Georgi avatar
    3583 posts
    Registered:
    28 Oct 2016
    11 Sep 2008
    Link to this post
    Hello Ben,

    Thanks a lot for sharing the code sample. Definitely, it will be very helpful for our clients who need such functionality.
    As a note of gratitude your Telerik account has been updated.

    Kind regards,
    Georgi
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  7. Gerardo
    Gerardo avatar
    15 posts
    Registered:
    20 Sep 2012
    09 Oct 2008
    Link to this post
    This article not work wiht my blogs!!

    I set EnableCaptcha="true" but nos work i can't see captcha in comment form.

    This is  in ContentViewSingleItem.ascx:
       <sfweb:spamprotector id="SpamProtector1" runat="server" cssclass="commentsValidator hide" 
                    validationgroup="commentInfo" enableautobotdiscovery="true" enablehiddentextboxstrategy="true" 
                    EnableCaptcha="true"   
                    hiddentextboxerrormessage="Hidden TextBox has some text in it!" hiddentextboxlabel="Do not fill this textbox!" 
                    hiddentextboxlabelcssclass="hide" hiddentextboxinputcssclass="hide" enablemintimeoutstrategy="true" 
                    mintimeout="2" mintimeouterrormessage="Submission too fast!" /> 



  8. Ivan Dimitrov
    Ivan Dimitrov avatar
    16072 posts
    Registered:
    25 Nov 2016
    10 Oct 2008
    Link to this post
    Hello Gerardo,

    Please set EnableCaptcha="true" in the following template. ~\Sitefinity\ControlTemplates\Blogs\Modes\ListPageDetail.ascx

    Thus, the spam protector will be available for every post.

    Kind regards,
    Ivan Dimitrov
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  9. Gerardo
    Gerardo avatar
    15 posts
    Registered:
    20 Sep 2012
    10 Oct 2008
    Link to this post

    Thank you Ivan!!

    Now work all fine!!

    Regards

Register for webinar
9 posts, 0 answered