7

我们有BotDetect的许可证。我想用 Angular js 实现这个 BotDetect。我在谷歌中搜索并没有发现任何适当的帮助,但是,我得到了angularjs-captcha,它看起来很有希望,但对我没有帮助。

这正是我需要的。

  1. 使用验证码图像加载页面
  2. 用户填写表格
  3. 用户点击提交
  4. 使用 $http 请求页面提交
  5. 如果响应成功或失败,则应根据其工作引擎重新加载验证码。

这是我的表格

<form ng-submit="Submit($event)">
    <table width="100%" cellpadding="0" cellspacing="1" align="center">
        <tr>
            <td class="datafield">
                <label>Name:</label>
                <span class="red">*</span>
            </td>
            <td class="datafield">
                <input type="text" maxlength="50" class="searchboxmain" placeholder="enter name..."
                    ng-model="Form.Name" />
            </td>
        </tr>
        <tr>
            <td class="datafield">
                <label>Email:</label>
                <span class="red">*</span>
            </td>
            <td class="datafield">
                <input type="email" maxlength="240" class="searchboxmain" placeholder="enter email..."
                    ng-model="Form.Email" />
            </td>
        </tr>
        <tr>
            <td class="datafield">Enter Captcha
            </td>
            <td class="datafield">
                <botdetect-captcha>
            <br />
                <input type="text" id="CaptchaCodeTextBox" ng-model="Form.Captcha"/>
            </td>
        </tr>
        <tr>
            <td class="datafield"></td>
            <td class="datafield">
                <button class="submitbutton" ng-click="Submit($event)">Submit enquiry</button>
            </td>
        </tr>
    </table>
</form>

控制器

app.controller('ContactCtrl', function($scope, $http) {
    $scope.Form = {
        Name: '',
        Email: '',
        Captcha: ''
    };
    $scope.Submit = function(event) {
        // Here all code
        event.preventDefault();
    };
});

我很确定可能有其他解决方案而不是使用这个 Angular Captcha,但我不认识任何人,所以可以接受替代解决方案。

4

1 回答 1

0

根据机器人检测

请注意:目前,AngularJS 模块仅支持 BotDetect Java,但即将支持 PHP 和 ASP.NET 版本。

但是,您应该能够通过以下指南完成您在问题中描述的内容:将 ASP.NET MVC 3 集成到现有升级的 ASP.NET 4 Web 窗体应用程序中

于 2017-05-26T02:30:20.313 回答