Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用公开可见的API密钥/密钥在JS中进行API调用。Wordpress/Woocommerce_Wordpress_Rest_Security_Woocommerce - Fatal编程技术网

使用公开可见的API密钥/密钥在JS中进行API调用。Wordpress/Woocommerce

使用公开可见的API密钥/密钥在JS中进行API调用。Wordpress/Woocommerce,wordpress,rest,security,woocommerce,Wordpress,Rest,Security,Woocommerce,我目前正试图在Wordpress上实现一个前端表单,它将使用WooCommerceAPI将新产品发布到我的网站上。我的第一个尝试是使用JS/Jquery将数据发送到相关的API端点。这需要我添加一些JS,通过包含ClientKey和ClientSecret来验证API调用 我的问题是: 告诉我这是否以及为什么是糟糕的安全性(因为任何人都可以看到API凭据) 你有什么建议 我意识到这可能是一个相当普遍的JS/API问题,但已经包含了Wordpress/Woocommerce的上下文细节 下面是我使

我目前正试图在Wordpress上实现一个前端表单,它将使用WooCommerceAPI将新产品发布到我的网站上。我的第一个尝试是使用JS/Jquery将数据发送到相关的API端点。这需要我添加一些JS,通过包含ClientKey和ClientSecret来验证API调用

我的问题是:

  • 告诉我这是否以及为什么是糟糕的安全性(因为任何人都可以看到API凭据)
  • 你有什么建议
  • 我意识到这可能是一个相当普遍的JS/API问题,但已经包含了Wordpress/Woocommerce的上下文细节

    下面是我使用的示例代码,它很有效,但我担心在生产现场使用时的安全性:

    const-wooClientKey='ck_uxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    const wooClientSecret='cs_uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    康斯特伍尔酒店https://localhost/my-site/wp-json/wc/v2/products';
    基本功能(密钥、机密){
    让hash=btoa(key+':'+secret);
    返回“基本”+散列;
    }
    设auth=basicAuth(wooClientKey,wooClientSecret);
    函数getData(url){
    jQuery.ajax({
    url:url,
    方法:“GET”,
    发送前:功能(req){
    请求setRequestHeader(“授权”,认证);
    }
    })
    .完成(功能(数据){
    控制台日志(数据);
    返回数据;
    });
    }
    
    获取数据(网址)您正在通过web公开这些凭据,供大家查看。若你们假设并没有人会通过查看网页的源代码来查看你们的html,那个就不对了

    假设我有你的证件。我可以使用这些凭据执行任何允许的操作,就像您所做的那样

    最佳实践是将这些凭据放在后端(或web服务)中。公开一个rest调用(具有适当的身份验证)。从web ui调用它。让您的后端代码与wordpress/woocommerce对话,并返回响应