+
95
-

bfwsoa框架如何设置开启人机识别验证程序?

bfwsoa框架如何设置开启人机识别验证程序?

最近有些人老是爬我的数据,能不能开启bfwsoa框架的自带人机识别程序,过滤掉机器爬虫?

网友回复

+
15
-

可以在bfwsoa的控制器中设置开启访问action进行人工识别

/**
 *
 * @author bfw
 *         用户地址
 ...

点击查看剩余70%

+
15
-

如果是api访问action接口的话,首先设置action返回json

class Controler_Actlog extends BoControler
{
    
      public $_config = [
            'responseformat' => 'json',
        'humancheck' => [
  ...

点击查看剩余70%

+
15
-

最新的bfwsoa版本支持两种人机验证方式:图片运算验证和单击验证

图片验证就是传统的,mode设置为valideimg,action可以是字符串(单个),也可以是数组(多个action),这种方式支持web和api访问。

 public $_config = [
        'humancheck' => ['mode' => "valideimg",
            "expiresec" => 100,
           
            "action" => "ListData"],
     


    ];

expiresec表示每次验证通过后多少秒内无需人机认证直接放行。

如果是api访问,比如小程序和app,那么直接请求接口会返回一个json的验证数据,以下三种,第一种是验证图片的base64格式,第二种是验证码成功返回的,第三种是验证失败返回的

{humancheck":"validatestart","data":"data:image\/jpeg;base64,iVBO

'humancheck' : "validatecomplete", 'data' : "ok"'humancheck' : "validatefail",'data' : "错误"

我们写一个调用api实现人机验证的例子

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum=1.0,minimum=1.0,user-scalable=0" />
    <title>BFW NEW PAGE</title>
    <script id="bfwone" data="dep=jquery.17&err=0" type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/bfwone.js"></script>
    <script type="text/javascript">
        bready(function() {
            $("#sumbbtn").click(function(){
                let codes= $("#validecode...

点击查看剩余70%

我知道答案,我要回答