- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 Laravel 框架上工作了很短的时间,完成网站后,我愿意使用 Ioncube 对其进行编码 - 但我面临 Ioncube 无法在编码和输出之前将 Blade 模板引擎代码转换为 PHP 代码的问题编码为 HTML 普通文本。
最佳答案
Laravel 的 Blade 模板文件不是真正的 PHP 代码,因此 ionCube 编码器无法正确编码它们;但是,编码器还提供文件加密,这可能对您的情况有所帮助,但它确实需要一些设置:
在 Laravel 中,修改读取 Blade 模板文件的模块,替换 file_get_contents(<blade template files>)
与 ioncube_read_file(<blade template_files>)
.
在我的 Laravel 4 安装中,似乎可以在 vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php
中找到负责加载和编译 Blade 模板的文件。 ,第 62 行:$contents = $this->compileString($this->files->get($path));
.
在这里,$this->files->get($path)
“只是”一个 file_get_contents($path)
通过一些错误处理 - 您可以在 bootstrap/compiled.php
中找到此函数.但是,您应该能够替换 BladeCompiler.php
中的行与:
$contents = $this->compileString(ioncube_read_file($path));
或(如果您使用密码):
$passphrase = "<my passphrase>";
$contents = $this->compileString(ioncube_read_file($path, $is_encrypted, $passphrase));
请注意,您可能希望确保文件中的密码是安全的。您可以在 User Guide 中找到有关这些功能的更多信息第 54 页。
获取ioncube_read_file
工作,您将需要对修改后的模块进行编码。此外,对应用程序的其余部分进行编码,Blade 模板文件除外。
加密(不是编码!)您的 Blade 模板文件,通常以 .blade.php
结尾, 和 - 如果您使用密码 - 确保它与用于 ioncube_read_file
的密码相匹配.
还请记住,这将从您的加密文件生成标准 PHP 文件,因为该文件已编译并以纯文本形式写回缓存。如果你想改变它可能值得研究 User Guide ,页。 54 并覆盖/扩展适当的方法 bootstrap/compiled.php
例如 get
和 put
检测文件是否加密,并在需要时写入加密文件。
我还应该提一下,因为在 ionCube HelpDesk 上经常有人问这个问题:尽管进行了所有编码和加密,HTML 和 JavaScript 代码将以原始方式显示给所有客户查看。我只提到这一点,因为保护您的模板文件需要付出很多努力,这些文件在大多数情况下确实主要由 HTML 代码组成。它确实使任何修改变得非常困难(例如 Logo 删除),但这些事情可能也可以通过一些自定义 CSS 来实现。
关于php - Laravel 与 ioncube 和编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29070592/
我现在正在开发一个 php 项目(Internet Shop),该项目可能会处理存储本地客户信用卡信息的问题。所以我在考虑用 IonCube 加密 php 文件,特别是那些包含设置(加密/解密 key
PHP本身没有带有ionCube loader模块, 必须到ionCube网站下载。ionCube loader是免费的,但是Encoder的价格就比较昂贵(起价$199)。 下面要介绍如何在Li
我有一个运行 Vesta cp 的 VPS(带有 OVH.com)。我最近成功安装了 IonCube Loader(用于运行 boxbilling)。 我相信正是因为这个原因,我的命名服务现在无法重新
Ioncube 加载器突然停止工作。 phpinfo()显示没有加载 Ioncube,打开 display_errors 后网站显示 HTML-500 错误“redirected you too ma
我正在尝试在我的在 centos 6 64 位上运行的 VPS 上安装 ioncube 加载程序,但无法让它工作,不知道为什么加载程序被禁用 [root@server ~]# php -v PHP W
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我正在尝试按照Using Custom PHP Extensions in Windows Azure Web Sites下的说明进行操作为在 Azure 网站中运行的 PHP 启用 ionCube
我正在尝试 Dockerize 使用 IonCube 加密的 PHP 应用程序。 该应用程序独立于 IonCube 运行良好,当我尝试使用精简图像(Docker、Alpine、PHP7.0)对其进行
我正在尝试按照Using Custom PHP Extensions in Windows Azure Web Sites下的说明进行操作为在 Azure 网站中运行的 PHP 启用 ionCube
我一直在寻找答案,并且尝试了一些答案,但似乎不起作用,当我使用需要 IONCUBE 加载程序的类时,它一遍又一遍地给我带来同样的错误。 Site error: the file C:\wamp\www
我花了一个小时的大部分时间来寻找这个问题的明确答案。我需要使用的脚本需要启用 IonCube 加载器,我已经非常喜欢 APC。 如果在同一台服务器上同时启用两者,我会遇到什么问题吗? 最佳答案 我刚刚
我在 Laravel 框架上工作了很短的时间,完成网站后,我愿意使用 Ioncube 对其进行编码 - 但我面临 Ioncube 无法在编码和输出之前将 Blade 模板引擎代码转换为 PHP 代码的
我正在使用以下代码: 我只是担心这不会在所有启用了 IonCube 的服务器上都有效。这看起来很标准,但我以前从来不需要检查。这是最好的检查方法,还是我应该使用更好的方法? 最佳答案 如果没有安装扩
我正在尝试使用 ioncube 为 Unix 系统提供的“make_license”生成器生成 ioncube 许可证。它适用于我的桌面 Ubuntu 系统,但不适用于我的 CentOS 网络服务器。
我正在使用 ioncube 来编码我的脚本。 但我不知道服务器上安装的加载程序版本。 是否有任何方法、任何代码或任何函数来显示 IONCUBE 的确切版本 加载程序版本? 最佳答案 这是一个老问题,但
我正在安装 ionCube,但是 ionCube 的 php 配置缺少 zend_extension,但没有具体说明是什么 我在 CentOs 上工作 一切顺利谢谢:) 最佳答案 我错过了一些事情 S
Ioncube loader 我在我的服务器上安装在目录/usr/local/IonCube 是ioncube_loader_lin_5.4.so 文件,这个设置在php.ini 中,但是我想加密一个
使用以下命令在基于 Ubuntu 13.10 x64 的 NGINX、PHP-FPM (5.5) 堆栈上安装了最新的 ioncube 加载程序 cd /usr/local sudo wget http
我想要 ionCube PHP Loader 在 Azure 网站上运行 php 脚本?我能怎么做 ? ,请帮助我。 最佳答案 一般来说,如果你可以安装自己的二进制扩展,那么应该没有问题。最好查阅 A
当我输入 zend_extension_ts="path/to/ioncube_loader_win_5.2.dll" 或 zend_extension_ts="path/to/php_xdebug.
我是一名优秀的程序员,十分优秀!