- 博客(23)
- 资源 (11)
- 收藏
- 关注
原创 Pro PHP Programing之安全白名单和黑名单
白名单和黑名单对于include或者require函数的调用,不应该使用$_GET或$_POST值,因为尚不知晓文件名称。攻击者试图通过为文件名添加…/…/之类的前缀绕过文档根目录的权限控制。对于include或require调用中的变量,应该使用可接受文件名的白名单或净化文件名。注意:白名单是包含获准项的列表,黑名单则是包含禁止项的列表。白名单比黑名单更加严格,因为它们具体指定了获准项,
2015-03-30 12:47:43 939
原创 Pro PHP Programing之安全register_globals
Register_globals的安全检查:初始化变量常常是最佳实践。PHP.ini开启register_globals指令时,防御可能产生的攻击的有效措施。由于开启了register_globals,$_POST和$_GET变量寄存在脚本的全局变量中。如果为了追加诸如”foobar = 3”之类的查询字符串,PHP将在后台创建同名的全局变量。【示例】:register_globals的安
2015-03-30 12:45:36 817
原创 Pro PHP Programing之类的作用域和静态成员
变量和方法在类的作用域内,而不是在每个对象的作用域内,被叫做静态变量。【示例】:静态变量<?PHP #静态变量示例 class test{ private static$objcnt; function__construct(){ ++self::$objcnt;
2015-03-30 12:41:51 580
原创 Pro PHP Programning之接口、迭代器和抽象类
接口、迭代器和抽象类接口是一个描述一整套方法的对象,某类可能要选择其中的方法去实现。接口如下所示:interface interf{ Public function f1($x,$y); Public function f2(…); Public function f3(…);}接口可以由其他接口继承而来,就像类一样。Interfac
2015-03-30 12:37:58 884
原创 校内网限制内网访问博客等解决办法
之前CSDN博客可以用的,后来发现在校内只有CSDN首页可以上去。博客文章在PC端和客户端无法登陆。在校外却可以。想到了内网限制的原因。经查找资料,下面方法亲测可用,贴出来和大家分享。 在电脑上找到windows/system32/drivers/etc/hosts文件。在下面添加一条你校内网的ip和目标网址。就可以了。嗯,就是这么简单。
2015-03-30 12:29:38 832
原创 模块化web程序代码
此部分是个人学习时一些资料的整理以及代码实现。includes文件夹下包括:modules文件夹下包括:index.php作为索引文件各个文件代码如下:index.php:<?PHP #index.php require('./includes/config.inc.php'); if(isset($_GET['p'])){ $p = $
2015-03-28 17:51:53 678
原创 模块化web程序
1. 创建配置文件a) 定义常量b) 建立站点范围内的设置c) 创建用户自定义函数d) 管理错误示例:创建一个配置文件:Config.inc.php1) 设置处理错误需要用到的电子邮件$conact_email = '[email protected]';2) 判断该脚本在测试服务器上还是真实服务器上$host = subs
2015-03-28 17:39:29 437
原创 PHP提升-MVC介绍
PHP提升-MVC介绍MVC不是一种设计模式,而是一种架构模式,用以描述应用程序的结构以及结构中各部分的职责和交互方式。MVC除了将视图从业务逻辑中分离开,MVC的分离也降低了大型应用设计的难度,代码更具结构性,因此也更容易维护,测试和重用。简单概括三部分的作用:1. 控制器掌管着用户的请求(当用户点击图形用户界面(GUI)上的元素执行操作时,控制器会接收GET或POS
2015-03-28 10:14:32 442
原创 PHP提升-include(),require(),include_once(),require_once()区别
PHP提升-includeInclude和require语句用于在执行流中向其他文件插入有用的代码。Include和require很相似,除了在错误处理方面的差异。Require会产生致命的错误(E_COMPILE_ERROR),并停止脚本,include只会产生警告(E_WARNING),脚本将会继续。1. Require、require_once、include、inc
2015-03-28 09:57:04 491
原创 PHP基础-数组排序Sort()、Rsort()、Asort()、Ksort()、Arsort()、Krsort()
PHP基础-数组排序数组中的元素能够以字母或数字顺序进行升序或降序排序。本部分总结了如下PHP常用的数组排序函数。a) Sort() –以升序对数组排序b) Rsort() –以降序对数组排序c) Asort()-根据值,以升序对关联数组进行排序。d) Ksort()- 根据键,以升序对关联数组进行排序。e) Arsort() – 根
2015-03-28 09:39:30 1157
原创 PHP基础-echo,print,print_r,var_export,var_dump
PHP基础-echo,print,print_r,var_export,var_dump在PHP当中,跟输出相关的语句或函数,echo,print,print_r,var_export,var_dump,他们可以笼统的概括为都是输出变量内容的。但是他们之间还是有很大的差别。1. EchoEcho用于输出一个或者多个字符串或变量值,他是PHP语句,不是函数。因为他不是函数,所以他
2015-03-28 09:11:39 560
原创 深入理解PHP高级技巧、面向对象与核心技术之调整浏览器缓存
缓存页面是保存页面的内容的一种方式,然后在产生请求时提供这个保存的页面版本,而不是服务器上的版本。对于动态的、PHP驱动的站点,有时我们需要确保终端用户获得的是最新的版本。利用PHP的header()函数可以调整缓存,包括web浏览器的缓存和代理服务器的缓存。四种标头的类型:a). Last-Modified(最后的修改时间)b). Expires(过期时间)c). Pra
2015-03-27 19:15:16 830 1
原创 使用printf()和sprintf()
Printf()不仅能显示文本,还可以设置输出的格式。Printf (string format,[mixed arguments])格式参数format是由直接文本变量和特殊格式参数组成的字符串。特殊格式参数由百分号开始,之后有很多组合。同C语言。Sprintf()函数的工作原理和printf() 几乎完全一样,但是他不是显示格式化的字符串,而是返回他。这个函数非常适合生成数据库查询
2015-03-27 16:30:28 792
原创 使用mod_rewrite优化seo
Mod_rewrite是一种用于给服务器发送指令的工具,当用户访问一个链接url的时候,服务器将会提供另外的资源。Mod_rewrite 使用正则表达式,因此可以根据需要处理尽量复杂的链接地址模式。有两种方式可以更改apache的行为:修改Apache的全局配置或者创建目录相关的文件。a) 全局配置文件交httpd.conf,用于规范Apache网站服务器的运行规则。b) .
2015-03-27 16:26:46 664 3
原创 PHP面向对象基础笔记三
抽象方法以及多态一. 什么是抽象方法1.定义:一个方法如果没有方法体,则这个方法就是抽象方法。2.声明一个方法,不使用{},而直接分号结束如果是抽象方法,必须使用abstract(抽象关键字来修饰) 二. 什么是抽象类?1.定义:如果一个类中有一个方法是抽象的方法,则这个类就是抽象类2.如果声明一个抽象类,则这个类要用abstract关键字来修饰3.注意:只
2015-03-24 17:27:12 489
原创 PHP面向对象基础笔记二
一. 什么是继承PHP一个父类只能有一个父类,父类可以还有父类,一个父类可以有多个子类。二. 继承和重载三、 关键字1. Instanceof操作符用于检测当前对象实例是否属于某一个类的类型。2. Final关键字的应用在其他语言中final是定义常量的。在PHP中define
2015-03-24 16:53:26 491
原创 PHP面向对象基础笔记一
难点:学习面向对象思想和语法,理解思想。PHP5相对4添加了面向对象全部的基本语法。一. 面向对象的编程思想 Object Oriented(1) 以事件为中心的编程思想(2) 分析出解决问题的所需要的步骤(3) 再用函数把步骤实现(4) 使用的时候调用二. 什么是对象(1) 对象表示具体的事物和抽象的规则、计划和事件。(2)
2015-03-24 16:35:51 576
原创 Mysql学习笔记五之查询的五种语句
查询的五种语句:where,group,having,order by,limit一. Where 条件查询比较运算符1. In ,等于1àN任意一个。例:select goods_id from goods where cat_id in(4,5);2. Between 值1 and 值2,表示在值1和值2之间例:select goods_id fr
2015-03-12 16:55:44 827
原创 Mysql学习笔记四之阶段总结(一)
阶段总结(一)列类型的概念数值型 整型 tinyint smallint mediumintint bigint 整型的unsigned代表无符号,zerofill代表0填充,M代表宽度(在0填充) 浮点型/定点型 float(M,D) unsigned Mà精度,即总位数,D代表小数位 decimal比float更精确。
2015-03-12 16:51:38 448
原创 Mysql学习笔记三列类型之日期时间
一. 日期时间列类型Date 日期Time 时间Datatime 时间类型Year 年类型1. Year类型:1个字节表示1901-2155年【0000年表示错误时】如果输入两位,“00--69”表示2000—2069,如果输入两位“70--99”表示1970—1999如果记得麻烦,输入四位就行了、1. Date类型
2015-03-12 16:40:49 522
原创 Mysql学习笔记二列类型之字符型
一. 字符型列Char:定长,char(M),M代表宽度,即:可容纳的字符数0Varchar:变长,0Text文本串,(约2W—6W个字符受字符集影响)区别在哪呢?char定长:M个字符,如果存的小于M个字符,实占M个字符varchar:M个字符,存的小于M个字符,设为N,N因此,char定长若存空格,读取时会丢失。而变长不会。Char利用
2015-03-12 16:35:58 430
原创 Mysql学习笔记一之列类型
Mysql三大列类型1. 数值型 整型 Tinyint、Smallint、Mediumint、Int、Bigint 小数型 Float(D,M),Decimal(D,M)2. 字符串型 Char(M) Varchar(M) Text 文本类型3. 日期时间类型Date
2015-03-12 15:57:19 431
docker_rpm.zip
2020-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人