使用公开可见的API密钥/密钥在JS中进行API调用。Wordpress/Woocommerce
我目前正试图在Wordpress上实现一个前端表单,它将使用WooCommerceAPI将新产品发布到我的网站上。我的第一个尝试是使用JS/Jquery将数据发送到相关的API端点。这需要我添加一些JS,通过包含ClientKey和ClientSecret来验证API调用 我的问题是:使用公开可见的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的上下文细节 下面是我使
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对话,并返回响应