php加密

Github上PHP资源汇总大全

心已入冬 提交于 2019-12-05 23:35:49
依赖管理 ——用于依赖管理的包和框架 Composer / Packagist : 一个包和依赖管理器 Composer Installers : 一个多框架Composer库安装器 Pickle : 可以在任意平台上安装PHP扩展包 静态站点生成器 ——生成Web页面内容的预处理工具 Sculpin : 将Markdown和Twig转换为静态HTML的工具 Phrozn : 另一款将Textile、Markdown和Twig转为HTML的工具 框架 ——Web开发框架 Symfony2 : 由独立组件构成的框架 Zend Framework 2 : 同样是由独立组件构成的框架 Laravel 4 : 简洁优雅的PHP Web开发框架 Aura PHP : 独立组件的框架 Yii2 : 用于开发大型Web应用的高性能PHP框架 Nette : 同样是由独立组件构成的框架 PPI Framework 2 : 一个交互性的框架 Phalcon : 一个作为C扩展的框架 微型框架 ——微型框架和路由 Silex : 基于Symphony2组件的微型框架 Slim : 另一个简单的微型框架 Bullet PHP : 用于构建REST APIs的微型框架 Fast Route : 快速路由选择库 Pux : 另一个快速路由选择库 模板 ——模板和词法分析的库与工具 Twig :

文件包含

心不动则不痛 提交于 2019-12-05 22:31:37
部分引用 https://www.freebuf.com/articles/web/182280.html 友链  https://blog.csdn.net/qq_33020901/article/details/82684483 文件包含给开发人员带来了极大的便利,当网站需要一样的页面或模板时,直接包含需要的网页,就没必要重复编写代码,且需要更改页面的时候,只需修改包含的页面,带来极大的便利的同时,也带了巨大的威胁 在PHP中文件包含函数分为四个 require() require_once() include() include_once() 其中require和include的区别是,require在包含的过程中如果出现错误,程序会继续执行,而include出现错误就停止执行。 require_once和include_once则只包含一次 不管它们里面包含的是什么,图片也好,文本也好,都会被函数当成PHP代码解析,所以文件包含运用不当会给服务器带来极大的威胁 文件包含分为两类,即本地文件包含LFI(Local File Inclusion)和远程文件包含RFI (Remote File Inclusion) 本地包含就可以包含服务器本地的文件 远程文件包含可以包含远程的文件,且远程文件包含危害性比本地包含危害还大 远程文件包含还需要PHP配置文件中打开以下两个配置

PHP为任意页面设访问密码

柔情痞子 提交于 2019-12-05 10:54:42
代码演示 代码简介 为你的页面 支持 加密访问 无论什么程序 只要是PHP程序 都是支持这代码的 来实现加密访问你的加密页面 或文章等等的页面 不保证其他程序可以正常使用 麻烦先测试! 代码如下 <? php /******************************************** * 使用方法: * * 1、将本段代码保存为 MkEncrypt.php * * 2、在要加密的页面前面引入这个 php 文件 * require_once('MkEncrypt.php'); * * 3、设置页面访问密码 * MkEncrypt('页面密码'); * ********************************************/ // 密码 Cookie 加密盐 if (! defined ( 'MK_ENCRYPT_SALT' )) define ( 'MK_ENCRYPT_SALT' , 'Kgs$JC!V' ); /** * 设置访问密码 * * @param $password 访问密码 * @param $pageid 页面唯一 ID 值,用于区分同一网站的不同加密页面 */ function MkEncrypt ( $password , $pageid = 'default' ) { $pageid = md5 ( $pageid );

curl 或 file_get_contents 获取需要授权页面的方法

百般思念 提交于 2019-12-05 07:54:59
今天因工作需要,需要用 curl / file_get_contents 获取需要授权 (Authorization) 的页面内容,解决后写了这篇文章分享给大家。 php curl 扩展,能够在服务器端发起 POST/GET 请求,访问页面,并能获取页面的返回数据。 例如要获取的页面: http://localhost/server.php [php] view plain copy <?php $content = isset( $_POST [ 'content' ])? $_POST [ 'content' ] : '' ; header( 'content-type:application/json' ); echo json_encode( array ( 'content' => $content )); ?> 使用curl获取server.php页面 [php] view plain copy <?php $url = 'http://localhost/server.php' ; $param = array ( 'content' => 'fdipzone blog' ); $ch = curl_init(); curl_setopt( $ch , CURLOPT_URL, $url ); curl_setopt( $ch , CURLOPT_POST, true

文件包含漏洞原理浅探

我的未来我决定 提交于 2019-12-04 13:26:33
文件包含漏洞原理浅探 By : Mirror王宇阳 E-mail : mirrorwangyuyang@gmail.com 联系方式: 2821319009 (QQ) 个人主页: https://www.cnblogs.com/wangyuyang1016/ 文件包含 文件包含是指一个文件里面包含另外一个文件;开发过程中,重复使用的函数会写入单独的文件中,需要使用该函数的时候直接从程序中调用该文件即可,这一个过程就是“文件包含” 由于文件包含的功能特性,导致客户端可以调用一个恶意文件,进行动态调用 PHP文件包含 PHP提供了四个文件包含函数提供的功能强大且灵活多变,经常存在文件包含函数 危险包含函数(PHP) include() 无法查到被包含的文件时产生错误"E_COMPLE_ERROR"停止运行 include_once() 和前者一样,如果文件中的代码已经包含了,则不再会包含 require() 无法查到被包含的文件是产生警告"E_WARNING"继续运行 require_once() 和前者一样,无法查到被包含的文件是产生警告"E_WARNING"继续运行 文件包含实例 开发演示 <?php include("ArrayUtil.php"); //利用include函数包含 $arr = array("sougou","google","yahoo","baidu",

