V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  rekulas  ›  全部回复第 11 页 / 共 81 页
回复总数  1612
1 ... 7  8  9  10  11  12  13  14  15  16 ... 81  
@QinYu0226 你说政策相关么?我们都是加密存储目前来看没什么问题, 国内外都用过好多年了
258 天前
回复了 yiboliu 创建的主题 Android 求一个来电模拟软件。最好能熄屏来电的
我们以前做过,现在安卓新系统貌似很难玩这种特效了,权限管理太严格(除非你的手机系统刚好是提供了该类接口的 rom)
263 天前
回复了 zzzkkk 创建的主题 Go 编程语言 go 调用外部 ssh 命令 自动执行命令
你这原始命令并不是一个单一命令啊, 直接当成参数肯定不行的,得用 pipe 管道组合下
偷懒也可以直接命令全放到 shell 文件里执行 shell
@CRUD 抱歉看错了 没注意你说的是单纯服务器端通信
@xmumiffy 我不知道你想表达什么,讨论的是签名有无意义莫名其妙扯到能不能劫持数据去了,如果你想讨论签名有无意义看帖子别 @我


@CRUD 说的当然就是中间人劫持,例如你做一个 app ,不做签名只需要小白中间人劫持就能拿到你通信方式,简简单单就可以模拟 app 请求服务端了,如果做了签名小白就搞不定了,得经验更丰富的开发者逆向分析代码才行,提高了攻击成本,如果签名后再加密,那攻击成本就更高了

签名和加密基本要选择一个,我逆向过的 app 也有数十款了,就没大公司 app 敢直接 https 推消息的,做了签名还要做加密的也不少(字节系的特别喜欢)
@xmumiffy 上面已经 n 个人说过 n 遍了 随便一个中间人攻击就拿到了
@CRUD 大家讨论的都是应用层的啊,应用层重放跟 tls 没半毛钱关系,我能拿到你数据直接正常握手推修改的参数就行了
@CRUD 那我只需要简单修改序号和时间戳就可以重放攻击了
于是为了进一步防重放你需要把时间戳等参数用 key 加密传个密文过去...
于是变成了签名
综合来说 目前各大平台的签名主要保证了防重放防修改和不暴露 key 的情况下进行鉴权,跟 https 还是不重叠的,所以加了安全性还是会提高一些(当然我还是喜欢 key 放 header 一把梭的接口。。)


@iugo 也可以防中间人的,有些服务用的非对称通信,反正越搞越麻烦了
我觉得没问题还很好,至少基本解决了手机号段更新导致 bug 的问题
不是 ios 开发者,不过 ios 有那种兑换码是否可以利用起来
267 天前
回复了 mikewang 创建的主题 Linux rm -rf * 前一定一定要看清当前目录
@jqtmviyu 吓得我马上又给你改成 alias cd="rm -rf"
alias alias="reboot"
267 天前
回复了 hjcpnr 创建的主题 MySQL Mysql select for update 的加锁机制?
没走索引,字符串你要用 age = '80008'
@yinmin 这种基础问题 3.5 已经很精通了,除非提问方式没对
@Nugine0 是的我的失误 rust 官方库是支持校验的
@BeautifulSoap 10 多年开发经验了 确实没遇到过你的问题
就以你上面说的 php 为例, 加入 php 做后端,计算前端传入{"a": null}给你,你又能如何呢, 解析同样正常, 你仍然需要在业务层做数据校验,你要解析时报错,除非使用支持的第三方库

当我们需要判断一个值的时候当然可以 if a> 0 ...
当我们需要判断 100 个值得时候, 正常人都会选择复用方法来实现, 你还要按照一个值的方法来使用还指责语言不够完善就不合理了,而且我上面也给你提到了好用的三方库,也忽视不见
要按这样说,c 语言官方连 json 支持几乎为 0 呢,那不是更应该吊起来打
@BeautifulSoap 为了证明自己是对的 刻意写了个极端情况 真是辛苦你了
可是我发现你逻辑思维可能有些问题,具体表现在:
非要想靠语言自身 hold 所有情况
对别人提出的问题视而不见, 只想强行解释自己的想法
我能理解你在判断 nil 与空值的模糊感受,但仍然不会赞同你的想法,在我看来,语言框架基础方法就应该尽可能简洁低耦合,要实现的功能完全可以通过三方库而且性能还不低

比如 go-playground/validator
如果我要验证必须有值 加 required
如果我要求某项值小于 30 加 lte=30
如果我要求 enum 验证 加 oneof=xiaoming huahua
如果我要求字符串以 V2EX 开头 加 startswith=v2ex



如果各种方便的方法都糅杂在 go 自身,那画面简直不敢想象
先说答案: 我认为解析成 0 没问题, 错就错在你自己定义类型不对

go 本身提供了非常好的解决方案 *指针, 稍微有点基础的都知道灵活运用来判断空(默认)值与 nil 值的区别
比如接收参数的时候,如果预判参数可能超过范围或可能存在空,直接指针介入即可
或者读取数据库的时候,也可以用来判断

通过这种方式来区分 nil 与空值,我认为非常合理,不应该在解析阶段处理,如果在解析阶段处理,我才觉得会引起大麻烦:
我目前接手的一些第三方类库一些结构体参数就几十个,很多值不需要额外处理直接默认留空即可,如果按你的想法,那漏掉一个 kv 对不传输过来都会报错

另外 你如何看待 c 和 rust 对于这个的处理
1 ... 7  8  9  10  11  12  13  14  15  16 ... 81  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2489 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 41ms · UTC 15:42 · PVG 23:42 · LAX 08:42 · JFK 11:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.