如何通过 ioncube 对 Laravel 刀片文件进行编码/加密

Posted

技术标签:

【中文标题】如何通过 ioncube 对 Laravel 刀片文件进行编码/加密【英文标题】:How to encode/encrypt Laravel blade file by ioncube 【发布时间】:2019-07-19 05:11:57 【问题描述】:

我正在尝试对我的 Laravel 项目进行编码,但不幸的是,Laravel 刀片模板不是纯 php .. 所以 ioncube 编码器/阅读器无法正确编码。

我已经尝试过here 和here 提到的这些方法,但是我的视图文件没有完全编码......或者没有按照我想要的方式工作(或者我没有正确理解它)。

所以任何人都可以帮助我并告诉我一步一步地清除。

这些是我在blade.php 文件中的一些不可编码的文件。

@php
    // alignment direction according to language
    $dir = "ltr";
    $rtlLang = ['ar'];
    if(in_array(getOption('language'),$rtlLang)):
        $dir="rtl";
    endif;

@endphp


!! getOption('home_page_meta') !!
  <title>@yield('title')</title>

  @endif

     csrf_field() 


     getOption('currency_symbol') . number_format(Auth::user()->funds,2, getOption('currency_separator'), '') 

【问题讨论】:

请对我进行事实检查,但据我所知,laravel 获取刀片文件并从中缓存 php 文件。所以我猜你可以专注于那里?...或关闭缓存...?我用过 ioncube,但没有用 laravel。我对他们都很了解,我建议不要打扰这些观点。只需对业务逻辑、控制器、服务等进行编码 - 然后保持视图非常简单且非专有,因此不需要对其进行编码。 Ion cube 将混合运行编码和非编码文件。 ^ 你的视图文件不应该包含任何值得编码的东西。除了一些循环和 getter 之外,这将是客户端可以在其浏览器源代码中看到的内容.. 是的,我明白你在说什么,但我也需要保护我的视图代码,因为我刚刚为我的项目视图构建了一个新的设计(主题),我将把它发布给我的用户作为新主题,但不幸的是之前我发布了一个主题,但用户只是相互复制文件,而不是从我这里购买......所以,这就是我需要保护我的代码的原因.. 如果我可以将这种 getOption 添加到视图文件中,那就太好了 => getOption('app_name') 编码如何防止这种情况发生?您无法防止用户复制文件。即使它们被编码,它们仍然可以复制并发送它们。 【参考方案1】:

终于我有了一个想法并且它奏效了(没有人建议)

您可以通过原始代码轻松地对刀片进行编码,例如: getOption() to &lt;?php echo e(getOption()); ?&gt;。和@if 作为&lt;php if; ?&gt;

@section('title', getOption('app_name') . ' - Login')&lt;?php $__env-&gt;startSection('title', getOption('app_name') . ' - login'); ?&gt; 一样。现在你可以编码任何刀片模板文件或 laravel 项目。

希望这有帮助。现在我已经从小偷那里保存了我的模板文件。

【讨论】:

以上是关于如何通过 ioncube 对 Laravel 刀片文件进行编码/加密的主要内容,如果未能解决你的问题,请参考以下文章

laravel 刀片 - 如何隐藏特定路线的 html 元素的显示

如何通过 Laravel 刀片在数组内打印数组?

markdown IONCUBE Laravel项目编码步骤

如何防止访问laravel刀片中的数据库和资源?

如何在控制器传递变量(laravel)中使用刀片进行 foreach

在刀片中显示 laravel DB::select 数组