我开始了解Grunt,试图对我的测试php文件进行一些模糊处理。
这里是原始代码,只是一个简单的hello world
<?php
echo 'hello world';
使用grunt-hazy进行混淆:
<?php eval("?>".base64_decode("PD9waHANCmVjaG8gJ2hlbGxvIHdvcmxkJzs=")."<?"); ?>
错误:
Parse error: syntax error, unexpected '<' in D:\Projects\Grunter\hazed\index.php(1) : eval()'d code on line 2
这是我的Gruntfile
module.exports = function(grunt){
grunt.initConfig({
hazy: {
php: {
expand: true,
cwd: '',
dest: 'hazed',
src: [ '*.php' ]
}
},
watch: {
scripts: {
files: ['*.php'],
tasks: ['hazy']
}
}
});
grunt.loadNpmTasks('grunt-hazy');
grunt.loadNpmTasks('grunt-contrib-watch');
};
我做错了什么?这是插件的错误吗?
答案 0 :(得分:4)
查看通过eval运行的已解码代码,您就可以了。
?><?php
echo 'hello world';<?
正如您所看到的,您关闭了一个PHP标记,然后它打开一个新标记,回显一些文本,然后尝试打开另一个标记而不关闭第一个标记。
如果您尝试在测试脚本中添加一个结束的PHP标记,我猜它会正常工作。