摘要: 接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是生物和非生物),但是可以实现多个接口(吃饭接口、走路接口)。第一点.接口是抽象类的变体,接口中所有的方法都是抽象的。而抽象类是声明方法的存在而不去实现它的类。第二点.接口 阅读全文
posted @ 2013-04-15 16:04 MR.Punk 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1.session劫持 动机:想要确保攻击者无法访问站点其他用户的session 方案:只允许通过cookie来传递sessionID,同时生成一个由URL传递的额外的session记号(token),只有当请求包含有效的sessionID和有效的session记号时,才可以访问该session 代码: 1 <?php 2 ini_set('session.use_only_cookies',true); 3 session_start(); 4 $salt = '!@@##~~WEQQ'; 5 $tokenstr = (str)data('W&# 阅读全文
posted @ 2013-04-11 23:31 MR.Punk 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 1 <?php 2 $m = $_GET['m']; 3 $user = $_GET['user']; 4 $pass = $_GET['pass']; 5 include($m.”do.php”); 6 $sql = ”select count(*) as b from user where username=’”.$user.”‘and password=’”.$pass.”‘; 7 $r = mysql_query($sql); 8 list($count) = @mysql_fetch_array($r); 9 if($... 阅读全文
posted @ 2013-04-10 22:58 MR.Punk 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 此篇随笔来自于一道面试题,记录下1. 写一个 函数,array_remove(),要求最简洁的清除数组中值为$v的项。/** *解析:问题表述很清晰,假设函数原型是array_remove($v,$array),需要注意以下几点: * 1.对于参数的检查:如果$array不是数组的话,返回错误或者抛出异常 * 2.如何比较数组的值与$v相等?是==还是===?存在分歧,在这里我们用==来比较 * 现在我们来给题目增加些佐料,加一些限制,对于如下限制,应该如何解决 * a.如果不使用系统函数。如何解决。 * b.参数传递问题:传递引用和传值对于函数编写会有何影响?分别实现之。 * c.可以使用系 阅读全文
posted @ 2013-04-10 21:14 MR.Punk 阅读(490) 评论(0) 推荐(0) 编辑
摘要: $_GET变量: 用于收集来自method='get'的表单数据,用此方式传递的值对任何人都是可见的(会显示在浏览器地址栏中),并且对发送信息量也有限制(最多100个字符) 好处是变量显示在URL中因此便于将地址加入收藏夹$_POST变量: $_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。 阅读全文
posted @ 2012-11-15 22:20 MR.Punk 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 1.Apache 将特定的扩展名解析成 PHP,例如,让 Apache 将扩展名 .php 解析成 PHP。为了避免潜在的危险,例如上传或者创建类似exploit.php.jpg的文件并被当做 PHP 执行,我们不再使用 Apache 的 AddType 指令来设置。参考下面的例子,你可以简单的将需要的扩展名解释为 PHP。我们演示为增加.php。AddType application/x-httpd-php .php5AddType application/x-httpd-php .php42AddType application/x-httpd-php .php4AddType appli 阅读全文
posted @ 2012-11-14 22:45 MR.Punk 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 今天在改造管理端代码的时候,遇到了一些问题,也找到了一些技巧,在这里记录下,备忘~~~首先是关于代码编写规范的一点感悟1.定义类、及方法时尽量采用懒惰的复用式设计,这在设计之初可能看不出什么优势,但当你需要对系统整体添加一个功能组件时,而这个功能组件需要覆盖到系统原来的所有功能模块时,你会发现这种设计带来的便利,你不用苦逼的为每一个功能进行整容手术,因为设计的最基本原则是扩展时能尽量避免“家喻户晓” 干巴巴的说,可能不明所以,以备自己以后再看的时候不知自己所云,特在此留实例 现有一邮件系统管理端,采用面向过程式设计,每个功能点,各自为战,系统一共30-40功能点,代码经由3-4个人编写完成.. 阅读全文
posted @ 2012-10-29 22:42 MR.Punk 阅读(121) 评论(0) 推荐(0) 编辑
摘要: PHP生成PDF完美支持中文,解决TCPDF乱码PHP生成PDF格式文件以TCPDF为基础,TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进。支持UTF-8,Unicode,HTML和XHTML。在基于PHP开发的Web应用中,使用它来输出PDF文件是绝佳... 阅读全文
posted @ 2012-07-29 19:19 MR.Punk 阅读(293) 评论(0) 推荐(0) 编辑
摘要: error: Some data has already been output, can't send PDF file这个是关于生成pdf的过程中遇到的问题就是之前已经有输出过了,而不能正常的输出了所以可以在你开始输出pdf的过程前加上ob_end_clean(); 阅读全文
posted @ 2012-07-29 19:17 MR.Punk 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1)文本计数器<?php$countfile="/count.txt";//设置保存数据的文件if (!file_exists($countfile)){//判断文件是否存在exec( "echo 0 > $countfile");} $fp = fopen($countfile,"rw"); $length=filesize($countfile);$num = fgets($fp,$length); $num += 1; exec( "rm -rf $countfile");exec( " 阅读全文
posted @ 2012-07-23 17:12 MR.Punk 阅读(133) 评论(0) 推荐(0) 编辑