展开

关键词

APP设计要点

总结了一些APP设计的要点供大家参考,如有疏漏请在评论里面提醒补充! 请求合法性校验:请求合法性校验主要就是指如何避免API被非法的调用,比如系统里面有一个短信,就要考虑如何避免这个短信不被短信轰炸机滥用,可以采用的方式有以下几种:1. 错误处理:错误处理主要是值对的返回结果进行编码,制定统一的错误返回编码,避免因错误和异常等原因造成堆栈信息泄露。 过载保护:过载保护是指对访问频率设置阈值,超出阈值后不予处理,直返回错误码,可以一定程度上防止CC攻击,过载保护可以通过Web服务器进行控制,也可以通过代码进行控制。1. HttpLimitConnModul用来限制单个ip的并发连数,使用limit_zone和limit_conn指令这两个模块的区别前一个是对一段时间内的连数限制,后者是对同一时刻的连数限制。

8320

App开放api:Token签名sign的设计与实现

来源:cnblogs.comwhcghostp5657594.html前言在app开放api的设计中,避免不了的就是性问题,因为大多数涉及到用户的个人信息以及一些敏感的数据,所以对这些 需要进行身份的认证 ,那么这就需要用户提供一些信息,比如用户名密码等,但是为了起见让用户暴露的明文密码次数越少越好,我们一般在web项目 中,大多数采用保存的session中,然后在存一份到cookie中,来保持用户的回话有效性 但是在app提供的开放中,后端服务器在用户登录后 如何去验证和维护用户的登陆有效性呢,以下是参考项目中设计的解决方案,其原理和大多数开放验证一样,如淘宝的开放token验证,微信开发 平台 city=北京×tamp=12445323134& token=wefkfjdskfjewfjkjfdfnc&sign=FDK2434JKJFD334FDF2其最终的原理是减小明文的暴露次数;保证数据的访问 (自然url签名 也无法100%保证其,也可以通过公钥AES对数据和url加密,但这样如果无法确保公钥丢失,所以签名只是很大程 度上保证)。

