小编Joe*_*haw的帖子

OAuth 2.0:好处和用例 - 为什么?

任何人都可以解释OAuth2有什么好处以及为什么要实现它?我问,因为我对它有点困惑 - 这是我目前的想法:

OAuth1(更准确地说是HMAC)请求看起来合乎逻辑,易于理解,易于开发,而且非常安全.

相反,OAuth2会带来授权请求​​,访问令牌和刷新令牌,您必须在会话开始时发出3个请求才能获取您所追踪的数据.即便如此,当令牌过期时,您的一个请求最终会失败.

要获取另一个访问令牌,您可以使用与访问令牌同时传递的刷新令牌.从安全角度来看,这是否会使访问令牌徒劳无功?

另外,正如/ r/netsec最近所展示的那样,SSL并非完全安全,因此将所有内容都放到TLS/SSL而非安全HMAC上的努力让我感到困惑.

OAuth认为它不是100%的安全性,而是将其发布和完成.从提供商的角度来看,这听起来并不乐观.我可以看到草案在提到6种不同的流量时试图实现的目标,但它并没有在我脑海中融合在一起.

我认为可能更难以理解它的好处和推理而不是实际上不喜欢它,所以这可能是一种无根据的攻击,如果这看起来像是一种咆哮,那就很抱歉.

oauth oauth-2.0

244
推荐指数
3
解决办法
8万
查看次数

"foo is None"和"foo == None"之间有什么区别吗?

之间有什么区别:

if foo is None: pass
Run Code Online (Sandbox Code Playgroud)

if foo == None: pass
Run Code Online (Sandbox Code Playgroud)

我在大多数Python代码(以及我自己编写的代码)中看到的约定是前者,但我最近遇到了使用后者的代码.None是NoneType的实例(也是唯一的实例,IIRC),所以没关系,对吧?它有什么可能的情况吗?

python

214
推荐指数
9
解决办法
3万
查看次数

是否有一个Unix实用程序来为stdin添加时间戳?

我最后在Python中为此编写了一个快速的小脚本,但我想知道是否有一个实用程序可以提供文本,其中每个行前面都有一些文本 - 在我的特定情况下,是一个时间戳.理想情况下,使用方式如下:

cat somefile.txt | prepend-timestamp
Run Code Online (Sandbox Code Playgroud)

(在你回答sed之前,我试过这个:

cat somefile.txt | sed "s/^/`date`/"
Run Code Online (Sandbox Code Playgroud)

但是,这只会在执行sed时评估date命令,因此每行都会错误地添加相同的时间戳.)

unix shell awk

166
推荐指数
8
解决办法
7万
查看次数

PostgreSQL错误:由于与恢复冲突而取消声明

在待机模式下在PostgreSQL数据库上运行查询时出现以下错误.导致错误的查询在1个月内正常工作,但是当您查询超过1个月时,会出现错误.

ERROR: canceling statement due to conflict with recovery
Detail: User query might have needed to see row versions that must be removed
Run Code Online (Sandbox Code Playgroud)

有关如何解决的任何建议?谢谢

postgresql postgresql-9.1

119
推荐指数
7
解决办法
9万
查看次数

在迭代它们时删除对象属性是否安全?

迭代对象的属性时,在for-in循环中删除它们是否安全?

例如:

for (var key in obj) {
    if (!obj.hasOwnProperty(key)) continue;

    if (shouldDelete(obj[key])) {
        delete obj[key];
    }
}
Run Code Online (Sandbox Code Playgroud)

在许多其他语言中迭代数组或字典并删除内部不安全.在JS中可以吗?

(我正在使用Mozilla的Spidermonkey运行时.)

javascript loops properties object

89
推荐指数
2
解决办法
1万
查看次数

使用Flask代理另一个Web服务

我想将对Flask应用程序发出的请求代理到本机在本地运行的另一个Web服务.我宁愿使用Flask而不是我们的更高级别的nginx实例,这样我们就可以重用我们应用程序内置的现有身份验证系统.我们越能保持这种"单点登录"越好.

是否有现有模块或其他代码来执行此操作?尝试将Flask应用程序连接到像httplib或urllib这样的东西被证明是一种痛苦.

python proxy nginx httplib flask

41
推荐指数
3
解决办法
2万
查看次数

在Mac OS X上,python easy_install失败并显示"未安装体系结构ppc的汇编程序"

bash-3.2$ sudo easy_install appscript  
Password:  
Searching for appscript  
Reading http://pypi.python.org/simple/appscript/  
Reading http://appscript.sourceforge.net  
Best match: appscript 1.0.0  
Downloading http://pypi.python.org/packages/source/a/appscript/appscript-1.0.0.tar.gz#md5=6619b637037ea0f391f45870c13ae38a  
Processing appscript-1.0.0.tar.gz  
Running appscript-1.0.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-C4d1az/appscript-1.0.0/egg-dist-tmp-yVTHww  
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed  
Installed assemblers are:  
/usr/bin/../libexec/gcc/darwin/x86_64/as for architecture x86_64  
/usr/bin/../libexec/gcc/darwin/i386/as for architecture i386  
Run Code Online (Sandbox Code Playgroud)

我是一个相当大的菜鸟(我已经学会了使用python和unix一点,但我从来没有处理安装.)早些时候我收到了与gcc-4.2无关的错误,我发现了一些建议重新安装XCode的帖子.我选择4.0(糟糕的选择?)现在我明白了.我不知道该做什么.

python macos installation xcode powerpc

36
推荐指数
3
解决办法
9144
查看次数

Linux上的pid_t,uid_t,gid_t的大小

在Linux系统中(32位或64位),什么是大小pid_t,uid_tgid_t

c linux 64-bit 32-bit sizeof

34
推荐指数
3
解决办法
7万
查看次数

有没有办法以编程方式将ICS导入Google日历?

我没有看到任何明显的方法从这里的API文档将ICS文件导入Google日历:

http://code.google.com/apis/calendar/developers_guide_protocol.html

而且我非常希望不必自己解析它们只是为了将约会发送到GCal.我正在寻找一个程序化的解决方案,而不是像Thunderbird,Outlook等的导入插件.用于进行ICS解析的第三方API在任何语言中都是可以接受的.有任何想法吗?

icalendar google-calendar-api gcal

29
推荐指数
2
解决办法
4万
查看次数

如何在make中拆分字符串?

我需要在我的Makefile中获取一个参数,该参数由表单中的主机标识符组成

host[:port]
Run Code Online (Sandbox Code Playgroud)

冒号和端口是可选的.所以以下所有内容都是有效的:

foo.example.com
ssl.example.com:443
localhost:5000
Run Code Online (Sandbox Code Playgroud)

等等

我想拆就可选结肠串并分配给变量,使HOST包含foo.example.com,ssl.example.com,localhost等,PORT分别包含80个(默认端口),443和500.

makefile gnu-make

27
推荐指数
1
解决办法
2万
查看次数