我有一个网站,允许用户检查他们的统计数据(上传的文件数量,他们有多少文件,配额,访问类型等...)
我在我的网站上创建了一个部分:api.domain.com
这可以通过curl或Web浏览器访问,因为我返回一个json对象或xml(取决于用户prefs)
我的问题是:我应该使用user/pass限制访问,还是应该创建用户文件的哈希值?
例如:
方案1:
用户创建一个php curl,发送用户并通过post或curl auth传递并获取结果,解析它等...
对我来说,这是安全的,但如果他们改变了通行证,用户必须保持他的脚本
方案2
用户访问如下文件:api.domain.com/j355HGssgf3HESAjh45jusf4325GSj5hbsHhdh5HGHFS3732he4548475wbe3447nSNe5XfgjhGJ
然后访问数据
这个,没什么好维护的
这是我对此的看法.
如果您在向页面发出请求时返回未找到的页面或错误消息(具有良好的200 OK状态),它可能会向机器人或可信任的人发送有关他们可以获得的内容的线索,并一次又一次地尝试然后再次 ...
另一方面,如果您发送拒绝访问,如401或更好的500错误代码来模拟服务器错误,这些机器人或联合国信任的人可能会永远消失.
我会说在这种情况下用户/密码方法更安全一些.
现在,您是否相信在检查邮件时只需输入一个大字符串(如方案2)?或您的银行帐户信息?
如果是我,我会给每个帐户创建一个独特的api密钥,
api.domain.com/?key=
为了更安全的措施,你可以让它只通过api键接受post方法的连接.如果通过get联系然后显示错误等.
然后,如果他们改变他们的通行证/用户名,它将不会影响他们的api密钥