我的源站点包含民意调查、图表和显示 HTML 代码的按钮。此代码可用于将这些图表集成到多个网站中,而不必将我们的数据库和服务器凭据信任给这些网站的作者。
问题是:我如何将图表(这是一个 FusionCharts 实现)从第一个站点集成到第二个或第三/第四/第五个站点,同时保护我的东西?
我不知道如何实现,因为任何人都可以将这些图表嵌入他们的网站。
任何帮助我摆脱困境的想法将不胜感激。
我的源站点包含民意调查、图表和显示 HTML 代码的按钮。此代码可用于将这些图表集成到多个网站中,而不必将我们的数据库和服务器凭据信任给这些网站的作者。
问题是:我如何将图表(这是一个 FusionCharts 实现)从第一个站点集成到第二个或第三/第四/第五个站点,同时保护我的东西?
我不知道如何实现,因为任何人都可以将这些图表嵌入他们的网站。
任何帮助我摆脱困境的想法将不胜感激。
如果你担心保护你的 js 代码,你可以尝试使用YUI 压缩器、UglifyJS或jScrambler来混淆它。但是,这些都不会 100% 保护您的代码。
由于您担心的是 FusionCharts 的数据,因此我会推荐以下内容。
setJSONUrl()
或setXMLUrl()
)假设在您的页面中有一个图表。呈现该图表的代码有点像:
var myChart = new FusionCharts({
type: "column2d",
dataSource: "http://my-domain.com/datafolder/datafile.json",
dataFormat: "jsonurl",
renderAt: "my-chart-container-div"
}).render();
请注意,数据是通过 JSON(您可以选择 XML)格式从 URL 获取的。(这篇关于为您的数据使用 JSON url 的FusionCharts 文档应该会有所帮助。)现在,您可以限制可以引用此datafile.json
URL 的源网站(域)。.htaccess
在基于 PHP 的服务器中,使用文件非常容易。设置.htaccess
非常简单,并且有许多在线资源可以帮助您入门。您可以在http://www.htaccess-guide.com/deny-visitors-by-referrer/找到更多相关信息
例如,您可能.htaccess
在目录中拥有如下所示的文件datafolder
:
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} otherdomain\.com [NC,OR]
RewriteCond %{HTTP_REFERER} anotherdomain\.com
RewriteRule .* - [F]
上述规则将授予访问otherdomain.com
和anotherdomain.com
链接到您在datafolder
.