php加密

介绍三种PHP加密解密算法

匿名 (未验证) 提交于 2019-12-02 22:10:10
PHP加密解密算法 这里主要介绍三种常用的加密解密算法: 方法一: 1 /** 2 * @param $string 要加密/解密的字符串 3 * @param string $operation 类型,ENCODE 加密;DECODE 解密 4 * @param string $key 密匙 5 * @param int $expiry 有效期 6 * @return string 7 */ 8 function authcode($string, $operation = 'DECODE', $key = 'encrypt', $expiry = 0) 9 { 10 // 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙 11 $ckey_length = 4; 12 // 密匙 13 $key = md5($key ? $key : $GLOBALS['discuz_auth_key']); 14 // 密匙a会参与加解密 15 $keya = md5(substr($key, 0, 16)); 16 // 密匙b会用来做数据完整性验证 17 $keyb = md5(substr($key, 16, 16)); 18 // 密匙c用于变化生成的密文 19 $keyc = $ckey_length ? ($operation == 'DECODE' ? substr(

PHP 简介

送分小仙女□ 提交于 2019-12-02 11:53:37
您应当具备的基础知识 在继续学习之前,您需要对以下知识有基本的了解: HTML CSS 如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。 PHP 是什么? PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言。 PHP 脚本在服务器上执行。 PHP 可免费下载使用。 PHP 对初学者而言简单易学。 PHP 也为专业的程序员提供了许多先进的功能。 PHP 文件是什么? PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码 PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器 PHP 文件的默认文件扩展名是 ".php" PHP 能做什么? PHP 可以生成动态页面内容 PHP 可以创建、打开、读取、写入、关闭服务器上的文件 seo攻略 PHP 可以收集表单数据 PHP 可以发送和接收 cookies PHP 可以添加、删除、修改您的数据库中的数据 PHP 可以限制用户访问您的网站上的一些页面 PHP 可以加密数据 通过 PHP,您不再限于输出 HTML。您可以输出图像、PDF 文件,甚至 Flash 电影。您还可以输出任意的文本,比如 XHTML 和 XML。 为什么使用 PHP? PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)

怎么学习PHP

我只是一个虾纸丫 提交于 2019-12-02 11:24:57
学习PHP有半个月了。每天都要打代码and写笔记。学过C和Java,在学习PHP的过程中比较顺利吧 (^-^) 代码打得越多,运行得越多,慢慢得会对程序理解得越深。下面就讲讲我学习PHP的心得。 PHP入门很容易,语法很简单,但我不说PHP很容易。难易都是相对的,相对于Java来说PHP确实要简单些,但也不是花一点时间就可以学好的。先了解一下PHP是什么?PHP能做什么?为什么选择学习PHP呢?如果以后想走PHP,就努力专一花大量的时间深学它,不要有这种精几门编程语言的心态。 最开始学习PHP的时候应该搭建一个LAMP或者WAMP环境。虽然网上有很多集成环境,安装也很方便,但我还是选择的自己搭建PHP环境。我觉得手动搭建环境比较灵活,对整个环境也会有更深的理解,对后期的学习也有帮助吧。当看见浏览器出现It works!,还是挺高兴的 o(≧v≦)o~~ 然后学习PHP的基础知识和技术。这些知识大概有语言基础、字符串、数组、正则表达式、与web页面交互、加密、面向对象、会话等等,花了几天的时间来学习。不管学什么语言,基础都是最重要的。在语法上感觉php跟javascript也有一些相似之处。随着学习的知识不断增多,不懂的问题也开始出现,一直有写笔记的习惯。主要是一些自己的总结,收藏的博客,重复代码块等等。 再接下来接触到数据库。PHP支持多种数据库,尤其与MySQL关系最好

php 伪协议

拈花ヽ惹草 提交于 2019-12-01 22:59:43
最近在做ctf的时候,碰见了好几次关于php伪协议的妙用,所以通过学习整理出相关知识 文档: http://cn2.php.net/manual/zh/wrappers.php.php#refsect2-wrappers.php-unknown-descriptioo php伪协议,事实上是其支持的协议与封装协议 支持的种类有这12种 * file:// — 访问本地文件系统 * http:// — 访问 HTTP(s) 网址 * ftp:// — 访问 FTP(s) URLs * php:// — 访问各个输入/输出流(I/O streams) * zlib:// — 压缩流 * data:// — 数据(RFC 2397) * glob:// — 查找匹配的文件路径模式 * phar:// — PHP 归档 * ssh2:// — Secure Shell 2 * rar:// — RAR * ogg:// — 音频流 * expect:// — 处理交互式的流 先整理一下关于php://的用法 php:// PHP 提供了一些杂项输入/输出(IO)流,允许访问 PHP 的输入输出流、标准输入输出和错误描述符, 内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源的过滤器。 php://stdin, php://stdout 和 php://stderr php:/

Centos安装php高版本

房东的猫 提交于 2019-12-01 19:01:42
Centos系统自带的php版本很低,如果我们需要使用高版本的php,可以不用编译安装,直接用yum安装会非常省时省力。 简介 PHP(超文本预处理器)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。 用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。 安装 1.检查当前是否有安装php rpm -qa|grep php 如果有安装PHP,那么请先删除这些安装包: yum remove php* 2.安装php源 Centos 5 安装php源: rpm -ivh http://mirror.webtatic.com/yum/el5/latest.rpm CentOs 6 安装php源: rpm -ivh http://mirror.webtatic.com/yum/el6/latest.rpm CentOs 7 安装php源和epel扩展源: rpm -ivh https://mirror.webtatic.com/yum/el7/epel-release

