Ruby on Rails -检查资产(.js)加载

idfiyjo8  于 2023-04-29  发布在  Ruby
关注(0)|答案(2)|浏览(92)

我正在构建一个应用程序,我给予我的客户一个.js文件,这样他们就可以包括到<head></head>.js文件是提供一些功能,我的客户网站。
基本上,.js文件是show.js.erb视图的路径。我正在寻找保护我的代码,并寻找一种方法,使客户端/用户不能只是在他们的浏览器上加载http://localhost:3000/js_files/2.js路径,并看到代码。
每个客户端都有不同的ID(.js路径)和不同的网站,我可以从我的db检测到。有没有办法让我看看文件/路径是从我的客户网站加载,如果加载/显示js代码,否则不显示任何东西。
换句话说,一种检查文件是否加载在ex上的方法: www.example.com 或如果他们只是复制路径到他们的浏览器。
我读过关于混淆的书,但它对我来说没有用。

pokxtpni

pokxtpni1#

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

request.base_url helper:

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

  • 例如:* http://domain.com/q/45/rails=〉domain.com
  • 这是我的代码:*
<% if request.base_url == @domain.website %>
// JS CODE
<% end %>
eni9jsuy

eni9jsuy2#

如果我理解正确的话,你想检查你的客户是否在他们的资产上复制了js文件,或者他们是否在脚本SRC属性上使用你的域。
你觉得这样有用吗

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

相关问题