有没有办法隐藏通过事件侦听器传递的“全局”变量的值,同时仍然让脚本运行?

我正在 OctoberCMS 上创建一个插件,用户可以在其中将代码输入到插件设置菜单中的字段中。我已将此输入保存到一个全局变量中,该变量已粘贴在页面的模板上。


在 Plugin.php 中,将其保存到全局变量中的代码:


 public function boot()

{

    Event::listen('cms.page.beforeDisplay', function($controller, $url, $page) {


        $settings = Settings::instance();


        $script = $settings->script; 


        $controller->vars['script'] = $script;

    });

}

在 template.htm 中,调用标签中的变量:


{{ script | raw }}

然后在检查页面时显示输入的代码。


我的问题是,有没有办法隐藏变量的实际值但脚本仍然运行?因此,任何查看该网站的用户都无法“检查”它并查看脚本是什么。谢谢


RISEBY
浏览 91回答 1
1回答

慕工程0101907

如果您想像 Google Analytics 脚本那样做,那么您需要制作脚本文件。your-javascript-file.js现在将其托管在其他域或同一站点的任何位置并复制其 url。现在在$settings->script这个变量的设置中,你可以从后端设置中设置值。<script&nbsp;src="https://your_site/something/your-javascript-file.js"></script>所以在你的网页中它会显示一些 ^ 这样的东西,但不是实际的代码。用户需要进一步挖掘才能看到实际代码。但是,是的in your web-page's source code only this single line will appear not js code it self.如有任何疑问,请发表评论。
打开App,查看更多内容
随时随地看视频慕课网APP