>  기사  >  php教程  >  批量加密php文件,无需第三方插件

批量加密php文件,无需第三方插件

PHP中文网
PHP中文网원래의
2016-05-25 17:05:322353검색

经常加密php的主要是zend和PHP Screw,这些都需要安装插件。如果是小网站,这样加密也可以。前面有人介绍过。我只是做个批处理,批量加密。一定注意备份

1.jiami.php

<?php
   
     function RandAbc($length=""){//返回随机字符串
  
   
    $str="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    return str_shuffle($str);
    
  }
 echo $file=$_SERVER["argv"][1]; 
 if (!empty($file)){
 $filepath=$file;
 $path_parts= pathinfo($filepath);
 $filename=$path_parts["basename"];
 
 $T_k1=RandAbc();//随机密匙1
 
 $T_k2=RandAbc();//随机密匙2
 
  
 $vstr=file_get_contents($filename);//要加密的文件 
  
 $v1=base64_encode($vstr);
  
 
 $c=strtr($v1,$T_k1,$T_k2);//根据密匙替换对应字符。
  
  
 $c=$T_k1.$T_k2.$c;
  
  
 $q1="o0o0o00ll11l1";
 $q2="lll1ll1l1l1l1";
 $q3="o0ooo0o0o0ooo0";
 $q4="o0o0o0ooo0o0";
 $q5="ll1ll1l1l1l1l";
 $q6="ll11l1l1l1ll1";
 $s=&#39;$&#39;.$q6.&#39;=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$&#39;.$q1.&#39;=$&#39;.$q6.&#39;{3}.$&#39;.$q6.&#39;{6}.$&#39;.$q6.&#39;{33}.$&#39;.$q6.&#39;{30};$&#39;.$q3.&#39;=$&#39;.$q6.&#39;{33}.$&#39;.$q6.&#39;{10}.$&#39;.$q6.&#39;{24}.$&#39;.$q6.&#39;{10}.$&#39;.$q6.&#39;{24};$&#39;.$q4.&#39;=$&#39;.$q3.&#39;{0}.$&#39;.$q6.&#39;{18}.$&#39;.$q6.&#39;{3}.$&#39;.$q3.&#39;{0}.$&#39;.$q3.&#39;{1}.$&#39;.$q6.&#39;{24};$&#39;.$q5.&#39;=$&#39;.$q6.&#39;{7}.$&#39;.$q6.&#39;{13};$&#39;.$q1.&#39;.=$&#39;.$q6.&#39;{22}.$&#39;.$q6.&#39;{36}.$&#39;.$q6.&#39;{29}.$&#39;.$q6.&#39;{26}.$&#39;.$q6.&#39;{30}.$&#39;.$q6.&#39;{32}.$&#39;.$q6.&#39;{35}.$&#39;.$q6.&#39;{26}.$&#39;.$q6.&#39;{30};eval($&#39;.$q1.&#39;("&#39;.base64_encode(&#39;$&#39;.$q2.&#39;="&#39;.$c.&#39;";eval(\&#39;?>\&#39;.$&#39;.$q1.&#39;($&#39;.$q3.&#39;($&#39;.$q4.&#39;($&#39;.$q2.&#39;,$&#39;.$q5.&#39;*2),$&#39;.$q4.&#39;($&#39;.$q2.&#39;,$&#39;.$q5.&#39;,$&#39;.$q5.&#39;),$&#39;.$q4.&#39;($&#39;.$q2.&#39;,0,$&#39;.$q5.&#39;))));&#39;).&#39;"));&#39;;
  
 $s=&#39;<?
 &#39;.$s.
&#39;
  ?>&#39;;
  
 echo $s;
 //生成 加密后的PHP文件
 
 $fpp1 = fopen($filepath,&#39;w&#39;);
 fwrite($fpp1,$s) or die(&#39;写文件错误&#39;);
 echo &#39;加密成功!&#39;;
 }

2.d.bat

@echo off & setlocal EnableDelayedExpansion
for /f "delims=" %%i in (&#39;"dir /a/s/b/on *.php"&#39;) do (
set file=%%~fi
set 不要这行file=!file:%cd%/=!
set file=!file:/=/!
E:\\websystem\\phpnow\\php-5.2.14-Win32\\php.exe E:\\websystem\\phpnow\\htdocs\\sme.bak\\jiami.php !file!
echo !file!
echo !file! >> 内容.txt
)
pause
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.