小编dec*_*eze的帖子

试图暴力破解平均密码/非侵入性但有意义的限制?

关于通过应用限制来防止强制执行Web服务密码的SO,有几个有用的答案.我找不到任何好的数字,但我在这方面的专业知识很少,所以问题是:

通常需要多少次尝试才能强制使用6个或更多字符的平均密码(没有可能有帮助的额外知识,但考虑到密码可能容易受到字典攻击)并且基于此,有什么意义限制在不中断用户体验的情况下应用限制算法?

这是我目前的计划:

  • 登录表单使用随机数,因此攻击者必须等待完整的请求周期才能获得登录尝试的结果并检索新令牌.
  • 我允许每个IP检索登录表单50次,请求之间不到一分钟,之后IP将被阻止1分钟.在这一分钟内的任何新尝试都将重新启动超时.
  • sleep每次获取登录页面都有一个应用# of attempts / 5,所以在请求之间不到一分钟的5次请求之后,需要> 1秒才能获取表单,10次请求> 2秒后等等.
  • 此外,我只允许每个用户帐户登录尝试失败100次,尝试间隔2小时,之后帐户被阻止2小时.
  • 为了避免频繁的帐户DoS,可以将IP列入白名单(不应用限制)或列入黑名单(完全忽略任何登录尝试).

基于到目前为止的答案,我已经调整它像这样工作:

  • 检索登录表单会逐步降低每个IP的速度.每个新请求都会睡# of requests / 2几秒钟.10分钟无登录活动后,计数器将重置.
  • 我正在为每个IP保留一堆FIFO登录尝试.如果IP在2小时内未能登录30次,则会暂停.我还保留了每个IP的暂停数量列表,暂停时间计算为2 ^ (# of suspensions + 1) hours.这应该导致持续违规的IP快速事实上的黑名单.
  • 此外,如果帐户在一天内未能登录20次,则会被暂停2小时.我对这个措施还不太确定,因为这意味着帐户可以很容易地进行DoS.但是,如果没有庞大的分布式僵尸网络,违规的IP应该变得事实上被列入黑名单,而不是一个帐户永久性的DoS.这也是保护帐户的有效措施.

我认为这些限制不应该损害普通用户,即使是那些经常忘记密码并尝试多次登录的用户.考虑到服务的平均大小,IP限制对于大量NAT用户也应该可以正常工作.有人可以用一些可靠的数学来证明这是有效率还是低效率?:)

language-agnostic security algorithm brute-force

8
推荐指数
2
解决办法
6820
查看次数

在Haskell中生成所有整数的无限列表的好方法是什么?

我在haskell中编写了以下函数,因为它将枚举每个整数:

integers = (0:)$ concat $ zipWith (\x y -> [x,y]) [1..] (map negate [1..])
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更好的方法来做到这一点,看起来确实有点过于复杂.

另外,我想知道是否有标准实现来列出维度$ k $的整数点阵中的所有元素.

haskell

8
推荐指数
2
解决办法
4198
查看次数

基于邮政编码匹配最近注册商店的系统设计?

我有以下问题.

我正在创建一个餐厅送货系统.

所以餐馆选择他们想要提供的邮政编码.所以在波士顿,他们可能选择波士顿或后湾(波士顿的一个特定区域,有几个邮政编码......).

基本上,餐厅通过勾选方框确认他们愿意服务的区域,描述如下:

- Cambridge (ZIP CODE)
- Boston (all of Boston)
--- Back Bay (covers zip codes: 02...., 02.., 02..)
--- North Boston (covers zip codes: 02145, 021..., 02..., 02..)
Run Code Online (Sandbox Code Playgroud)

用户输入他们的邮政编码,我将它们与餐馆指定的区域相匹配.

设计这样一个系统的最佳方法是什么?我认为我没有朝着正确的方向前进......

php mysql

8
推荐指数
1
解决办法
236
查看次数

在html或body上定义font-size?

我正在一个项目中工作,我们的客户希望遵循所有最佳实践和Web标准.我需要一点帮助.我只是想知道
我在哪里定义font-size我的css(外部)

在哪个html {...}body{....}哪个是最好的,为什么?

html css

8
推荐指数
1
解决办法
526
查看次数

在 Javascript 中将特殊字符编码为 Base64 并在 PHP 中使用 base64_decode() 进行解码

我的问题是 base64_decode() 函数不适用于特殊字符。也许问题是我正在使用 ajax 事件,并且我正在使用 javascript 中的 base64.encode 解析数据。js代码:

description: $.base64.encode($("#Contact_description").val())
Run Code Online (Sandbox Code Playgroud)

这是php代码:

$model->description = base64_decode($model->description);
Run Code Online (Sandbox Code Playgroud)

这里$model->description$("#Contact_description").val()

例如,这是描述值:Traian B?sescu,这就是我使用 php 解码后的样子:Traian A?sescu。我该怎么办 ?

