2010-12-20 61 views
1

我提出的API,并希望其他用户能够访问它。我的实现是得到查询字符串的API密钥和API“密码”,并用它们来识别,如果用户是我们网站的有效用户。是获得在查询字符串的API密钥安全吗?

domain.com/api/?api_key=theapikey & api_password = thepasswordhere

我不熟悉的安全,但这是做一个安全的方式?还是有更安全的方法来做到这一点?

回答

0

a)你应该使用POST而不是GET,而GET是目前你所描述的方法(当数据在地址栏中您从您的Web应用程序的形式,即选择POST方法得到POST值:

<FORM action="http://domain.com/api" method="post"> 

b)将是较为安全的,但更多的安全性是通过使用HTTPS隧道感知的,你得到通过安装有效的安全密钥在找你的Web服务器,并使用HTTPS,而不是http。

举例阿帕奇: http://www.digicert.com/ssl-certificate-installation-apache.htm

希望我帮助了:)

+0

好,我们没有使用POST,因为我们想要的API是从URL访问。这就是为什么我们被迫使用get。 – arvinsim 2010-12-20 08:25:05

+0

我可以建议,然后用某种例如MD5加密一个加密密钥和/或密码,然后它匹配对你的加密密码的列表?除此之外,没有其他想法突然出现在我的脑海里。 – 2010-12-20 09:14:15

0

它并不安全,不,有更安全的方法是,看看OAuth。你可能会找到你选择的语言的一些助手库。