我正在寻找一个JavaScript混淆器。虽然我已经找到了许多混淆器,但迄今为止没有一个能够处理(即忽略)内联php代码。以下是我所说的内联php代码示例:
var my_javascript_variable = <?php echo $my_php_variable; ?>;
这是否有可能进行混淆,如果可以,是否有相关工具可用?
我正在寻找一个JavaScript混淆器。虽然我已经找到了许多混淆器,但迄今为止没有一个能够处理(即忽略)内联php代码。以下是我所说的内联php代码示例:
var my_javascript_variable = <?php echo $my_php_variable; ?>;
这是否有可能进行混淆,如果可以,是否有相关工具可用?
我不知道有哪些混淆器能够做到这一点,但您可以简单地使您的JavaScript代码引用一个配置对象而不是PHP代码。然后,您可以混淆主要的JavaScript代码,例如:
// Config object with anything that has to be assigned through PHP
var Config = { 'foo': '<?php echo $foo?>' }
// and some obfuscated code that uses the Config object
var _0x76dc=["\x66\x6F\x6F"];alert(Config[_0x76dc[0]]);
将内联的PHP和JavaScript运行到ob_start()中;
在<script>标签内部的JavaScript开头插入ob_start();
<?php ob_start(); ?>
您的内联php和javascript代码放在这里
在您想要结束内联php和javascript加密的位置插入ob_get_clean();
<?php $jsCode = ob_get_clean(); ?>
Google Closure 编译器可以做到这一点。它不会修改字符串。因此
var my_javascript_variable = "<?php echo $my_php_variable; ?>";
或者
var my_javascript_variable = Number("<?php echo $my_php_variable; ?>");
(对于整数)将起作用。
你可以将PHP变量替换为其他内容,例如_thisismyphpdontmoveit,然后使用_thisismyphpdontmoveit混淆代码。混淆后,您可以按Ctrl + F搜索_thisismyphpdontmoveit并将其替换为您的PHP变量。 这是我用内联PHP混淆JavaScript的方法,我不知道它是否适用于您,但其中一些对我有效。