对定时攻击的一个防御措施是,如果呼叫未能通过挑战,则根本不响应请求,因为这显然没有显示有关比较的定时信息。
在/Flask中是否有一种方法可以不响应请求?
我认为可以使用例如sleep(TIMEOUT)
,其中TIMEOUT
大于App响应的最大时间,但我担心这会导致拒绝服务,因为它会使线程悬空。
发布于 2015-01-09 14:48:52
不幸的是没有。
事实上,它击中了一条路线,这意味着你的web服务已经“处理”了这个连接,并且已经造成了破坏。
最好的做法是abort(404)
。
如果您真的想要添加额外的防御,您需要使用额外的服务,但是在应用程序级别没有什么可以做的。就像你说的,睡觉只会让连接保持打开。您最好的做法就是尽可能低开销地处理它。
https://stackoverflow.com/questions/27862611
复制相似问题