Ubuntu 19.04安装phpipam软件

佐手、 提交于 2019-12-01 12:17:24
1ftp下载xampp 2安装xampp chmod 777 sudo ./xampp.run 3,ftp phpipam.tar.gz 解压 、/opt/lampp/www/phpipam/ cp config.dist.php config.php 4 配置httpd.cnf 把目录的拒绝访问关闭, 修改默认目录为www/phpipam 5安装gmp: 安装 autoconf 和 m4 下载gmp安装包 编译安装gmp 下载php安装包, tar -xvf php-7.1.12.tar.xz cd /root/php-7.1.12/ext/gmp /opt/lampp/bin/phpize ./configure --with-php-config=/opt/lampp/bin/php-config make && make install /opt/lampp/bin/php -m | grep gmp /opt/lampp/lampp reloadapache reload apache 之前 记得在 php.ini里面 写extension="/opt/lampp/lib/php/extensions/no-debug-non-zts-20160303/gmp.so" 修改 root远程访问为% 。加密码。 来源: https://www.cnblogs.com

PHP 之源代码加密

ぃ、小莉子 提交于 2019-12-01 12:13:18
方式一: <?php /** * Created by PhpStorm. * User: Yang * Date: 2019/10/16 * Time: 10:25 */ class Encipher { private $_sourceFile = ''; private $_encodedFile = ''; private $_comments = array( 'Author: Yang', 'Email: 1017836267@qq.com' ); public function __construct($sourceFile, $encodeFile, $comments = array()) { !empty($sourceFile) && $this->_sourceFile = $sourceFile; !empty($encodeFile) && $this->_encodedFile = $encodeFile; !empty($comments) && $this->comments = (array)$comments; if (empty($this->_sourceFile) || !file_exists($this->_sourceFile)) { exit("Source file does not exist."); } if (empty(

PHP RSA签名

喜夏-厌秋 提交于 2019-12-01 11:45:26
签名算法: Setp.1 确定待签名参数 在请求参数列表中,除去sign参数外,其他需要使用到的参数皆是要签名的参数。 在通知返回参数列表中,除去sign参数外,凡是通知返回回来的参数皆是要签名的参数。 Setp.2 对参数进行排序 对于待签名的所有参数,需要根据参数名首字符字典顺序(ascii值大小)排序,若遇到相同首字符,则判断第二个字符,以此类推。 Setp.3 生成待签名字符串 将排序后的待签名参数以“&“符号拼接, 形如:“参数名1=参数值1&参数名2=参数值2&….&参数名N=参数值N”。 Setp.4 生成签名/验证签名 生成签名:把待签名字符串与商户的私钥一同放入RSA的签名函数中进行签名运算,从而得到签名结果字符串(sign值)。 验证签名:把待签名字符串、平台提供的公钥、通知返回参数中的参数sign值三者一同放入RSA的签名函数中进行签名运算,来判断签名是否验证通过。 1、公钥、私钥格式化(加上前后戳、每64位进行换行) /**********************************私钥格式化*************************************/ 1 function formatPriKey($priKey) { 2 $fKey = "-----BEGIN PRIVATE KEY-----\n"; 3 $len = strlen(

phpstudy后门漏洞复现php5.2

与世无争的帅哥 提交于 2019-12-01 01:58:23
前段时间phpstudy被人发现某些版本存在后门,许多人就这样被当作肉鸡长达两年之久 后门隐藏在程序自带的php的php_xmlrpc.dll模块 影响的版本:phpstudy2016和2018 在H:\PhpStudy20180211\PHPTutorial\php\php-5.2.17\ext找到php_xmlrpc.dll 用notepad++打开,ctrl+f搜索eval 说明这个版本的phpstudy是由后门的 用firefox访问本地ip,用bp抓包,用ctrl+r送到repeater 找到accept-encoding,把逗号后面的空格删掉,deflate后面回车换行,加上accept-charset:c3lzdGVtKCdpcGNvbmZpZycpIDs=,然后go (这是system(‘ipconfig’) ;的base64加密) 漏洞复现成功 加system(‘path’) ;(分号前面有空格) 安全问题不容小觑啊 来源: https://www.cnblogs.com/0daybug/p/11647091.html

phpstudy后门利用复现

杀马特。学长 韩版系。学妹 提交于 2019-11-30 23:50:39
实验环境:vm ware中win7,本机使用burp抓包 漏洞:程序包自带的PHP的php_xmlrpc.dll模块里右后门 影响的版本:phpstudy20106(5.4/5.2)2018(5.4/5.2) 实验版本:phpstudy2016,php版本5.4.45 step1: 在ext文件夹下有个php_xmlrpc文件,用记事本打开,ctrl+f,输入eval,可以找到如下内容,这就是后门代码: step2: 找到打开php5.4.45的配置文件,搜索php_xmlrpc,可以看到模块被开启(模块前面有;是没开启的),这样才能运行后门代码。 step3: 使用Burp抓取连接php服务器的包,右键选择Send to Repeater,点击go,可以看到response中有返回内容 step4: 需要修改请求包,其中Accept-Encoding:gzip, deflate中的,后面有个空格,给它删掉,按enter添加一行:Accept-Charset:(规定服务器返回的字符集),用Decoder工具对命令(例如:system('net user'); )进行base64加密; step5: 把上个步骤的结果放到Accept-Charset:的后面,点击Go,Response就能看到结果,就是Windows下的net user命令,over!!! 来源: https:/