php加密

PHP实现各种经典算法

℡╲_俬逩灬. 提交于 2020-02-19 10:35:29
<? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low <= $high){ $mid = intval(($low+$high)/2 ); if ($array[$mid] == $k){ return $mid; }elseif ( $k < $array[$mid]){ return bin_sch($array, $low, $mid-1, $k); }else{ return bin_sch($array, $mid+ 1, $high, $k); } } return -1; } //顺序查找(数组里查找某个元素) function seq_sch($array, $n, $k){ $array[$n] = $k; for($i=0; $i<$n; $i++){ if( $array[$i]==$k){ break; } } if ($i<$n){ return $i; }else{ return -1; } } //线性表的删除(数组中实现) function delete_array_element($array , $i) { $len = count(

PHP开发之MVC架构

末鹿安然 提交于 2020-02-11 22:49:25
MVC是Model(模型)-View(视图)-Controlller(控制器)的简称。 MVC是一种软件开发架构,在近几年的Web应用开发中非常流行。简单的说,这三件事情还是很简单。Model是负责如何与数据库交互,它是后端的PHP OO类库,其它语言比如Ruby on Rails或C++、Java亦同;View基本上是前端的用户界面。Controller负责处理操作商业逻辑,在前两者之间协作。 这些看似容易解释,但有时这个概念也有点抽象,比较难以把握。 坦率地说,我这么多年的Web开发中,我也没有真正研究MVC的细节,虽然我的书中也有介绍。直到最近,一些读者开始向我请教这方面的问题。 在本篇文章中,我希望向大家解析一下PHP MVC这一强大架构的开发,希望给各位PHP开发者提供一些帮助。 MVC与 PHP 开发 Model-View-Controller这种结构划分,实际上有很多思想参考,实际上是软件开发发展历程中开发大型项目的自然发展结果。比如 Java的Class, JSP和Struts;Ruby on Rails内置了MVC的结构;虽然PHP和这些有点不太一样,但它并不意味着我们不能做。 Model层 MVC结构是用在较大的项目上应用,利用OO进行编码。Model层在一个PHP 应用程序中,通常是一个类(或多个)。通常情况下,这个类是处理或保存数据表

BugkuCTF wp

北慕城南 提交于 2020-02-11 16:51:30
MISC 签到题 扫码关注微信公众号即可获得flag 这是一张单纯的图片 用UE打开如图,在ascii码最下面发现一串编码,发现是字符实体编码。 https://www.qqxiuzi.cn/bianma/zifushiti.php 网站在线解码可得flag 隐写 打开图片,先用stegsolve跑一边没有发现什么,LSB也没有什么,用UE打开也没有什么奇怪的。用binwalk跑一边,没有隐藏文件。 所以考虑是不是高度修改,在IHDR后面将高度改大一些,果然发现flag ## telnet 用wireshark打开流量包,在telent包的data中发现flag 眼见非实(ISCCCTF) 下载文件后,用UE打开发现是PK开头,则是zip压缩包 改后缀后解压得到一个docx文件,猜测可能是zip包。 docx文件本质上就是一个zip压缩包,文件内容在zip压缩包中(文本内容,字体格式等等)。 改后缀为zip后打开 发现一些文件,没有明显的flag信息,但应该就在这些文件里。 一个个用firefox打开,F3快速查找。 得到flag. 啊哒 下载后发现是jpg文件,可能不是LSB隐写(png才有lsb隐写),用stagsolve跑了一下果然没有。用UE打开发现文件比较大,可能有藏东西。 用binwalk跑一下,果然有zip文件。 而且就是flag.txt

如何在PHP中保护数据库密码?

