Ruby on Rails - 检查资源(.js)的加载位置

时间:2016-10-14 14:19:08

标签: javascript ruby-on-rails ruby protection

我正在构建一个应用程序,我给我的客户一个.js文件,这样他们就可以包含在<head></head>中,而.js文件正在为我的客户网站提供一些功能。

基本上.js文件是show.js.erb视图的路径。我正在寻找保护我的代码并寻找方法,以便客户/用户只需在浏览器上加载http://localhost:3000/js_files/2.js路径并查看代码。

每个客户都有不同的ID(.js路径)和不同的网站,我可以从db检测到。有没有办法,所以我看到文件/路径是从我的客户网站加载,如果加载/显示js代码,否则没有显示任何内容。

换句话说,检查是否为ex:mydomain.com加载了文件,或者只是将路径复制到浏览器中。

我已阅读混淆,但在我的情况下它没用。

2 个答案:

答案 0 :(得分:1)

您可以使用request.base_url并从数据库获取用户域名。

request.base_url helper:

基本上request.base_url,只接受域名并删除所有其他部分。

例如: http://domain.com/q/45/rails =&gt; domain.com

这是我的代码:

<% if request.base_url == @domain.website %>
// JS CODE
<% end %>

答案 1 :(得分:0)

如果我理解正确,您想要检查您的客户是否在其资产上复制了js文件,或者他们是否在脚本SRC属性上使用您的域。

您认为这样的事情可能有用吗?

  • 在您的JS

  • 上添加XHR get / post到您的域名
  • 您的域收到请求并处理XHR的引用(您可以通过request.env["HTTP_REFERER"]检查您的控制器)