29930
  • 广告
    关闭

    云产品限时秒杀

    云服务器1核2G首年38元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    开发问题

    开发问题公司业务扩展需要,需对外提供给其他第三方系统使用。很多人说是系统并不,缺乏考虑。 所以抽出时间思考整理了一番采用认证 + 签名验证的方式来进行传输认证 : (认证方式为: Oauth2) 其他外部系统调用垂直系统需通过垂直系统提供的指定账号密码进行登录,获取秘钥。 签名所需参数:秘钥(垂直系统提供)token (令牌 登录可获取)timestamp (时间戳)以及其他参数sign 签名签名生成步骤:第一步,设所有发送或者收到的数据为集合M,将集合M内非空参数值的参数按照参数名 ASCII 码从小到大排序(字典序),使用 URL 键值对的格式(即key1=value1&key2=value2…)拼成字符串stringA。 另外对于特别铭感信息.需采用 HTTPS 协议进行传输具体实现就是下来的问题了,下一章节,(采用 Yii2.0)进行详细描述。

    20810

    API性设计

    对,业务层经过我一天半的努力已经部交付给客户端了,不过我改主意了,我要返厂重做,在不影响客户端联调的前提下。我要加上这个新功能。网上这类文章不少,但是我还要写,表示我现在知道这个东西了。 3 用户token(做混淆,可选)备注:不限于三层token,根据业务,性和效率做出平衡。 备注:http升级为https,也可以作为提升性的手段,移动端一定要做代码混淆,防止加密算法泄漏,web端利用cookie,session等内存操作来保证(内存操作相对是的,黑客无法获取用户的内存信息 ),最后请记住,没有绝对的,关键是你为你的应用提高多少门槛。

    17320

    APK隐私测试

    大家好,今天给大家分享一下如何进行参数的隐私校验。 背景:应国家工信部要求,用户使用APP时,请求中禁止携带明文的Imei、AndroidID等敏感信息,需要测试部针对Apk进行面检查,遍历所有判断是否包含隐私信息。 刚看到这个需求时,很苦恼,思考后总结了两个阻碍测试的困难: 1、触发后,如何校验中有无携带敏感信息?2、APP功能很多很多,300+,如何保障所有的请求都能遍历到而没有遗漏? 经过沟通,思考,得出以下三个方案: 方案一、fiddler查询:1、连fiddler代理后,遍历所有APP功能;2、测试完成后,在fiddler界面通过ctrl+F进行imei、android_id的查询 ,如果结果存在黄色背景,则说明该存在明文的敏感信息。

    45520

    如何保证API

    当你的公司体量上来了时候,这个时候可能有一些公司开始找你进行技术对了,转变成由你来提供api,那这个时候,我们应该如何设计并保证API呢? 最明显的就是与第三方公司进行的时候,当你的请求量非常大,这个时候 token 突然失效了,会有大量的请求失败。 在签名方案中,主要有四个核心参数:1、appid表示应用ID,其中与之匹配的还有appsecret,表示应用密钥,用于数据的签名加密,不同的对项目分配不同的appid和appsecret,保证数据 但是缺少对数据自身的保护,即请求的参数和返回的数据都是有可能被别人拦截获取的,而这些数据又是明文的,所以只要被拦截,就能获得相应的业务数据。 同时,在生产环境,采用https方式进行传输,可以起到很好的保护作用!----

    14420

    你的真的吗?

    Restful重要性 现在互联网开发的框架越来越丰富,大多数的系统架构也都是朝着微服务化,云原生化演进。 当我们的后台暴露给前端或者移动 app 端时就要考虑性。 例如,现在的 app 登陆或者重置密码都需要发送短信验证码,如果我们的发送被他人利用,不仅容易出现短信盗刷,还有可能影响我们正常的服务使用。 所以我们在设计时可以从以下几个方面加上性相关的设计。

    42020

    如何保证API

    当你的公司体量上来了时候,这个时候可能有一些公司开始找你进行技术对了,转变成由你来提供api,那这个时候,我们应该如何设计并保证API呢? 最明显的就是与第三方公司进行的时候,当你的请求量非常大,这个时候 token 突然失效了,会有大量的请求失败。 在签名方案中,主要有四个核心参数:1、appid表示应用ID,其中与之匹配的还有appsecret,表示应用密钥,用于数据的签名加密,不同的对项目分配不同的appid和appsecret,保证数据 但是缺少对数据自身的保护,即请求的参数和返回的数据都是有可能被别人拦截获取的,而这些数据又是明文的,所以只要被拦截,就能获得相应的业务数据。 同时,在生产环境,采用https方式进行传输,可以起到很好的保护作用!

    18710

    如何保证API

    当你的公司体量上来了时候,这个时候可能有一些公司开始找你进行技术对了,转变成由你来提供api,那这个时候,我们应该如何设计并保证API呢? 如何保证API? 如何保证API? 在签名方案中,主要有四个核心参数:1、appid表示应用ID,其中与之匹配的还有appsecret,表示应用密钥,用于数据的签名加密,不同的对项目分配不同的appid和appsecret,保证数据 同时,在生产环境,采用https方式进行传输,可以起到很好的保护作用

    13820

    php设计浅谈

    性主要围绕Token、Timestamp和Sign三个机制展开设计,保证的数据不会被篡改和重复调用,下面具体来看:(1)Token授权机制:(**Token是客户端访问服务端的凭证)--* 1-IOS2-H53-PC4-php5-java) $arr =json_decode($data,true); 业务参数json格式 $arr =$data; 访问,格式:模型名.方法名 return UTC时间,以北京时间东八区(+8)为准 * @param $version string 版本号 * @param $sign string 签名 * @param $source int 来源(0-卓 ** * @desc 限制请求次数 * @return bool *private function ask_count(){ $client_ip = $this->sys_get_client_ip $_SERVER ; } return $url;}复制代码非法ip限制访问,此处的限制一般用在服务器间的调用做此限制 允许访问的IP列表 private $ip_allow = array( 111.11.111.111

    5110

    抖音APP分析

    抖音搜索名类型链搜索用户综合信息posthttps:aweme-hl.snssdk.comawemev1challengesearch? 返回数据示例:抖音用户信息可以先通过搜索根据关键词搜索获得 sec_uid ,或者通过个人关注列表获得。然后请求用户。 返回用户基本信息和用户视频数据。 名类型链用户信息gethttps:aweme.snssdk.comawemev1awemepost?sec_user_id 是用户标示,headers同搜索名类型链新版用户gethttps:api3-core-c-lq.amemv.comawemev1userprofileother? sec_user_id={}抖音同城推荐名类型链同城推荐gethttps:aweme-hl.snssdk.comawemev1nearbyfeed?

    12020

    移动端那些事

    前言服务端提供对外开放到公网API,危险非常大.尤其对移动应用开放的时候,更需要关注性的问题,要确保应用APP与API之间的通信,防止数据被恶意篡改等攻击。 写这篇文章的初衷也是为了收集更多的方案,国内APP多大裸奔是时候关注和加强了。故事以前公司因员工离职后与公司还存在的一些矛盾,导致被攻击了大量数据被污染。 限制调用频率对访问次数和频率设置阈值,超出预定阈值进行拒绝访问。 HTTPS:是以为目标的HTTP通道,简单讲是HTTP的版。即HTTP下加入SSL层,HTTPS的基础是SSL,因此加密的详细内容就需要SSL。 七:简化登录流程通过短信直登录通过第三方登录oauth2.0总结:提升 只能防君子,不能防小人。只适合防技术一般或者懂一点技术的,技术牛逼又喜欢作恶的,都在牢房里!

    56620

    php之sign加密【php】

    一、第一步:整理参数1.举例请求参数为uid=1&time=2019&name=song2.将参数整理为数组(如果为post请求可以直得到),并按照key进行排序比如,上述实例进行排序后的结果为:;3 true);2.对$result结果,进行base64加密后返回return base64_encode($result)三、第三步:判断1.客户端也要进行12步骤的sign处理,将处理后的结果sign拼到参数中 ,进行传递2.服务端根据客户端生成的sign,与自己的sign做比对,如果一致,则验证成功3.由于里面的秘钥,是私钥,我们自己设定的别人无法知道,所以在一定程度上是的4.可以在中再增加时间戳字段

    23820

    PHP开发api验证

    php的api在实际工作中,使用PHP写api是经常做的,PHP写好后,前台就可以通过链获取提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道,请求的来源是什么 ,有可能是别人非法调用我们的,获取数据,因此就要使用验证。 原理从图中可以看得很清楚,前台想要调用,需要使用几个参数生成签名。 前台生成一个签名,当需要访问的时候,把时间戳,随机数,签名通过URL传递到后台。后台拿到时间戳,随机数后,通过一样的算法规则计算出签名,然后和传递过来的签名进行对比,一样的话,返回数据。 我这个算法规则是● 时间戳,随机数,令按照首字母大小写顺序排序● 然后拼成字符串● 进行sha1加密● 再进行MD5加密● 转换成大写。

    17830

    python轻松抓取app

    这两款软件虽然比较强大,但是如果我们想实现 python 抓取一些 app 数据进行分析的话,今天介绍一款更方便的工具 mitmproxy装 mitmproxy如果我们本机装了 pip 或者 pip3pip install mitmproxy --ignore-installed six或者直brew install mitmproxy或者下载装包手动装下载地址,装完成后配置环境变量启动直 mitmproxy 网络的高级里面设置手动,并输入 pc 端的 ip 地址,端号是上面启动 mitmproxy 的端默认 8080https 抓包 浏览器访问 http:mitm.it 下载对应的 pem 证书并装 然后在手机端打开需要抓包的 app 就可以正常读取 app 请求每个页面的数据包测试抓取指定 app 数据 编写 python 程序并使用命令为 test.py 程序如下然后使用 mitmweb - 申明 特此申明:本文只作为笔者自己的 app 数据抓包分析使用,请读者不要恶意使用抓包程序对商业 app 进行违法的一些行为。

    1K20

    uni-app请求跨域

    需求:发起一个请求,请求到服务器上的json数据,显示在前端界面服务器json数据:http:www.xxx.comtest.json(个人域名不方便展示,用xxx代替隐藏) 数据是这样的,直可以在浏览器访问到 写代码:直请求服务器的时候 离厂解绑 {{item.leaveTime }} export default { data() { return { productList: , }; }, onLoad 这里说的是在uni-app项目里面前端如何解决一下跨域问题 渲染json数据的代码就不写啦

    77460

    App测试

    APP威胁在App项目中都会碰到三座App大山。App客户端、数据传输App服务端。下面以分析检测的思路进行对App威胁的这三座大山进行一些剖析梳理总结。 设置导出状态外部的App就可以直调用。2.通过利用drozer工具进行分析验证组件是否存在性问题。 键盘输入性检测在App应用中,默认情况下使用系统自带的软键盘,在App装后,如果直使用系统自带键盘,会有被记录、劫持的风险。 本地数据检测App本地数据性问题需要关注的问题分别为:App所在目录的文件权限、SQLite数据库文件的性、敏感数据明文直存储Sdcard。 App服务器App服务端需要关注的是服务端API、业务逻辑、中间件、服务器应用。主要可以通过渗透测试的方式对App的服务器进行检测,通过模拟恶意攻击方式进行对服务器攻击。

    16031

    APP合规

    背景介绍 APP合规的监管机构:APP违法违规收集使用个人信息治理工作组(APP治理小组)、工业和信息化部信息通讯管理局(工信部)、国家移动互联网应用管理中心(病毒中心)、地方通信局、地方网APP应用合规需要关注问题 在开发并上架APP项目时需要重点关注:程序自身保护、运行环境、身份认证、数据存储、内部组件、恶意攻击这六大问题。? APP如何做好基础防护? 为了让我们开发的APP能过合规检测,我们需要重点关注如下五点,让我们的APP更加。? APP合规建设的思考 开发人员:熟悉负责的产品功能、了解个人 信息采集、使用和展示定制个人隐私政策,并对组员以及APP开发团队进行合规的要求以及做法进行做宣传以及合规应用和监督把控。 软件开发人员:熟悉了解APP应用客户端合规所涉及的技术信息,避免出现漏洞。QA:根据合规的标准进行做验证测试,严格把控APP质量,守好APP应用上架的最后一道防线。

    43721

    使用nonce巩固签名

    前面我们有讲过如何进行API的控制,其中包括数据加密,签名等内容。详细可以参考我下面两篇文章:-《前后端API交互如何保证数据性》-《再谈前后端API签名?》 在签名部分,通过时间戳的方式来判断当前请求是否有效,目的是为了防止被多次使用。但是这样并不能保证每次请求都是一次性的,今天给大家介绍下如何保证请求一次性? 基于nonce的方式可以解决重复使用的问题,最开始知道nonce是在广点通的中看到的,如下图所示: ?1.png可以看到腾讯这边的也是基于时间戳和nonce来控制的。 首先我们根据时间戳判断是否超过了一定的时间范围,如果超过了就直拒绝,没有超过继续验证nonce是否使用过。

    51820

    USB爆发严重漏洞

    “BadUSB”新型恶意软件可以利用驱动完控制电脑,改变文件或重新定向网络流量。USB是英文Universal Serial Bus(通用串行总线)的缩写,是目前使用最广泛的外部总线标准之一。   位于德国柏林的SR研究实验室专家发现,该代号为“BadUSB”的重大USB漏洞,可以使USB控制器芯片固件被重新编程,用于恶意用途,而糟糕的是,这种重新编程行为几乎无法被察觉和侦测。   研究人员称,最可怕的是,此次发现的USB漏洞短期内无法修復,恶意软件扫瞄工具以及杀毒软件等根本查不到USB设备的固件。   据统计,目前球已经有数十亿个USB设备,其中任何一个设备都有可能被改写了固件,而除非一开始就知道问题所在,否则根本无从查起。   过去专家们一再强调的是对U盘使用的管理,而代号“BadUSB”的漏洞曝光后,USB成了世界上最危险的数据,除非仅仅用于充电。------------------------------

    43180

    相关产品

    • 移动应用安全

      移动应用安全

      移动应用(APP)安全为用户提供移动应用全生命周期的一站式安全解决方案。涵盖移动应用加固、安全测评、安全组件等服务……

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券