我计划在客户端和服务器端设计一个加密的限时API,服务器端用Django编写,客户端用GUI程序调用API
import requests
c = requests.post("http://127.0.0.1:8000/VideoParser/", data={'videoUrl': videoUrl })
它调用API的方式非常暴露给那些可以使用wireshark和fiddler等网络流量捕获工具的人,而我不希望其他任何人可以使用他们定制的videoUrl
调用API,如果人们在客户端最初调用后2分钟使用相同的参数进行post调用,那么调用应该是在这种情况下,如何在客户端和服务器端设计加密的限时API呢?你知道吗
另外,我认为在post data
中添加identifier
可以阻止他们使用API
import requests
c = requests.post("http://127.0.0.1:8000/VideoParser/", data={'videoUrl': videoUrl, 'identifier':value_of_identifier })
假设在value_of_identifier
中有加密的东西,并且它会随着每次调用而改变,但我不知道如何开始,知道吗?你知道吗
最好展示一些代码,我真的不知道如何开始写代码。你知道吗
我认为这将解决你的目标:
如果两个签名不匹配,则丢弃。这样,任何在网络上监听的人都将拥有url和访问密钥,但如果没有与访问密钥相关联的密钥,就无法创建有效的签名。你知道吗
由于存在时间戳,攻击者将无法重新使用被盗签名。你知道吗
亚马逊使用这种技术。http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
相关问题 更多 >
编程相关推荐