北战南征 提交于 2020-02-09 14:22:46
当 PHP 应用程序建立数据库连接时,通常当然需要传递登录名和密码。 如果我为我的应用程序使用单个最小权限登录名,则PHP需要在某个地方知道该登录名和密码。 保护该密码的最佳方法是什么? 似乎只在PHP代码中编写它不是一个好主意。 #1楼 另一个技巧是使用一个如下所示的PHP单独的配置文件: <?php exit() ?> [...] Plain text data including password 这不会阻止您正确设置访问规则。 但是,如果您的网站被黑,“ require”或“ include”将仅在第一行退出脚本,因此更难以获取数据。 但是,永远不要将配置文件放在可以通过Web访问的目录中。 您应该有一个“ Web”文件夹,其中包含您的控制器代码,css,图片和js。 就这样。 脱机文件夹中还有其他内容。 #2楼 最安全的方法是完全不使用PHP代码中指定的信息。 如果使用Apache,则意味着在httpd.conf或虚拟主机文件文件中设置连接详细信息。 如果这样做,则可以不带任何参数调用mysql_connect(),这意味着PHP将永远不会输出您的信息。 这是您在这些文件中指定这些值的方式: php_value mysql.default.user myusername php_value mysql.default.password mypassword php

转:2014 年 15 款新评定的最佳 PHP 框架

笑着哭i 提交于 2020-02-08 03:41:43
原文来自于:http://blog.jobbole.com/59999/ 原文出处: codegeekz 译文出处: oschina 欢迎分享原创到 伯乐头条 通常,框架都会被认为是帮助开发者快速设计和开发动态网站的软件应用。每个月都有极大数量的新发布的 PHP 框架,使网站开发更简单更高效。 如果你是位 PHP 开发者,正在寻找当前最好的一些 PHP 框架来帮助开发你的项目,那么这里正是你要找的地方。 在这篇文章我们会介绍 15 款最好的 PHP 框架,这些框架都是最新评定的,可以大大的简化你的开发任务。 这些 PHP 框架可以帮助开发者快速设计和开发各种跨浏览器的动态网站和 web 应用,最后,希望你能在这些列表中找到你想要的 PHP 框架,Enjoy !! 1. Yaf : Yet Another Framework Yaf 是第一个 PHP MVC 框架,用 C 语言编写,作为 PHP 的扩展来创建的。它被认为是最快和最低资源消耗的 PHP 框架,经过了良好的测试,并且现在已经很成功的应用在很多 web 项目上。 2. Nette Framework Nette Framework 是个现代化风格的 PHP 框架,对安全进行了革命性的改进,使用面向对象的设计理念,非一般的性能表现和超级简单的学习曲线。除了这些之外,它还有个非常活跃的社区,给予用户足够的灵活性。 3.

Codeigniter 利用加密Key(密钥)的对象注入漏洞

房东的猫 提交于 2020-02-08 02:40:59
http://drops.wooyun.org/papers/1449 原文链接:http://www.mehmetince.net/codeigniter-object-injection-vulnerability-via-encryption-key/ 0x00 背景 大家好,Codeigniter 是我最喜爱的PHP框架之一。和别人一样,我在这个框架中学习了PHP MVC编程。今天,我决定来分析一下Codeigniter的PHP 对象注入漏洞。 我在接下来的叙述中会把重点放在Codeigniter的Session会话机制上。所有我将会分析的method方法都在 CodeIgniter/system/libraries/Session.php 文件里。我在本研究过程中使用的是Codeigniter 2.1 版本。 0x01 Codeigniter Session会话机制 Codeigniter 使用PHP的序列化method方法来存储用户Session会话中的变量。但是Codeigniter Session会话机制并不像我们预期的那样工作。它把session会话的变量存在了客户端的cookie里面,大多数是在(服务器)硬盘上而不是用户COOKIE中。我不知道开发者们为什么这么设计。 下面的叙述摘自codeigniter的文档 The Session class stores

PHP简单语法

情到浓时终转凉″ 提交于 2020-02-06 11:54:37
PHP 是一种被广泛使用的开源脚本语言 PHP 脚本只能在服务器上执行 PHP 没有成本,可供免费下载和使用 PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码 PHP 代码在服务器上执行,而结果以纯文本返回浏览器 PHP 文件的后缀是 “.php” PHP能够做什么: PHP 能够生成动态页面内容 PHP 能够创建、打开、读取、写入、删除以及关闭服务器上的文件 PHP 能够接收表单数据 PHP 能够发送并取回 cookies PHP 能够添加、删除、修改数据库中的数据 PHP 能够限制用户访问网站中的某些页面 PHP 能够对数据进行加密 基础PHP语法 PHP 脚本以 <?php 开头,以 ?> 结尾 在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感,但是,所有变量都对大小写敏感。 PHP 中,每一句语法结束后都需要加 ; < ? php //header()响应头,服务端告诉客户端先要做什么 header ( "content-type:text/html;charset=utf-8" ) ; echo "Hello World" ; //单行注释 #单行注释 /* 多行注释 */ $a = 3 ; $ A = 5 ; //变量名区分大小写 $arr = array ( "a" => 10 , "b" => 20

