【问题标题】:Securely accessing Amazon MWS via the API通过 API 安全访问亚马逊 MWS
【发布时间】:2016-08-02 22:49:42
【问题描述】:

我最近让一位开发人员为我创建了一个网络应用程序,它基本上允许用户从我的网站访问他们的卖家账户的详细信息。

但是,在查看代码(如下)后,我在 amazon-config.php 文件中看到了这一点。注意:我在下面删除了我的详细信息。

$store[SellerID] = 'The users store ID';
$store[Marketplace] = 'ATVPDKIKX0DER'; 
$store[AccessKey] = 'My Access Key';
$store[SecretKey] = 'My Secret Access Key'; 
$store[AuthToken] = 'The users MWS Auth token';

我担心的是,使用此代码,我可以在网络服务器 (http://www.example/includes/amazon-config.php) 的配置文件中以纯文本形式获得我的访问密钥和秘密访问密钥。我的理解是,如果有人要获取此文件中的信息,那么他们几乎可以对我的亚马逊帐户做任何事情。

这是从我的网络应用程序安全访问亚马逊 MWS API 的最佳方式吗?或者有没有更安全的方法不涉及以纯文本添加我的详细信息?

任何更好的方法示例将不胜感激。我在网上查看过,并阅读了有关 IAM 用户密钥的内容,但这似乎只引用了 AWS API,而不是 MWS(不确定它们之间的关联程度)。我还读到你永远不应该将密钥直接嵌入到代码中。

感谢您提供的任何帮助。

【问题讨论】:

  • 从 web 根目录向上创建一个配置文件。
  • 嗨 Glen @Robert 是正确的,您也可以创建一个数据库表来存储您的亚马逊凭据。
  • 我的意思是,如果只有他,我认为将其编码到配置文件中没有问题。
  • 谢谢大家 - 它适用于多个用户。我的详细信息是 AccessKey 和 SecretKey,它们是静态的 - 其他是特定于用户的,并且会根据登录的人而改变。
  • 我仍然担心服务器可能被黑客入侵并暴露我的详细信息,但是将文件添加到 webroot 比将其留在包含文件夹中要好。

标签: php security amazon-web-services amazon amazon-mws


【解决方案1】:

只需考虑几点.. 1. 我同意将它们提高一级或使用数据库表,但认为后者是最好的,因为我认为无论如何您都应该使用带有已批准用户 SellerIds 列表的数据库表。

  1. 在最坏的情况下,MWS 支持可能会生成一组新密钥

  2. 我不会在 Marketplace 中硬编码...美国 Marketplace 可以是 Unified NA 帐户的一部分,用户可能还需要访问 CA 或 MX。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多