您现在的位置是:首页 > 其他

PHP加密PHP文件代码方法 encode_file_contents

李清波2017-04-14其他


方法代码:

<?php
function encode_file_contents($filename) {
	$type=strtolower(substr(strrchr($filename,'.'),1));
	if ('php' == $type && is_file($filename) && is_writable($filename)) { // 如果是PHP文件 并且可写 则进行压缩编码
		$contents = file_get_contents($filename); // 判断文件是否已经被编码处理
		$contents = php_strip_whitespace($filename);

		// 去除PHP头部和尾部标识
		$headerPos = strpos($contents,'<?php');
		$footerPos = strrpos($contents,'?>');
		$contents = substr($contents, $headerPos + 5, $footerPos - $headerPos);
		$encode = base64_encode(gzdeflate($contents)); // 开始编码
		$encode = '<?php'."\n eval(gzinflate(base64_decode("."'".$encode."'".")));\n\n?>";

		return file_put_contents($filename, $encode);
	}
	return false;
}

?>


使用方法

//调用函数
$filename = 'test.php';    //需要加密的文件完整路径
encode_file_contents($filename);
echo "OK,加密完成!"



test.php原代码:

<?php
	echo 1;
?>


加密后

<?php
 eval(gzinflate(base64_decode('41JITc7IVzC0VrC3AwA=')));
?>

以上只是简单的文件加密,大家也可以参考以上方法完善和修改里面的加密规则

评论