PHP开发入门1

混江龙づ霸主 提交于 2019-12-04 09:57:20
PHP开发入门1 PHP开发入门2---->PHP扩展开发入门2 HELLO WORLD PHP扩展开发入门3------>带参数的函数 一直都想学习PHP扩展开发。每当看到那么多的C代码就会觉得无从下手。有一次也用也开发了一个hello world。但是还是不甚理解。 最近,需要一个生成随机字符串的方法。觉得原生PHP生成的有些慢(主要是想试试是否可以学会写扩展)。于是乎就用zehphir写了一个扩展。 阿西吧。速度比原生的还慢。之前也测试过zephir,这个貌似不加载PHP原生函数的时候还可以,一旦调用原生函数,速度就会一降再降。所以想学zephir的,还是把他当作一种代码加密方式。 于是,还是考虑用C吧。那么怎么开发呢? 百度,谷歌等搜索出来一大堆教程。有很多都说让先写个def文件。这个我第一次做的时候就是用的这种方法。不过这次死活没有找到def的编写教程。于是找教程。 最终,我发现写扩展,主要就需要在几个地方添加定义,或添加功能即可。当然这里只是做个简单的函数而已。如何开发类,现在还没有看到,有资料的朋友可以提供一些。 首先,ext_skel生成扩展代码。 ./ext_skel --extname=phpext 然后,进入phpext目录,可以看到php_phpext.h和phpext.c。接下来首先打开php_phpext.h,找到如下代码 PHP_MINFO

11.12远程文件包含利用知识、PHP伪协议、文件包含漏洞包含本地session最终实现RCE

雨燕双飞 提交于 2019-12-04 06:40:20
远程文件包含利用知识 配置条件: Allow_url_fopen 打开 Allow_url_include 打开 %00 截断( php<5.3 版本) %00 截断: http://127.0.0.1/include/test.php?file=file1.html%00 有后缀名限制的文件包含 Include($_GET[“file”].”.php”); <?php include("./up/".$_GET["file"]);?> 127.0.0.1/include/test.php?file=../../../../123.txt 这样的会直接目录跳转 同时又前后缀限制,需要重点考虑后缀名的绕过,方法如下: %00 截断 路径长度截断 ?file=../../../../../boot.ini/./././.~~~~./././ PHP<5.2.8 可以成功, linux 需要文件名长于 4096 , windows 需要长于 256 PHP 伪协议 Include($_POST[“a”]); a= 如下 zip:// 处理 zip 数据流 phar:// 处理 rar 数据流 PHP 协议 ( get 、 post 自己看着定) ?file=php://input POST:<? phpinfo();?> 利用条件: allow_url_include = On ,对

[PHP] 新版本PHP7.4与新版本MySQL8认证问题

a 夏天 提交于 2019-12-04 01:34:52
mysql8的默认密码加密方式是caching_sha2_password,PHP7.4连接mysql的加密方式也为caching_sha2_password,这个地方要注意。 当为了兼容旧版的客户端不只是PHP,还有在主从复制的时候也会有问题,mysql8的认证方式改回了mysql_native_password。如果使用PHP7.4的情况下,这里就会认证报错,因为7.4是caching_sha2_password加密方式,因此这里我可以改用成PHP7.2 不改配置的情况下,可以使用下面的方式更改mysql8的加密方式,为root用户更改密码: USE mysql; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES; 新增安装php7.2 apt-get install php7.2-fpm php7.2-mysql 等扩展 把监听端口改成别的,nginx反向代理这个端口 来源: https://www.cnblogs.com/taoshihan/p/11827111.html

php伪协议

我们两清 提交于 2019-12-03 17:27:28
PHP支持的伪协议 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.ini参数设置 在php.ini里有两个重要的参数allow_url_fopen、allow_url_include。 allow_url_fopen:默认值是ON。允许url里的封装协议访问文件; allow_url_include:默认值是OFF。不允许包含url里的封装协议包含文件; 各协议的利用条件和方法 php://input php://input可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。 注:当enctype=”multipart/form-data”时,php://input是无效的。

PHP非对称加密

[亡魂溺海] 提交于 2019-12-03 16:56:05
加密的类型: 在日常设计及开发中,为确保数据传输和数据存储的安全,可通过特定的算法,将数据明文加密成复杂的密文。目前主流加密手段大致可分为单向加密和双向加密。 单向加密:通过对数据进行摘要计算生成密文,密文不可逆推还原。算法代表:Base64,MD5,SHA; 双向加密:与单向加密相反,可以把密文逆推还原成明文,双向加密又分为对称加密和非对称加密。 对称加密:指数据使用者必须拥有相同的密钥才可以进行加密解密,就像彼此约定的一串暗号。算法代表:DES,3DES,AES,IDEA,RC4,RC5; 非对称加密:相对对称加密而言,无需拥有同一组密钥,非对称加密是一种“信息公开的密钥交换协议”。非对称加密需要公开密钥和私有密钥两组密钥,公开密钥和私有密钥是配对起来的,也就是说使用公开密钥进行数据加密,只有对应的私有密钥才能解密。这两个密钥是数学相关,用某用户密钥加密后的密文,只能使用该用户的加密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个密钥性质。这里把公开的密钥为公钥,不公开的密钥为私钥。算法代表:RSA,DSA。   以前一直对客户端传给服务器的信息加密这一块一脸懵,如果app里面的用户登录信息被抓包拿到了,大写着 username:root,password:123456, 那不是很尴尬。