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

问题描述 投票:0回答:1

我正在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 }}

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

我的问题是,是否有办法隐藏变量的实际值,但脚本仍能运行?这样,所有查看该网站的用户将无法“检查”该网站并查看其脚本是什么。谢谢

php octobercms
1个回答
0
投票

如果您想做Google Analytics(分析)脚本,那么您需要制作脚本文件。

[your-javascript-file.js现在将其托管在其他域或同一站点上的任何位置,并复制其URL。

现在在此变量的设置$settings->script中,可以从后端设置类似的值。

<script 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.

如有任何疑问,请发表评论。

© www.soinside.com 2019 - 2024. All rights reserved.