Security 获取查询字符串中的API密钥是否安全?
我正在制作一个API,希望其他用户能够访问它。我的实现是从查询字符串中获取API密钥和API“密码”,并使用它们来标识用户是否是我们站点的有效用户 domain.com/api/?api\u key=theapikey&api\u password=thepasswordhereSecurity 获取查询字符串中的API密钥是否安全?,security,api,query-string,Security,Api,Query String,我正在制作一个API,希望其他用户能够访问它。我的实现是从查询字符串中获取API密钥和API“密码”,并使用它们来标识用户是否是我们站点的有效用户 domain.com/api/?api\u key=theapikey&api\u password=thepasswordhere 我不熟悉安全性,但这是一种安全的方法吗?还是有更安全的方法来做这件事?这不安全不,有更安全的方法是的,调查一下。您可能会找到一些所选语言的帮助程序库。a)您应该使用POST而不是GET,而GET是您当前描述的方法(当数
我不熟悉安全性,但这是一种安全的方法吗?还是有更安全的方法来做这件事?这不安全不,有更安全的方法是的,调查一下。您可能会找到一些所选语言的帮助程序库。a)您应该使用POST而不是GET,而GET是您当前描述的方法(当数据位于地址字段中时)。您可以通过从web应用程序的表单中选择POST方法来获取POST值,即:
<FORM action="http://domain.com/api" method="post">
b) 这在某种程度上更安全,但通过使用https隧道可以感受到更多的安全性,您可以在web服务器上安装一个经过验证的安全密钥,并使用https而不是http
apache的示例:
希望我能帮上忙:)我建议在标题中传递它。您需要像curl或postman这样的东西来调用它,这适用于大多数为应用程序集成而设计的API键
如果您希望让用户在浏览器中查看,则需要一些登录屏幕。这可以保存为cookie,以便将来的请求不会总是强制登录。我们不使用POST,因为我们希望API可以从URL访问。这就是我们被迫使用get的原因。我是否可以建议使用某种加密方式(例如MD5)对密钥和/或密码进行加密,然后将其与您的加密密码列表进行匹配?除此之外,我没有别的想法。