首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 腾讯云天御验证码:基于十道安全栅栏构建全场景人机验证防御体系

    应对自动化攻击与黑产侵扰的业务安全瓶颈 在数字化业务运营中,企业频繁遭受各类自动化脚本与黑灰产团队的恶意攻击,严重威胁业务正常运行与数据资产安全。 构建跨平台全覆盖的新一代行为验证防线 为应对多维度的业务安全挑战,腾讯云推出新一代行为验证码(Captcha),通过构建核心技术壁垒与灵活集成机制,实现业务安全与用户体验的平衡: 跨端立体防护体系: 核心基于十道安全栅栏技术架构 开发交付效率: 完善的接入文档与Demo支持业务研发团队实现 小时级快速接入,缩短安全防御体系的上线周期。 极优的成本管控: 提供灵活的计费矩阵,按需降低企业安全运维成本(Ops Cost)。 动态升级对抗能力: 具备敏锐的黑产情报感知与模型自动迭代能力,能够实时应对各种变种与升级的恶意对抗行为,为企业提供具备极高确定性的业务安全护城河。 (注:数据及客户案例来源于腾讯安全天御验证码官方产品资料。)

    2900编辑于 2026-04-26
  • 业务风控与智能验证技术深度分析——腾讯云验证码的技术架构与实践​

    在数字经济高速发展的背景下,业务安全已成为企业数字化转型的核心议题。黑灰产攻击手段的复杂化与自动化,使得传统验证码已难以应对薅羊毛、撞库攻击、数据爬取等风险。 腾讯云验证码(Captcha)作为腾讯20年黑灰产对抗经验的结晶,通过智能分级模型、十道安全栅栏及多模态验证技术,构建了一套兼顾安全性与用户体验的立体防御体系。 一、技术架构:十道安全栅栏构筑立体防御 腾讯云验证码的核心竞争力在于其“十道安全栅栏”策略,通过多层技术叠加形成纵深防御体系: ​动态加密与虚拟机加固​:前端SDK采用动态密钥与虚拟机环境,防止黑产逆向破解代码逻辑 该模型支持风控等级动态调整(体验优先/平衡/安全优先),例如在电商大促期间切换至“安全优先”模式,拦截率可提升至99%以上,同时通过弹性资源调度保障QPS峰值突破20万次。 UGC内容安全​:某社交平台通过文字点选验证,将虚假评论与水军刷量减少80%,同时用户投诉率下降65%。

    86410编辑于 2025-07-29
  • 来自专栏余林丰

    栅栏——CyclicBarrier

    栅栏CyclicBarrier和闭锁CountDownLatch类似,可以说它们都是用来计数,都能阻塞一组线程知道某个事件发生。不同的是闭锁用于等待事件,而栅栏用于等待其他线程。 Thread.currentThread().getId() + " waiting"); 20 cyclicBarrier.await(); //线程到达时将阻塞,只有当所有线程都到达时,才会打开栅栏

    70880发布于 2018-01-09
  • 来自专栏数据结构与算法

    2039 骑马修栅栏

    题目描述 Description Farmer John每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。 John是一个与其他农民一样懒的人。 他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。 John能从任何一个顶点(即两个栅栏的交点)开始骑马,在任意一个顶点结束。 每一个栅栏连接两个顶点,顶点用1到500标号(虽然有的农场并没有500个顶点)。一个顶点上可连接任意多(>=1)个栅栏。 两顶点间可能有多个栅栏。所有栅栏都是连通的(也就是你可以从任意一个栅栏到达另外的所有栅栏)。 你的程序必须输出骑马的路径(用路上依次经过的顶点号码表示)。 输入描述 Input Description 第1行: 一个整数F(1 <= F <= 1024),表示栅栏的数目 第2到F+1行: 每行两个整数i, j(1 <= i,j <= 500)表示这条栅栏连接

    882110发布于 2018-04-12
  • 来自专栏happyJared

    CyclicBarrier - 循环栅栏

    CyclicBarrier 和 CountDownLatch 非常类似,它也可以实现线程间的技术等待,但是它的功能比 CountDownLatch 更加复杂和强大,主要应用场景和 CountDownLatch 类似。

    62620发布于 2019-07-23
  • 来自专栏Java3y

    十道算法题

    前言 清明不小心就拖了两天没更了~~ 这是十道算法题的第二篇了~上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下,重温一下 如果还不太熟悉八大基础排序的同学可看:【八大基础排序总结】 由于篇幅问题,每篇写十道吧~ 如果有错的地方,或者有更好的实现,更恰当的理解方式希望大家不吝在评论区留言哦~大家多多交流 十道简单算法题 题目的总览

    1K90发布于 2018-04-24
  • 来自专栏JAVA同学会

    Zookeeper应用之——栅栏(barrier)

    栅栏(barrier)简介 barrier的作用是所有的线程等待,知道某一时刻,锁释放,所有的线程同时执行。 我们通过在Zookeeper设置栅栏节点实现Barrier,节点的名字我们叫做/zookeeper/barrier,具体的逻辑如下: 客户端在Barrier节点上调用exists()方法,并设置观察器

    66630发布于 2018-08-24
  • 来自专栏JAVA同学会

    Zookeeper应用之——栅栏(barrier)

    Zookeeper应用之——栅栏(barrier) 栅栏(barrier)简介 barrier的作用是所有的线程等待,知道某一时刻,锁释放,所有的线程同时执行。 我们通过在Zookeeper设置栅栏节点实现Barrier,节点的名字我们叫做/zookeeper/barrier,具体的逻辑如下: 客户端在Barrier节点上调用exists()方法,并设置观察器

    1.1K10发布于 2018-09-04
  • 来自专栏Michael阿明学习之路

    栅栏涂色(DP)

    题目 有 k 种颜色的涂料和一个包含 n 个栅栏柱的栅栏,每个栅栏柱可以用其中一种颜色进行上色。 你需要给所有栅栏柱上色,并且保证其中相邻的栅栏柱 最多连续两个 颜色相同。 vector<vector<int>>> dp(n,vector<vector<int>>(k,vector<int>(conti+1,0))); //dp[i][c][conti]表示遍历完i栅栏 numWays(int n, int k) { if(n==0 || k==0) return 0; vector<int> dp(n,0); //dp[i]表示遍历完i栅栏的方案数

    1.3K20发布于 2020-07-13
  • 来自专栏历史专栏

    【愚公系列】2023年06月 网络安全(交通银行杯)-栅栏

    ---- 前言 栅栏密码是一种简单的加密方式,是将明文按照一定方式排列,然后按照规定的方式读取密文。具体方式为:将明文中的字符按照设定的间隔排列成一个矩形,然后按照行或列的顺序读取。 凯撒密码和栅栏密码都是古典密码中常用的技术。凯撒密码是字母替换密码中最简单的一种,也是最为简单的一种字母替换密码。 栅栏密码也是一种古典的密码技术,通过在明文中插入一个或多个在字母表上排列的栅栏,再将明文从上往下填充栅栏中的位置,最后将密文从左往右按照行的顺序读出来,就能得到加密后的密文。 一、栅栏 1.打开题目 2.解题 栅栏加密6栏:http://moersima.00cha.net/shan

    39210编辑于 2023-04-21
  • 来自专栏desperate633

    LintCode 栅栏染色题目分析代码

    题目 我们有一个栅栏,它有n个柱子,现在要给柱子染色,有k种颜色可以染。 必须保证任意两个相邻的柱子颜色不同,求有多少种染色方案。

    79910发布于 2018-08-22
  • 来自专栏全栈程序员必看

    聊聊内存屏障_内存栅栏

    在之前文章聊聊JMM,说到了内存屏障,内存屏障在Java语言实现一致性内存模型上起到了重要的作用,本文我们一起聊一聊内存屏障

    1.3K30编辑于 2022-09-20
  • 来自专栏张善友的专栏

    Disruptor-NET和内存栅栏

    这种指令称为内存栅栏。 内存一致性模型需要在各种的程序与系统的各个层次上定义内存访问的行为。 而这种限制是通过不同层次的内存栅栏完成的。 Thread.MemoryBarrier就是采用了CPU提供的某些特定的指令的内存栅栏,下面是msdn的解释【http://msdn.microsoft.com/zh-cn/library/vstudio } } Disruptor-NET正是通过Thread.MemoryBarrier 实现无锁和线程安全的内存操作,看下面是他的Atomic的Volatile类对常用数据类型的封装,volatile (二)神奇的缓存行填充 深入浅出多线程系列之八:内存栅栏和volatile 关键字

    1K60发布于 2018-01-29
  • 来自专栏E条咸鱼

    Python3栅栏密码解密

    类似前言一样的东西 栅栏密码关于加密的栅栏数,可以不整除字符串长度,但是我只会整除的,所以没有考虑不能整除的解密方法 作用 自动根据字符串长度破解栅栏密码 环境 python3 栅栏密码解密 栅栏密码是一种简单的移动字符位置的加密方法 ,规则简单,但是难点在于,不知道字符串的"分割线"在哪里 先来解释一下栅栏密码解密原理 明文: elapse 栅栏数: 2 密文: easlpe 这种解密看似是把字符串毫无规则的打乱了,但是换个角度看就很清楚了 解密的方法则有些小不同,解密的看法是 1.e 3.a 5.s 2.l 4.p 6.e 是把字符串分为两组,每组三个 换个栅栏数,改为3 那么elapse这个明文就会被加密成 eplsae一组三个字符,分成两块 ela pse 1.e 3.l 5.a 2.p 4.s 6.e 清楚这个原理后,就可以开始写解密脚本了 首先,我们不清楚栅栏密码的栅栏数,我们不知道应该在哪一段去分割开来,在这里需要把从2开始,能整除字符串长度的数字都给循环一遍 elen%i==0): #计算哪些数字能整除字符串 field.append(i) #将能整除的数字append到field里面 接着就是解密的部分了 根据上面的解密原理,可以得出,通过栅栏数分割字符串后

    2.6K20发布于 2020-08-17
  • 来自专栏Java3y

    十道简单算法题

    如果还不太熟悉八大基础排序的同学可看:【八大基础排序总结】 由于篇幅问题,每篇写十道吧~ 如果有错的地方,或者有更好的实现,更恰当的理解方式希望大家不吝在评论区留言哦~大家多多交流 十道简单算法题 题目的总览

    2.8K80发布于 2018-04-02
  • 来自专栏福大大架构师每日一题

    2022-02-19:安装栅栏

    2022-02-19:安装栅栏。 在一个二维的花园中,有一些用 (x, y) 坐标表示的树。由于安装费用十分昂贵,你的任务是先用最短的绳子围起所有的树。只有当所有的树都被绳子包围时,花园才能围好栅栏。 你需要找到正好位于栅栏边界上的树的坐标。 力扣587。 答案2022-02-19: 凸包。二维坐标系,从左往右,从下往上排序。 代码用golang编写。

    24040编辑于 2022-03-04
  • 验证码技术深度选型指南

    在数字时代,验证码技术已经成为了保护网站安全、防止恶意攻击的重要手段。随着技术的发展,验证码的形式也在不断演变,从最初的文本验证码到滑动验证码、图形验证码等多种形式。 腾讯云验证码​ ​产品定位​:腾讯云验证码(Captcha)是基于十道安全栅栏构建的智能人机验证服务,覆盖网页、App、小程序等多端,为注册登录、活动秒杀、数据保护等场景提供安全防护与用户体验平衡的解决方案 产品特点​: ​立体防御体系​:集成动态加密、设备指纹、反模拟器等十道安全策略,结合智能分级模型(可信用户免验证、可疑用户滑块验证、恶意用户高难度验证),实现精准风险拦截。 ​ 安全与稳定性​:服务可用性达99.95%,拦截恶意请求准确率超99%,支持分钟级数据监控(如验证拦截量、安全策略打击量)。 ​ 顶象则在行为分析和安全性上有独到之处。网易则以其稳定的服务和良好的用户体验受到青睐。企业应综合考虑成本、安全性、用户体验等因素,选择最适合自己业务的验证码服务。

    50810编辑于 2025-07-29
  • 来自专栏全栈程序员必看

    Shiro面试题(二十道

    Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;会话可以是普通JavaSE环境的,也可以是如Web环境的; d、Cryptography:加密,保护数据的安全性 ,提供了认证、授权、加密、会话管理、与web集成、缓存等功能,对于任何一个应用程序,都可以提供全面的安全服务,相比其他安全框架,shiro要简单的多。 SecurityManager:安全管理器;即所有与安全有关的操作都会与SecurityManager交互;且它管理着所有Subject;可以看出它是shiro的核心, SecurityManager相当于 Realm得到用户相应的角色/权限进行验证用户是否能进行操作;可以把Realm看成DataSource,即安全数据源。 credentials:证明/凭证,即只有主体知道的安全值,如密码/数字证书等。

    2.3K20编辑于 2022-11-04
  • 来自专栏SpringBoot教程

    Java JUC并发包之CyclicBarrier循环栅栏

    文章目录 前言 代码示例 总结 前言 CyclicBarrier 字面意思是循环栅栏,是一个同步的工具,能够允许一组线程去互相等待直到都到达了屏障,CyclicBarrier对于涉及到固定大小的线程是非常有用的 CyclicBarrier cyclicBarrier = new CyclicBarrier(5, () -> System.out.println("已到全部通过栅栏 System.out.println(Thread.currentThread().getName() + ", 通过了第" + j + "道栅栏 每次调用await时,会将count -1 ,操作count值是直接使用ReentrantLock来保证线程安全性。如果count不为0,则添加则condition队列中。

    44420编辑于 2023-02-16
  • 来自专栏晏霖

    Java并发之CyclicBarrier-栅栏详解

    前言 上一篇我们介绍了CountDownLatch,和我今天要说的栅栏CyclicBarrier有相似之处,笔者英语烂,给读者翻译成读音:塞克勒柏瑞尔,莫笑。 正文 为了让读者更容易理解这个栅栏的含义,我做一个比喻,目前有100个人要坐车去另一个地方,每个车可以装10个人,那么这个屏障点就是车里坐满了10个人,然后发车,接着马上重置,然后让后面 g.broken) { // 让栅栏失效 breakBarrier(); throw = generation表示正常换代了,返回当前线程所在栅栏的下标 // 如果 g == generation,说明还没有换代,那为什么会醒了? // 因为一个线程可以使用多个栅栏,当别的栅栏唤醒了这个线程,就会走到这里,所以需要判断是否是当前代。

    1.1K21发布于 2019-06-26
领券