V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  xiangyuecn  ›  全部回复第 110 页 / 共 122 页
回复总数  2429
1 ... 106  107  108  109  110  111  112  113  114  115 ... 122  
2019-01-18 14:58:20 +08:00
回复了 JCZ2MkKb5S8ZX9pq 创建的主题 程序员 由聚餐想到的一个距离算法问题
不会算法,想到一种极端

共 10 个人,9 个在学校,另一个在 1000 公里外,目测也就是选学校周边聚餐总距离最小,那个远的自己一个人要动,其他不用动。
虽然没有经过计算,但是可以得出这个极端例子的结论:哪人多就哪,哪怕偏移一公里都不是最优解,哈哈

大部分情况下距离和时间是正比的吧,但实际用时间的会复杂到无法想象吧,天气、堵车。。。
@veike #79 本来有两个选择:宽松、严格,现在又加一个:宽松、中等、严格。选择恐惧症,我还是喜欢简单粗暴的,要么就是 True,要么就是 False
@firebroo #72 原来是 ssrf,怪不得眼熟,想起一个严峻的事情,就是人家提交过来的合法域名格式的 url 也不一定安全,谁知道他会不会把 DNS 记录写成内网地址,看样子水深了不少。。

不知道简书、掘金发文那里怎么把图片捞过来的?
@xianxiaobo #74 根据我个人对 三大运营商 手机号的理解,几十年来首位 1 都是多余的。。除了增加号段、还没出现过增加位数的先例。如果 1 可以改成 2-9 还有很大的发展空间,就是不知道有什么难点,宁可复用垃圾号码也不增加容量。
@lincanbin #61 第一个测试的锅 真实案例 (〃'▽'〃) 还好准备充足呀
@firebroo #56 哈哈,这个算。缓冲区这种从来没接触过这么底层的东西,我换成了一维数组来看,不检查边界乱塞数据会导致比空指针还恶心的异常。

没想到域名检测在什么样常见的场景会出安全问题,我举个稍微偏一点的例子吧,搭边一点点:
场景:用户提交任意 https? url,服务器端会对这个 url 进行请求,比如远程图片抓取保存到服务器本地。
问题:如果不检测 url 中的主机名,可能导致内网地址被恶意调用。
解决办法:提取 url 中的主机名,如果是 ip 结构,判断是不是公网 IP。如果是域名结构,判断是否是 xx.xx 结构(排除 localhost )
当然这仅仅是发起请求前的一项安全检测。
@firebroo 你提到的这点和这个帖子说的内容偏离的蛮大,感觉有点跑题了喔 (无奈脸
@firebroo 有没有比较常见的场景例子?冗长的表达式没有问题,而我这个随手写的会有问题。我想了一下,没有想到哪里会产生比较大的差异,觉得短的有问题的时候,长的可能也会有问题。
@lincanbin 嗯,如果要直接支持中文域名,正则会难写好多,不过也许绕一下会简单好多,如果用户的域名带 Unicode 字符,可以填写 Punycode 表示的域名。微博开放平台别说小众顶级域名不支持了,中文域名就更不支持,哈哈,上午我试了下,挺好玩的
#35 这个人就懒得 @ 你了

@zhttty @rqzheng2008 也许吧,其实我真实那种是自我感觉良好的,随你们怎么说~

不过如果你们仔细思考一下微博里面的细节,也许会有不同的论断。
@ioven 我说的没这么极端。。。我在 13 楼 说的意思是通过格式验证并不能校验有效性,能简化的尽量简化,就算把正则写出花了,复杂表达式和简单表达式在对安全性上的作用基本属于同一个量级。
@geelaw 哦,改不了啦,被你发现了~
@gesse 哈哈,神奇的在于配置是手写固定死的,还不更新,虽然经过 build 这个伪动态过程,按这个逻辑往上盘
想到一个绝佳的例子:
手机号,不会错的地方不校验也不会错,会错的地方怎么校验都可能出错。

注册:手机号要收验证码这种,就算不校验手机号格式,也 100%不会出错。
收获地址:手机号随便填大部分好像不会验证真实性,这个地方就算校验了格式,还是可能输错,而且还发货了,快递小哥找不到人这种。。
@sagaxu 无言以对,事实如此呀,记得前几年这个域名注册商哪里注册好了,然后自己很多地方自己都不支持这个域名,无奈~
@flyingghost 难在维护更新,要是他们会更新,也就不会导致这种问题。
@frye 这是导致不能用的安全。。

这个地方重要的应该是判断书写是否错误,而不是用来判断域名有效性。如果要判断输入有效性,应该判断这个域名的有效性( DNS 解析、whois 之类的),而非特定格式。
@drydiy 大部分场合不需要这种多此一举的严谨,你觉得呢。尤其是这个扫码的,想想就怪怪的
@nervdy 我觉得微博这里就算不验证格式,随便写 abcd,也不会对业务逻辑产生任何影响,也不会有安全问题,你能用 abcd 这个域名访问微博接口,说明你已经持有了 abcd 这个域名,虽然这个域名看起来不合规。

留坑也比不能用好更好些吧~
挺好奇把这十几 G 的单个文件传上去的动机。。。不知道七牛有没有这种:寄堆硬盘过去把我的数据拷出来的服务
1 ... 106  107  108  109  110  111  112  113  114  115 ... 122  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3424 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 11:42 · PVG 19:42 · LAX 03:42 · JFK 06:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.