gpt4 book ai didi

javascript - 隐藏 AmCharts 外部数据 URL

转载 作者:搜寻专家 更新时间:2023-10-30 22:24:38 25 4
gpt4 key购买 nike

我正在使用 AmCharts Wordpress 插件在 Wordpress 页面上生成图表。为了让图表加载其形状和(外部)数据,AmCharts 在生成图表时使用 Javascript 在客户端加载。但是,此 javascript 还包含用于检索外部数据的 API 的 URL。

这意味着任何人都可以轻松查看网站源代码并查看此链接。这是一个风险,因为现在任何人都可以操纵 URL 并下载我们的完整数据库和数据。

我在下面添加了 JavaScript 代码的第一部分。我想隐藏的 URL 部分是 https://api.xxxxxxx.com/

这有什么可能吗?有哪些选项可用?

感谢您的帮助!

 try {    
// Themes begin

var chart = am4core.create("amchart1", am4charts.XYChart);
var from = Math.round(+new Date() / 1000) – 2629743;
var to = Math.round(+new Date() / 1000) + 2629743;

chart.dataSource.url = 'https://api.xxxxxxx.com/' + from + '/' + to;

chart.dataSource.events.on(“parseended”, function(ev) {
// parsed data is assigned to data source's data property
var data = ev.target.data;
for (var i = 0; i < data.length; i++) {
if(data[i]["realtime_value"] == 0)
delete data[i]["realtime_value"];
}

console.log(‘data’, data);

});

// create date axis

...

最佳答案

我不熟悉 WordPress 插件或它的工作原理,所以所有这些都完全忽略了 WP 插件。

我的第一个想法是获取数据服务器端并在页面加载时将其分发出去。这样,API url 就被混淆了,并且由于数据已经存在于页面上,因此用户可以保存另一个 HTTP 调用。

如果这不是一个选项,请不要直接提供 API 调用,而是在您的服务器上创建一个脚本,作为 API 的反向代理。您的客户端调用将获取您服务器的 URL,这取决于您希望如何在任何程度上保护它。

例如chart.dataSource.url = 'https://your.site/reverse-proxy/' + from + '/' + to;。然后在 https://your.site/reverse-proxy/ 检查并清除 from & to 输入,从 'https://api.xxxxxxx.com/' + from + '/' + to(例如通过 curl),并使用适当的代码将其发送回客户端JSON header 。

这些想法对你有用吗?

关于javascript - 隐藏 AmCharts 外部数据 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55059855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com