简单描述PHP发展历程

不想你离开。 提交于 2020-02-01 00:43:42
PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。 PHP是通用服务器端脚本编程语言,其主要用于web开发以实现动态web页面,它也是最早实现将脚本嵌入HTML源码文档中的服务器端脚本语言之一。同时,php还提供了一个命令行接口,因此,其也可以在大多数系统上作为一个独立的shell来使用。Rasmus Lerdorf于1994年开始开发PHP,它是初是一组被Rasmus Lerdorf称作“Personal Home Page Tool”的Perl脚本,这些脚本可以用于显示作者的简历并记录用户对其网站的访问。后来,Rasmus Lerdorf使用C语言将这些Perl脚本重写为CGI程序,还为其增加了运行Web forms的能力以及与数据库交互的特性

浅谈PHP代码执行的大致流程(opcode)

有些话、适合烂在心里 提交于 2020-02-01 00:36:51
说到这个代码执行流程啊,咱也不说太多,先给大家分享一张图片: 怎么样?有点了解了么。说实话,单看这个,我本人是有点懵的,不过,不要怕。咱们来慢慢地看下。 首先,在网上找的信息说PHP代码执行的顺序是这样的,第一步是词法分析,第二步是语法分析,第三步是转化为opcode,第四部也就是顺序执行这些opcode了。 聪明如各位看到这里,再返回上面看一下这张图片,肯定就会有不一样的感觉了。咱们借用一句话来阐述这几个步骤:当PHP拿到一段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成一个个指令(opcodes),然后ZEND虚拟机顺次执行这些指令完成操作。 我们都知道,PHP本身是用C实现的,因此最终调用的也是C的函数,实际上,我们可以把PHP看做一个C开发的软件。既然如此,那么PHP的代码执行的核心也就是翻译出来的一条一条指令,在这里就是opcode。 那么,我们就可以把opcode看成是PHP代码执行的最基本单位。所以PHP代码执行的本质也就可以理解为,我们的代码最终被翻译为一组opcode处理函数,完事之后再顺序执行。 有了这些认知之后,我们就来看下这个opcode究竟是什么鬼。本质上一个opcode由两个参数(op1,op2)、返回值和处理函数组成。它的官方解释就是PHP脚本编译后的中间语言,类似于java中的bytecode或者是.net中的MSL。 它的作用就是如下:

PHP语言的基础知识和特点有哪些

℡╲_俬逩灬. 提交于 2020-01-28 23:49:09
PHP开发语言以其强大的功能迅速攻入互联网圈并被人们所熟知,因此如今参加PHP培训学习的人不在少数,本篇文章扣丁学堂PHP培训小编就和读者们简单探讨一下PHP语言的基础知识和特点有哪些,希望可以帮到小伙伴更进一步的了解PHP语言。 扣丁学堂PHP培训简述PHP语言的基础知识和特点有哪些: 1、跨平台特性: PHP语言可以运行于Linux、FreeBSD、OpenBSD、Windows等多种操作系统。 2、数据库支持: PHP支持多种主流与非主流的数据库。 3、安全性: 加密支持,PHP4实现了完整的加密,这些加密功能是一个完整的mycrypt库,并且PHP4.0支持哈希函数。Blowfish,TripleDES,MD5,并且SHA1也是可使用的一些加密算法。使用PHP语言运行Linux、FreeBSD、OpenBSD、Solaris?Unix操作系统,不需安装任何杀毒软件及补丁,安全可靠。 4、扩展性: 扩充了API、模块:PHP4.0为扩展的API、模块的提供了扩展PHP接口模块,、济南网站建设认为它比旧的API版本显着地快。PHP、模块已有的及最常用的接口多数被转换到使用这个扩展的接口;另外,PHP属于开源软件,其源代码完全公开,任何程序员为PHP扩展附加功能非常容易使PHP有很好的发展空间和扩展性。 5、执行速度快: PHP是一种强大的CGI脚本语言,语法混合了C、Java