更新: 这是来自萤火虫的标题信息:

Content-Length  143
Content-Type    text/html; **charset=UTF-8**
Date    Fri, 20 Mar 2015 12:37:01 GMT
Run Code Online (Sandbox Code Playgroud)

javascript php

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

为什么在null返回1元素时爆炸?

var_dump(count(explode(',',[]))); // 0
var_dump(count(explode(',',''))); // 1
var_dump(count(explode(',',null))); // 1 ????
Run Code Online (Sandbox Code Playgroud)

我期待最后一个0.有人能告诉我爆炸的原因null是1还是0?(PHP 5.6.16)

php

8
推荐指数
2
解决办法
5790
查看次数

在 Python 3.5.2 中解压可选类型注释

给出这个例子:

import typing

def foo(bar: int = None):
    pass

typing.get_type_hints(foo)
Run Code Online (Sandbox Code Playgroud)

的类型提示bartyping.Union[int, None]. 我该如何int从中得到呢?__args__Nor属性__parameters__似乎在 Python 3.5.2 中不起作用。


更具体地说,我正在尝试编写一个通用装饰器来检查函数的签名并对参数执行特定的操作。为此,它需要从注释中获取类,Optional[T]然后使用T

annot = typing.Optional[T]
cls = # MAGIC?!
assert cls is T
Run Code Online (Sandbox Code Playgroud)

python annotations type-hinting python-3.x

8
推荐指数
1
解决办法
4502
查看次数

有没有办法使用预先签名的URL上传和强制标记?

有没有办法向客户端发送预先签名的URL以将文件上传到S3,并确保上传的文件有某些标签?以此处使用Python SDK为例,可根据需要生成URL:

s3.generate_presigned_url('put_object', 
                          ExpiresIn=3600,
                          Params=dict(Bucket='foo', 
                                      Key='bar', 
                                      ContentType='text/plain', 
                                      Tagging='foo=bar'))
Run Code Online (Sandbox Code Playgroud)

在明确提供标签时上传时这是令人满意的:

$ curl 'https://foo.s3.amazonaws.com/bar?AWSAccessKeyId=...&Signature=...&content-type=text%2Fplain&x-amz-tagging=foo%3Dbar&Expires=1538404508' \
  -X PUT
  -H 'Content-Type: text/plain' \
  -H 'x-amz-tagging: foo=bar' \
  --data-binary foobar
Run Code Online (Sandbox Code Playgroud)

但是,S3在省略时也接受请求-H 'x-amz-tagging: foo=bar',该请求在没有标签的情况下上传对象.由于我无法控制客户端,所以......糟糕.

我已经尝试先创建一个空对象并对其进行标记,然后向其发出预先指定的URL,但是PUT该对象将完全替换它,包括删除任何标记.

我尝试过发布预先签名的POSTURL,但似乎根本不支持该tagging参数:

s3.generate_presigned_post('foo', 'bar', {'tagging': '<Tagging><TagSet><Tag><Key>Foo</Key><Value>Bar</Value></Tag></TagSet></Tagging>'})
Run Code Online (Sandbox Code Playgroud)
$ curl https://foo.s3.amazonaws.com/ \
  -F key=bar \
  -F 'tagging=<Tagging><TagSet><Tag><Key>Foo</Key><Value>Bar</Value></Tag></TagSet></Tagging>'
  -F AWSAccessKeyId=... \
  -F policy=... \
  -F signature=... \
  -F file=@/tmp/foo

<Error><Code>AccessDenied</Code><Message>Invalid according to Policy:
Extra input fields: tagging</Message>...
Run Code Online (Sandbox Code Playgroud)

我只是想让客户端直接将文件上传到S3,并确保它在流程中以某种方式标记.有办法吗?

amazon-s3 aws-sdk

8
推荐指数
1
解决办法
821
查看次数

选择“ azure函数”相对于“ http请求”操作有性能优势吗?

选择azure functionvs http request动作对性能有好处吗?

向您的逻辑应用程序添加azure函数的方法似乎有两种。

第一种方法是简单地触发Http Request

在此处输入图片说明

或者,我们可以选择Azure function作为操作:

在此处输入图片说明

选择azure functionvs http request动作对性能有好处吗?

azure-logic-apps azure-functions

8
推荐指数
2
解决办法
334
查看次数

return database_name == ':memory:' or 'mode=memory' in database_name TypeError: 'WindowsPath' 类型的参数不可迭代

您好,我是 python 和 django 的新手,我正在练习 django,但是当我命令 python manage.py makemigration 和 python manage.py migrate 时,我收到了标题中显示的错误。下面提到了完整的错误。

寻求帮助,谢谢

C:\Users\Manan\python projects\djangoandmongo\new_Socrai>python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying …
Run Code Online (Sandbox Code Playgroud)

python django migrate mongodb makemigrations

8
推荐指数
1
解决办法
5489
查看次数