有没有办法隐藏通过事件侦听器传递的 'global' 变量的值,同时仍然让脚本 运行?
Is there a way to hide the value of a 'global' variable passed through Event listener, while still letting the script run?
我正在 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 }}
然后在检查页面时显示输入的代码。
我的问题是,有没有办法隐藏变量的实际值,但脚本仍然 运行?这样任何查看该网站的用户都无法 'inspect' 它并查看脚本是什么。谢谢
如果您想像 Google Analytics 脚本那样做,那么您需要制作脚本文件。
your-javascript-file.js
now host it anywhere on other domain or on same site and copy its 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.
如有疑问请评论。
我正在 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 }}
然后在检查页面时显示输入的代码。
我的问题是,有没有办法隐藏变量的实际值,但脚本仍然 运行?这样任何查看该网站的用户都无法 'inspect' 它并查看脚本是什么。谢谢
如果您想像 Google Analytics 脚本那样做,那么您需要制作脚本文件。
your-javascript-file.js
now host it anywhere on other domain or on same site and copy its 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.
如有疑问请评论。