PHP结合阿里云实现网站滑块验证码的具体实例

news/2024/5/12 3:08:37/文章来源:https://weiwang.blog.csdn.net/article/details/83418236

目录

    • 滑块验证码样例
    • 关于滑块验证码
    • 开发准备
    • 系统编码
    • 附录

滑块验证码样例

在这里插入图片描述

关于滑块验证码

滑块验证码主要的作用是方便用户进行快捷验证操作,但是同时要合理的辨别到底是机器操作还是人工操作,这一点显得难度比较大,是属于人机识别的智能开发范畴,所以相对于之前的传统4位或者6位图片验证码来说,开发起来显得更加困难,所以一般来说都会接入一些第三方的Api来辅助开发人员进行滑块识别和验证。主要是根据用户在页面内的一些鼠标点击,停留,滑动距离等信息,综合来断定这个滑动操作是否是人为发起的。本文将结合阿里云的滑块验证技术来实现网站安全登录操作。

开发准备

  1. 进入阿里云的云盾·数据风控·人机识别,配置管理里面添加对应的服务
    在这里插入图片描述
  2. 可以在系统集成板块找到你想要的代码
    在这里插入图片描述
  3. 根据语言需求下载对应的sdk
    在这里插入图片描述

系统编码

  1. 将上面图片中的代码放到一个定义的html里面
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><!-- 国内使用 --><script type="text/javascript" charset="utf-8" src="//g.alicdn.com/sd/ncpc/nc.js?t=2015052012"></script><!-- 若您的主要用户来源于海外,请替换使用下面的js资源 --><!-- <script type="text/javascript" charset="utf-8" src="//aeis.alicdn.com/sd/ncpc/nc.js?t=2015052012"></script> --></head><body><div id="your-dom-id" class="nc-container"></div> <!--No-Captcha渲染的位置,其中 class 中必须包含 nc-container--><!--构建数据传递到后台--><div class="container"><form action="html.php" method="post"><input type='hidden' id='nc_token' name='nc_token'/><input type='hidden' id='csessionid' name='csessionid'/><input type='hidden' id='scene' name='scene'/><input type='hidden' id='sig' name='sig'/><div class="ln"><input type="submit" value="提交"></div></form></div><script type="text/javascript">var nc_token = ["CF_APP_1", (new Date()).getTime(), Math.random()].join(':');var NC_Opt = {renderTo: "#your-dom-id",appkey: "CF_APP_1",scene: "register",token: nc_token,customWidth: 300,trans:{"key1":"code0"},elementID: ["usernameID"],is_Opt: 0,language: "cn",isEnabled: true,timeout: 3000,times:5,apimap: {// 'analyze': '//a.com/nocaptcha/analyze.jsonp',// 'get_captcha': '//b.com/get_captcha/ver3',// 'get_captcha': '//pin3.aliyun.com/get_captcha/ver3'// 'get_img': '//c.com/get_img',// 'checkcode': '//d.com/captcha/checkcode.jsonp',// 'umid_Url': '//e.com/security/umscript/3.2.1/um.js',// 'uab_Url': '//aeu.alicdn.com/js/uac/909.js',// 'umid_serUrl': 'https://g.com/service/um.json'},   callback: function (data) { window.console && console.log(nc_token)window.console && console.log(data.csessionid)window.console && console.log(data.sig)//组装数据到后台document.getElementById('nc_token').value = nc_token;document.getElementById('csessionid').value = data.csessionid;document.getElementById('sig').value = data.sig;}}var nc = new noCaptcha(NC_Opt)nc.upLang('cn', {_startTEXT: "请按住滑块,拖动到最右边",_yesTEXT: "验证通过",_error300: "哎呀,出错了,点击<a href=\"javascript:__nc.reset()\">刷新</a>再来一次",_errorNetwork: "网络不给力,请<a href=\"javascript:__nc.reset()\">点击刷新</a>",})</script></body>
</html>
  1. PHP获取参数并验证。
<?php
include_once './aliyun-php-sdk-core/Config.php';
use afs\Request\V20180112 as Afs;//YOUR ACCESS_KEY、YOUR ACCESS_SECRET请替换成您的阿里云accesskey id和secret  ,这里从阿里云控制台的个人中心下面去获取
$iClientProfile = DefaultProfile::getProfile("cn-hangzhou", "YOUR ACCESSKEY", "YOUR ACCESS_SECRET");
$client = new DefaultAcsClient($iClientProfile);
DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", "afs", "afs.aliyuncs.com");$request = new Afs\AuthenticateSigRequest();
$request->setSessionId("xxx");// 必填参数,从前端获取,不可更改,android和ios只传这个参数即可
$request->setToken("xxx");// 必填参数,从前端获取,不可更改
$request->setSig("xxx");// 必填参数,从前端获取,不可更改
$request->setScene("xxx");// 必填参数,从前端获取,不可更改
$request->setAppKey("xxx");//必填参数,后端填写,和前端的AppKey保持一致
$request->setRemoteIp("xxx");//必填参数,后端填写$response = $client->getAcsResponse($request);//返回code 100表示验签通过,900表示验签失败
print_r($response);
  1. 浏览器输出结果,下面结果表示验证成功,现在一般来说就可以创建一个session标识验证成功,前台点击登录就可以放行了。
    在这里插入图片描述

附录

  1. https://help.aliyun.com/document_detail/66317.html 阿里云关于滑动验证码的说明
  2. https://promotion.aliyun.com/ntms/act/captchaIntroAndDemo.html 阿里云关于滑动验证码实例

每天进步一点,更多精彩,欢迎关注公众号“编程社”!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_813143.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WEB网站常见受攻击方式及解决办法讲解

系统安全是一个经久不衰的话题&#xff0c;也是一个中大型系统必须考虑的问题&#xff0c;这是一门专门的学问&#xff0c;无数专家学者都在为之努力&#xff0c;今天小编就来向大家介绍一下常见的网站攻击方式以及避免攻击的方案。 跨站脚本攻击(XSS) XSS(Cross Site Scripti…

网站优化之文章

如何让所写文章被百度收录&#xff1f; 1、为什么自己原创高质还不收录&#xff1f; 提高收录量的前题两个&#xff0c;一是文章内容独特&#xff0c;二是网站本身权重高。谁说原创百度一定收录呢&#xff0c;你说的高质量原创&#xff0c;对于搜索引擎未必&#xff08;或者说…

网站优化之百度推送代码

百度推送代码: 作用&#xff1a; 当页面被访问时&#xff0c;页面链接会自动推送给百度&#xff0c;有利于新页面更快被百度发现。 注&#xff1a;放在之前

网站优化之文章收录问题

文章有无被收录 直接将网址写入百度搜索栏&#xff0c;对于 未收录的文章 &#xff0c;进行 站长后台 链接提交 。 国内几大搜索引擎网站提交收录地址&#xff1a; 百度&#xff1a;http://ziyuan.baidu.com/linksubmit/url 搜狗&#xff1a;http://fankui.help.sogou.com/ 36…

网站被腾讯判定为危险网站,怎么办?

如果你的网站有一段时间被腾讯判定为危险网站&#xff0c; 只要你在QQ里面或者微信里面输入网址&#xff0c; 就会显示&#xff1a;网站被大量用户举报&#xff0c;含有未经证实的信息&#xff0c;可能造成您的损失&#xff0c;建议谨慎访问 申诉地址&#xff1a;https://guan…

2019年谷歌地域性SEO指导

每个人都应该熟悉SEO对企业的重要性。其目标是在谷歌、雅虎和必应等搜索结果中增强其可见性、流量和排名。不断变化的市场和搜索引擎趋势给市场带来了新的东西&#xff0c;那就是谷歌本地搜索引擎优化&#xff0c;也叫地域性SEO。Google本地搜索引擎优化服务是一个系统性的工作…

谷歌SEO很复杂?一篇文章带你搞懂它(外贸人必读)

概述&#xff1a;这篇文章是对谷歌SEO流程的一个梳理&#xff0c;这里不会一条条细说SEO方面的技术以及怎么做谷歌排名&#xff0c;这些东西也不是一篇文章可以讲述清楚的&#xff0c;详细了解可以到我们的云点SEO网或者低价SEO网上查看更多相关资料。此文会用通俗易懂的语言告…

Developer Tools在SEO中的运用

如果是做前端开发的朋友&#xff0c;对Developer Tools一定不陌生&#xff0c;在我学习前端开发的时候&#xff0c;基本上都是用谷歌浏览器进行开发调试&#xff0c;因为Google浏览器集成了非常好用的Developer Tools&#xff0c;当然对于SEO优化来说&#xff0c;这个工具集合也…

50项谷歌SEO优化清单(做谷歌优化必看)

如果你想了解谷歌SEO&#xff0c;而且能快速上手操作为自己的网站带来更高的谷歌自然排名和搜索流量&#xff0c;这份SEO Checklist应该是中文资料里整理得相当全面而且对你非常有帮助的一份报告。 这份报告将从以下六大模块、50项具体内容逐一进行拆解&#xff1a; SEO基础 …

2021做谷歌SEO的优势在哪里?

大多数企业都知道他们的网站需要进行SEO&#xff0c;知道SEO能够为企业带来收益&#xff0c;但SEO的价值到底体现在何处&#xff1f;2021年投入SEO将获得什么好处&#xff1f; 首先&#xff0c;来看看数据研究机构HubSpot对全球营销人员的数据调查报告&#xff1a; 大约64%的企…

百度SEO与谷歌SEO的10大区别

百度和谷歌的SEO优化到底有什么区别?这个问题是客户或者SEO新手们最常问的热门问题之一&#xff0c;可大部分的时候我们得到的答案就像&#xff1a;百度和谷歌SEO基本没有什么区别;只要专注于内容&#xff0c;做好链接&#xff0c;完善用户体验&#xff0c;排名自然会上去。可…

谷歌SEO原来是这样的,这误会有点大呀!

Google SEO&#xff08;Search Engine Optimization&#xff0c;搜索引擎优化&#xff09;以下简称SEO&#xff0c;是现在很多外贸企业的都会尝试的一种线上营销渠道&#xff0c;但是很多人却在这条道路上会错了意。 SEO和SEM不同的是&#xff0c;SEO没有SEM&#xff08;Searc…

CDN是什么?如何用Cloudflare CDN加速网站

CDN就是缓存网页文件到全球服务器&#xff0c;这样用户就可以就近选择访问他们所需要的网页数据。它可以最大程度的加速用户访问&#xff0c;比如我们常常把外贸网站放在美国&#xff0c;这样国内访问就比较慢&#xff0c;但是如果使用cdn&#xff0c;用户访问就会变快。 无论…

谷歌SEO长尾关键词挖掘方法

很多外贸朋友不懂如何布局关键词&#xff0c;根本原因在于他们不懂如何去挖掘属于自己产品及行业的长尾关键词。说到网站长尾关键词挖掘&#xff0c;大部分人会想到很复杂的关键词软件&#xff0c;其实并没有这么复杂&#xff0c;下面就把一些很经典很实用的长尾关键词挖掘的方…

谷歌SEO老域名攻略

老域名是指那些域名注册时间在6个月以上的域名&#xff0c;一般时间越长域名品质越好。在没有黑历史的情况下&#xff0c;使用老域名做谷歌SEO推广可以更容易获得一个好的排名&#xff0c;这点对其他搜索引擎是一样的&#xff0c;如百度&#xff0c;bing等。 我们常常看到很多…

分享谷歌SEO的32个实用关键词拓展工具

1、AdWord & SEO Keyword Permutation Generator 链接地址&#xff1a;seo.danzambonini.com 想找到更多的关键词组合&#xff0c;这个工具可以轻松帮你做到&#xff0c;瞬间 get 成百上千个词不是梦。 2、Answer The Public 链接地址&#xff1a;answerthepublic.com …

Google seo图片优化技巧

首先我们先了解Googlel图片在搜索引擎占整体搜索量26&#xff05;&#xff0c;所以对于一些外贸企业站seo尤其重要&#xff0c;大量的产品图片能带来不少的搜量流量或转化成询盘。 Google图片优化技巧,图片产生排名的主要有以下几大部份&#xff0c;文章内容&#xff0c;图片名…

被Goolge算法击中流量下降的网站该怎样处理?

对于不定期更新的谷歌算法&#xff0c;不少用户被算法击中后导致流量与排名下降&#xff0c;很多新手无从下手&#xff0c;很多时候还并不知道自己网站被算法击中&#xff0c;今天主要讲的是受Google算法影响导致网站流量下降该如何处理&#xff0c;而我的观点是&#xff0c;就…

谷歌SEO站内高级优化技巧

一. 网站多语言优化 网站多语言是Google极力推荐的&#xff0c;但是多语言优化不只是加一个翻译插件就行的&#xff01;有很多网站都没有关注到这一点。 网站做了双语言&#xff0c;没有告诉Google哪个页面对应哪个语言。网站页面由于语言问题&#xff0c;没有做重复页面处理…