sandbox

How does OS X's defaults command get access to prefs of sandboxed apps?

和自甴很熟 提交于 2020-08-22 05:16:49
问题 I am writing a preferences editor tool (see http://www.tempel.org/PrefsEditor). It is effectively a GUI version of the defaults command. I have trouble reading (let alone writing) preferences of random sandboxed applications, though. For instance, when I try to get the keys of the Maps app, I get NULL returned: CFArrayRef prefs = CFPreferencesCopyKeyList (CFSTR("com.apple.Maps"), kCFPreferencesCurrentUser, kCFPreferencesAnyHost); However, the defaults command is able to read those prefs:

Go的50坑:新Golang开发者要注意的陷阱、技巧和常见错误[2]

与世无争的帅哥 提交于 2020-08-19 03:19:16
Golang作为一个略古怪而新的语言,有自己一套特色和哲学。从其他语言转来的开发者在刚接触到的时候往往大吃苦头,我也不例外。这篇文章很细致地介绍了Golang的一些常见坑点,读完全篇中枪好多次。故将其转载。由于文章很长,分为上下两部分,第一部分记录初级篇,第二部分记录进阶和高级篇:此为第二部分 目录 初级篇 开大括号不能放在单独的一行 未使用的变量 未使用的Imports 简式的变量声明仅可以在函数内部使用 使用简式声明重复声明变量 偶然的变量隐藏Accidental Variable Shadowing 不使用显式类型,无法使用“nil”来初始化变量 使用“nil” Slices and Maps Map的容量 字符串不会为“nil” Array函数的参数 在Slice和Array使用“range”语句时的出现的不希望得到的值 Slices和Arrays是一维的 访问不存在的Map Keys Strings无法修改 String和Byte Slice之间的转换 String和索引操作 字符串不总是UTF8文本 字符串的长度 在多行的Slice、Array和Map语句中遗漏逗号 log.Fatal和log.Panic不仅仅是Log 内建的数据结构操作不是同步的 String在“range”语句中的迭代值 对Map使用“for range”语句迭代 "switch"声明中的失效行为

如何使用沙箱环境来测试微信支付

僤鯓⒐⒋嵵緔 提交于 2020-08-18 12:44:04
本文是【浅析微信支付】系列文章的第十篇,主要讲解如何使用沙箱环境来测试微信支付。 浅析微信支付系列已经更新十篇了哟~,没有看过的朋友们可以看一下。 浅析微信支付:下载对账单和资金账单 浅析微信支付:申请退款、退款回调接口、查询退款 浅析微信支付:查询订单和关闭订单 浅析微信支付:支付结果通知 在实际开发中,通常我们都是在开发环境中开发,本地环境也有很多限制,比如:微信支付无法调起、H5链接需要鉴权、支付结果通知需要外网等。 面对以上的问题,微信官方给出了解决的方法,就是咋们这篇文章的 沙箱环境 ,也就是微信支付的官方测试环境,这个环境能做些什么呢?我觉得最重要的一点就是我们可以实时根据官方的例子调用对应的接口,并且接口会马上返回结果,拿微信支付预支付单接口来说,调用以后会实时返回我们支付的相关信息,这样就免于开发时不知道返回结果而苦恼。 仿真测试系统 为降低商户测试门槛,微信支付团队开发了一套独立的仿真测试系统。该系统根据验收用例金额的不同返回不同的响应报文,以满足商户正常功能测试、安全/异常测试及性能测试的需求。 图1为微信支付仿真测试系统(后简称仿真系统)的简化原理图。仿真系统的API协议与正式API完全相同(API接口文档)。商户开发者只需将正式API的调用URL增加一层 sandboxnew 路径,即可对接到仿真系统。 例如,刷卡支付URL: api.mch.weixin

Web前端之iframe详解

落花浮王杯 提交于 2020-08-16 12:10:13
iframe基本内涵 通常我们使用iframe直接直接在页面嵌套iframe标签指定src就可以了。 <iframe src="demo_iframe_sandbox.htm"></iframe> 但是,有追求的我们,并不是想要这么low的iframe. 我们来看看在iframe中还可以设置些什么属性 iframe常用属性: 1.frameborder:是否显示边框,1(yes),0(no) 2.height:框架作为一个普通元素的高度,建议在使用css设置。 3.width:框架作为一个普通元素的宽度,建议使用css设置。 4.name:框架的名称,window.frames[name]时专用的属性。 5.scrolling:框架的是否滚动。yes,no,auto。 6.src:内框架的地址,可以使页面地址,也可以是图片的地址。 7.srcdoc , 用来替代原来HTML body里面的内容。但是IE不支持, 不过也没什么卵用 8.sandbox: 对iframe进行一些列限制,IE10+支持 上面一些tag,会在下文进行穿插说明,单个不好说。 我们通常使用iframe最基本的特性,就是能自由操作iframe和父框架的内容(DOM). 但前提条件是同域. 如果跨域顶多只能实现页面跳转 window.location.href . 那什么是同域/ 什么是跨域呢?

简单小结接口交互安全问题

孤街醉人 提交于 2020-08-14 23:37:35
一、写在前面 新入职的公司是做C端产品的,比较注重网路安全这一块,所以要求前后端交互报文加解密、签名。这里总结下在落地过程中怎么做的以及一些启发。 二、前后端加解密 (一)防重放攻击 防重放攻击指的是中间人拦截交互报文然后对请求进行重放进行的一种攻击。解决方案一般两种: 签名+时间戳 签名+时间戳+nonce 缺点是签名流程照样可以模拟,因为对于前端来说,前端代码是没有绝对安全的。如果是app破解难度还稍微高一些,但h5或pc则最多只能混淆进行处理。 (二)防中间人攻击以及传输加密 1.https https自带加密,但缺点有: 建立连接过程中的中间人攻击无法防范 用浏览器抓包或者用Fillder还是能够分析出传输明文 2.代码层面仿https加密 对称加密+非对称加密,为什么不单独用非对称,因为单独用非对称加密效率会慢。 具体思路为: 客户端生成随机AES密钥,并用RSA公钥(说是公钥但只是相对的,这里的公钥同样不能泄露)对AES密钥进行加密,AES密钥用于对传输的数据进行加密,然后服务器使用RSA私钥对AES密钥进行解密,用得到的AES密钥对数据进行解密得到真正的数据。 在代码层面可以利用springboot的RequestBodyAdvice和ResponseBodyAdvice扩展来实现消息体的加解密,业务代码侵入小。 三、感受 自我感觉前后端加密签名意义并不是很大

JIT的Profile神器JITWatch

落花浮王杯 提交于 2020-08-14 13:22:26
简介 老是使用命令行工具在现代化社会好像已经跟不上节奏了,尤其是在做JIT分析时,使用LogCompilation输出的日志实在是太大了,让人望而生畏。有没有什么更加简便的方法来分析JIT日志呢?快来和小师妹一起来学习JITWatch吧。 什么是JIT 小师妹,F师兄,JIT就是Just In Time compilers。能不能再总结一下JIT到底是做什么的呢? 当然没问题,JIT主要有两个作用,第一个作用大家应该已经知道了,就是在运行时将byte code编译成为机器码,提高程序的执行速度。 第二个作用就是在运行时对代码进行优化,同样的也对性能进行提升。 JIT中有两种编译器,C1代表的是Client Compiler,C2代表的是Server Compiler。 其中C1只是简单的编译,而C2在收集到更多信息之后,会进行更加深入的编译和优化。 常见的优化手段有:Loop unrolling, Inlining, Dead Code Elimination,Escape analysis, Intrinsics, Branch prediction等。 JDK8中会默认启动分层编译。你也可以使用-XX:+TieredCompilation来手动启动它。 JITWatch简介 小师妹:F师兄

电子面单打印模板规格汇总以及使用指南

纵饮孤独 提交于 2020-08-14 05:43:47
1.完成前期准备工作 1.1,去快递鸟 免费注册 一个对接账号 1.2,免费获得一个apiKey(接口权限验证需要) 1.3,完成实名认证流程 1.4,订购一个免费套餐 1.5, 准备打印机、打印纸 打印机: 电子面单模板对打印机品牌、型号等没有要求,只要是热敏打印机即可,常见品牌如:斑马、得力、快麦、汉印、佳博等。 打印机可由快递网点提供或者在淘宝京东上购买,安装打印机及驱动程序联系打印机提供方; 打印纸: 顺丰速运使用的打印纸有100mm*150mm(切点90/60)、100mm*180mm(切点110/70)、100mm*210mm(切点90/60/60)三种, 打印纸可由快递网点提供或者在淘宝京东上购买,购买时可选择全白热敏 纸。 2.API接口 2.1,测试调用地址: http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json 2.2,正式调用地址:http://api.kdniao.com/api/EOrderService 2.3,请求方式: POST 2.4,编码格式(utf-8): application/x-www-form-urlencoded;charset=utf-8 2.5,返回类型: JSON 2.6,调试页面: http://kdniao.com

TikTok距被美封杀一步之遥!听证会通过禁令,政府设备均不准下载

时光怂恿深爱的人放手 提交于 2020-08-12 20:14:22
      大数据文摘出品    作者:刘俊寰、牛婉杨   美国当地时间7月22日,根据美媒报道,美国参议院国土安全和政府事务委员会 投票通过共和党参议员Josh Hawley提出的“禁止在政府设备上使用TikTok法案” ,下一步 将提交参议院全体投票 。   7月20日,众议院以336票对71票通过了该法案, 禁止联邦雇员在政府设备上下载TikTok ,该法案是《国防授权法》修正案的一部分,一旦通过众议院和参议院的投票之后,可能很快成为法律。   早在7月初,美国国务卿Mike Pompeo就曾公开表示,或将禁止包括TikTok在内的多款中国社交媒体软件。      这项法案的提出是出于对 美国用户个人信息安全 的担忧。   根据市场研究公司Sensor Tower的数据,在美国,TikTok是2020年上半年仅次于Zoom的第二大下载应用程序,其在苹果和谷歌商店的下载量已达到 1.847亿 。   TikTok去年表示,美国每月2,650万活跃用户中,约有 60%用户的年龄介于16-24岁 。   也正是由于TikTok在美国青少年群体中大火,引起了监管者和议员的担忧。根据中国2017年的一项法规,企业有义务支持与配合国家情报工作,美国政务人员担心TikTok用户个人信息可能落入中国官员手中。   TikTok发言人Jamie Favazza称

【译文】【前端架构鉴赏 02】:可拓展 Angular 2 架构

故事扮演 提交于 2020-08-12 05:12:59
李熠:【译文】【前端架构鉴赏 01】:Angular 架构模式与最佳实践 ​ zhuanlan.zhihu.com 原文 https:// blog.strongbrew.io/A-sc alable-angular2-architecture/ 序 这篇文章或许看上去仅和 Angular2 开发者相关,但我相信它也适用于其它的框架。这只是一份关于编写具有可拓展性和可维护性单页面应用的指南。需要指出的非常重要的是,这并不是达成目标的唯一方式,但是对我个人而言它们在不少的场景中都行之有效 编写可拓展性的单页面应用 许多开发者在编写大型的具有可拓展性和可维护性的单页面应用时都遇到困难。导致在开发早期就留下了技术债,修复 bug 时举步维艰,编写测试和创建复用代码时也踌躇不前 最大的一个挑战是:在一个拧巴的基础之上拓展现有逻辑和编写新的功能 对于那些能允许你用100种不同方式设计一个应用,没有结构和封装可言,一切东西都紧紧的耦合在一起的旧时框架,单页面应用是全新的概念 大部分时候在项目的开发的初始阶段都希望快速迭代。但是经过一些开发者,几轮功能迭代和重构之后,代码变得越来越难以维护。它开始看上去像意大利面了。虽然目前框架成熟了很多,但重要的是你编写的软件架构也要与时俱进 2016 年的单页面应用(甚至更早之前) 为了解释这篇文章谈到的架构,有必要回顾一下2016年的web应用长什么样子

GitHub: 啄木鸟,专抓App里的Bug

时光怂恿深爱的人放手 提交于 2020-08-12 04:40:40
hello,小伙伴们大家好,今天给大家推荐的是阿里推出的开源项目: youku-sdk-tool-woodpecker 。 啄幕鸟,即手机屏幕上的啄木鸟,专抓App里的Bug。啄幕鸟集合了UI检查、对象查看、方法监听等多种开发工具,通过拾取UI控件、查看对象属性、监听方法调用、App内抓包等,不依赖电脑联调,直接获取运行时数据,快速定位Bug,提高开发效率。啄幕鸟提供了插件化的工具平台,简便易用,零侵入、零依赖、易接入、易扩展。 功能简介 1.UI检查:快速查看页面布局、UI控件间距、字体颜色、UI控件类名、对象属性/成员变量、图片URL等。 2.JSON抓包:便捷JSON抓包工具,通过监听系统json解析抓包。 3.方法监听:Bug听诊器,可监听App中任意OC方法的调用,输出调用参数、返回值等信息,可以通过屏幕日志输入监听、KVC取值等命令,支持后台配置命令。 4.po命令:执行类似LLDB的po命令,在App运行时执行po命令,调用任意方法。 5.系统信息:查看各种系统名称、版本、屏幕、UA等信息,支持外部添加信息。 6.SandBox:查看沙盒文件,导出文件等。 7.Bundle:查看、导出Bundle目录中的内容。 8.Crash:查看Crash日志,需先打开一次Crash插件以开启Crash监控。 9.Defaults:查看、新增、删除User Defaults。 10