Login
网站首页 > 文章中心 > 其它

php源码之file_php源码之家

作者:小编 更新时间:2023-08-02 08:26:30 浏览量:354人看过

请教php源码加密及解密问题

注意,加密后的PHP代码无需第三方工具解密,像往常一样,直接运行即可.

复制代码 代码如下:

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,'?');

return false;

}

//调用函数

$filename = 'dam.php';

encode_file_contents($filename);

echo "OK,加密完成!"

function RandAbc($length = "") { // 返回随机字符串$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";return str_shuffle($str);

$filename = 'index.php'; //要加密的文件

$T_k1 = RandAbc(); //随机密匙1

$vstr = file_get_contents($filename);

$q1 = "O00O0O";

//echo $s;

// 生成 加密后的PHP文件

$fpp1 = fopen('temp_'.$filename, 'w');

fwrite($fpp1, $s) or die('写文件错误');

其实,PHP加密源码方式有很多,譬如,免费的微盾PHP加密,还有 搞的在线加密,只是phpjm更复杂点而已.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++另外,分享一个 PHP类,它能对 文本的内容进行 二进制加密 与 解密,代码如下:

class text_auth

{

var $n_iter;

function text_auth()

function setIter($n_iter)

$this-n_iter = $n_iter;

function getIter()

return $this-n_iter;

function encrypt($data, $key)

$data_long[0] = $n;

if (($n 1) == 1) {

$data_long[$n] = chr(0);

$n_data_long++;

if ( '' == $key )

$key = '0000000000000000';

$w = array(0, 0);

$j = 0;

$k = array(0, 0, 0, 0);

for ($i = 0; $i $n_data_long; ++$i) {

$k[0] = $key_long[$j];

$k[1] = $key_long[$j + 1];

} else {

$k[0] = $key_long[$j % $n_key_long];

return $enc_data;

function decrypt($enc_data, $key)

$w = array(0, 0);

$j = 0;

$len = 0;

$k = array(0, 0, 0, 0);

$pos = 0;

$this-_decipherLong($enc_data_long[$i], $enc_data_long[$i + 1], $w, $k);if (0 == $i) {

$len = $w[0];

return $data;

function _encipherLong($y, $z, $w, $k)

$sum = (integer) 0;

$n = (integer) $this-n_iter;

while ($n-- 0) {

$y = $this-_add($y,

$sum = $this-_add($sum, $delta);

$z = $this-_add($z,

$w[0] = $y;

$w[1] = $z;

function _decipherLong($y, $z, $w, $k)

function _resize($data, $size, $nonull = false){

$n = strlen($data);

$nmod = $n % $size;

if ( 0 == $nmod )

$nmod = $size;

if ($nmod 0) {

if ($nonull) {

for ($i = $n; $i $n - $nmod + $size; ++$i) {$data[$i] = $data[$i % $n];

for ($i = $n; $i $n - $nmod + $size; ++$i) {$data[$i] = chr(0);

return $n;

$len = strlen($str);

return pack('H' . $len, $str);

$n = strlen($data);

$tmp = unpack('N*', $data);

$j = $start;

foreach ($tmp as $value)

$data_long[$j++] = $value;

return $j;

return pack('N', $l);

function _rshift($integer, $n)

if (0xffffffff $integer || -0xffffffff $integer) {$integer = fmod($integer, 0xffffffff + 1);}

$integer -= 0xffffffff + 1.0;

$integer += 0xffffffff + 1.0;

if (0 $integer) {

$integer = $n;

return $integer;

$result = 0.0;

foreach (func_get_args() as $value) {

if (0.0 $value) {

$value -= 1.0 + 0xffffffff;

$result += $value;

if (0xffffffff $result || -0xffffffff $result) {$result = fmod($result, 0xffffffff + 1);

$result -= 0xffffffff + 1.0;

$result += 0xffffffff + 1.0;

return $result;

使用方法参考如下:

// 加密过程

view sourceprint?

$str = @file_get_contents($text_file);

require_once S_ROOT . "./text_auth.php";

// 解密过程

view sourceprint

file_put_contents($filename, $str);

php获取网页源码内容有哪些办法

可以参考以下几种方法:

方法一: file_get_contents获取

span style="white-space:pre"?/span$url="";

span style="white-space:pre"?/span$fh= file_get_contents

('');span style="white-space:pre"?/spanecho $fh;

方法二:使用fopen获取网页源代码

span style="white-space:pre"?/span$handle = fopen ($url, "rb");

span style="white-space:pre"?/span$contents = "";

span style="white-space:pre"?/spanwhile (!feof($handle)) {

span style="white-space:pre"?/span}

span style="white-space:pre"?/spanfclose($handle);

span style="white-space:pre"?/spanecho $contents; //输出获取到得内容.

方法三:使用CURL获取网页源代码

$url="";

$curl = curl_init();?//创建一个新的CURL资源

curl_setopt($curl, CURLOPT_URL, $url);?//设置URL和相应的选项

curl_setopt($curl, CURLOPT_HEADER, 0);? //0表示不输出Header,1表示输出

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);?//设定是否显示头信息,1显示,0不显示.//如果成功只将结果返回,不自动输出任何内容.如果失败返回FALSE

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

curl_setopt($curl, CURLOPT_ENCODING, '');?//设置编码格式,为空表示支持所有格式的编码

//header中"Accept-Encoding: "部分的内容,支持的编码格式为:"identity","deflate","gzip".

curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

//设置这个选项为一个非零值(象 "Location: ")的头,服务器会把它当做HTTP头的一部分发送(注意这是递归的,PHP将发送形如 "Location: "的头).

$data = curl_exec($curl);

echo $data;

//echo curl_errno($curl); //返回0时表示程序执行成功

curl_close($curl);?//关闭cURL资源,并释放系统资源

拓展资料

PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域.PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法.它可以比CGI或者Perl更快速地执行动态网页.

用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快.

参考资料:PHP(超文本预处理器)-百度百科

php获取网页源码内容有哪些办法?

①.、使用file_get_contents获得网页源代码.这个方法最常用,只需要两行代码即可,非常简单方便.

所谓的网页代码,就是指在网页制作过程中需要用到的一些特殊的"语言",设计人员通过对这些"语言"进行组织编排制作出网页,然后由浏览器对代码进行"翻译"后才是我们最终看到的效果.

制作网页时常用的代码有HTML,JavaScript,ASP,PHP,CGI等,其中超文本标记语言(标准通用标记语言下的一个应用、外语简称:HTML)是最基础的网页代码.

php源码怎么加密

第一段:无需任何PHP扩展的加密

此类加密的代表有 威盾PHP加密专家、PHP在线加密平台、PHP神盾 等.

此类加密都是以eval函数为核心,辅以各式各样的字符串混淆和各种小技巧,来达到加密目的(更准确的说,应该算是混淆).下面以一个简单的hello world为例来说明此类加密的大体过程.

echo "hello world";

首先 ,我们把这段代码变为通过eval执行的

eval('echo "hello world";');

就这样子,我们的第一个加密过的php代码新鲜出炉了...

上面这个例子非常非常简单,基本上任何有一点php语言基础甚至别的语言基础的人都能轻松的看懂并解密.所以呢,我们需要一些方法让这个加密至少看上去不是那么简单.

第二段:同时采用多种编码函数

这儿所说的特定字符是一些极其相似的字符,如I和1,0和O.试想一下满屏都是O和0组成的变量,并且每一个的名字长度都在10个字符以上... 判断文件自身是否被修改

这个功能看似容易,对文件做一下摘要再进行下对比即可知道是否被修改了,但是如何才能在文件内把摘要嵌入进去呢?我没有找到完美的方案,但一个变通的方案还是很容易的...

exit('file edited');

当然,你可以把这个校验字符串放在别的位置来提高破解的难度.有了这个,别人想破解你的程序可就得多费一点功夫了...

既然知道了原理,那解密自然也就非常简单了,总体来说就三步:

把eval替换为输出,比如echo 根据编码规则把字符串还原 如果文件未解密完全,从第一步开始继续

php用户注册源码,及file_get_contents json_decode的用法~ 能帮忙解决加送200分

我猜,他不一定是将那些内容加密,有可能是将数据,使用系统自定义的json函数将其格式话而已.这样方便服务器端的动态语言与js交互.

json_decode就是将字符串变回数据集(如数组之类),翻翻帮助手册.

你想通过file_get_contents来拿那个列表,我到那里观察下,我觉得应该口口他的js,看清楚怎么拿到数据再下手,你提问中的地址,用这种方法拿不到数据吧?

我这里讨论下,好像对你没太大帮助,唉,水平有限.

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章