订阅本站我的微博客

06/ Discuz!源代码分析系列

+0
1.这里面的每个中文字都是我打的,code部分是引用的,当然我也加了一点注释在里面了。
2.如果要转载的话请注明


转自[url]www.discuz.net[/url] 作者:郭鑫

3.由于我个人的能力有限,写这篇文章没有参考一点资料,甚至连本地环境也没有搭建(遇到了白屏问题),所以难免会有错误的地方,大家发现了的话请跟帖或者联系我吧,我会尽快更正。

以下是目录:

1 ./include/common.inc.php
  http://www.discuz.net/viewthread.php?tid=611716

2 ./inculde/global.func.php
  第一部分:http://www.discuz.net/viewthread.php?tid=612193
  第二部分:http://www.discuz.net/viewthread.php?tid=612195
  第三部分:http://www.discuz.net/viewthread.php?tid=612197

06/ CCTV 的扫黄新闻

+0
CCTV.com消息(新闻联播6月14日播出):连日来,依法打击网络淫秽色情专项行动在各地深入展开,受到了广大中小学生的欢迎。共同净化网络环境,主动抵制不良信息成为许多孩子的自觉行动。

陕西延安、河南信阳、四川成都等地的中小学生说,专项行动开展以来,网络上的不良信息显著减少,上网比过去踏实多了。

重庆市实验学校初二学生 高筠英:(以前)查一个资料,不时弹出一个黄色网站,经过国家整治之后,黄色网站都消失了。

辽宁沈阳市望湖路小学学生:现在网页干净了,我可以放心地上网了,妈妈给我上网的时间也比以前多了很多

安徽黄山、山东济南的许多中小学校在课余时间把电脑教室改造成“绿色网吧”,安装上过滤不良信息的防火墙,满足孩子们的上网需求,同时帮他们养成健康上网的好习惯。

济南市十亩园小学学生 薛原:我们在课余时间都可以来到这里上网,平时也可以查找资料,还可以博览群书。

吉林长春、江苏镇江等地还邀请网络警察举办主题班会、开设家长课堂,讲解防护网络不良信息的知识,引导中小学生抵制网络黄毒,预防网络沉迷带来的消极影响。

河北秦皇岛市中学生:偶尔遇到一些不良的页面,我都会主动关闭那些网站。

湖北武汉中学生 徐腾:我们应该,看到这些黄色网站的时候, 利用法律的手段去抵制它,然后来惩罚它。

06/ 给谷歌前台MM支个招

+0
Zoula在北京闯GOOGLE总部的视频,今天开始大范围的流行了, 如果你还没有看过,那么点这里 。对于Zoula的行为,我这里不作过多的评价,先给谷歌前台的那位MM支几招。

首先是批评,说实话你可能觉得自己能在谷歌上班应该能力不错, 可是这个事件中,明显你高估了自己,Zoula说的没错,你是谷歌的脸面,你可能光想着你是大公司的Gate Keeper,挡人是你的职责,这没错,为了你的同事的高效率,你需要起到过滤和保护的作用,可是你不能太教条啊。Zoula那伙人一进来,你就应该敏感的判断出来,这帮人”来者不善”,对比他们,人家是有备而来,连摄像机都带来了,你还不明白? 而且你缺乏应有的客服素质,你一直都坐在座位上,连微笑都很少,你难道不知道,你的微笑是对付他们最好的武器?你怎么保护公司的形象,怎么应付这样的客户,特别是他们还有道理?所以你太傲慢,受此教训也是应该的,从专业角度看,你确实需要提高,你要记住,你不是中国移动,或是中国电信的前台,你是这间”不做恶”的公司的前台。

06/ PHP防注入

+0
在现在各种黑客横行的时候,如何实现自己php代码安全,保证程序和服务器的安全是一个很重要的问题,我随便看了下关于php安全的资料,并不是很多,至少比asp少多了,呵呵,于是就想写点东西,来防止这些可能出现的情况。这里没有太深的技术含量,我只是比较简单的谈了谈。(以下操作如无具体说明,都是基于PHP+MySQL+Apache的情况)
   先来说说安全问题,我们首先看一下两篇文章:
http://www.xfocus.net/articles/200107/227.html    
http://www.xfocus.net/articles/200107/228.html

   上面文章是安全焦点上的关于PHP安全的文章,基本上比较全面的介绍了关于PHP的一些安全问题。

   在PHP编码的时候,如果考虑到一些比较基本的安全问题,首先一点:
1. 初始化你的变量

06/ 用PHP控制您的浏览器cache

+0
Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想  
在数据已经输出后,再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(),  
发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。  

我们先举一个简单的例子,让大家对Output Control有一个大致的印象:  
Example 1.  

ob_start(); //打开缓冲区  
echo "Hello\n"; //输出  
header(“location:index.php”); //把浏览器重定向到index.php  
ob_end_flush();//输出全部内容到浏览器  
?>
php 2007-06-13

06/ php6展望 && PDO的使用

+0
先展望php6(当然也可能是php5.2之类,暂未确定)

去掉的东西(感觉有必要提的)
2.1 register_globals
这个影响安全,又不好处理.
2.2 magic_quotes
这个本意很好,但反对的声音很多...
2.3 safe_mode
这个东西被E_CORE_ERROR代替了.
2.11 register_long_arrays, HTTP_*_VARS
这个东西影响速度

特别的
1. Unicode
这个东西好!不用再担心很多了.
3.1 XMLReader / XMLWriter in the distribution, on by default
以后处理rss之类的就更容易了
3.2 Move non-PDO DB extensions to PECL
下面特别讨论.
3.3 Move ereg to PECL
实际preg,ereg差不多.用两个等于浪费.

其余的参见(http://www.php.net/~derick/meeting-notes.html)

============================================
下面描述一下,在php6,没有mysql_*,我们怎么过.

首先要连接mysql数据库
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
//如果你想连mssql:
//mssql:host=localhost;dbname=testdb
//连pgsql:
//pgsql:host=localhost port=5432 dbname=testdb user=bruce password=mypass
//连odbc(DSN)
//odbc:testdb
//连access:
//odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin
//还有oracle,sqlite,db2....

我要执行个查询
  foreach ($dbh->query('SELECT * from FOO') as $row) {
     print_r($row); //这个结果和mysql_fetch_array差不多。PDOStatement::setFetchMode 可以调整。
  }
//现在多简单

另外还可以:
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
得到:
Fetch all of the remaining rows in the result set:
Array
(
   [0] => Array
       (
           [NAME] => pear
           [0] => pear
           [COLOUR] => green
           [1] => green
       )

   [1] => Array
       (
           [NAME] => watermelon
           [0] => watermelon
           [COLOUR] => pink
           [1] => pink
       )

)

偶还想删/更新条数据。
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");
//$count就是删除的条数。相当于mysql_affected_rows
//也可用PDOStatement::rowCount

偶忘了偶用啥数据库了。。。。
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
 echo "Running on mysql; doing something mysql specific here\n";
}

偶插入数据的时候要用mysql_escape_string.现在?

print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
得到:
Unquoted string: Nice
Quoted string: 'Nice'
//你看现在连引号都自动加了。。。。
//注意在不同的数据库中结果不同,比如有的' => '',有的' => \',\ => \\
//现在没顾虑了,全自动。

//最后偶要关闭它了
$conn = null; //fcicq和这个数据库连接要说再见了。。。。
//但是!你可以:
$dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
    array(PDO_ATTR_PERSISTENT => true)); //保持连接

很简单的不是?

附:特别简单的特殊调用方法:
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) { //你怕啥?自动quote!
 while ($row = $stmt->fetch()) {
   print_r($row);
 }
}

也可以:
$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

这么好的功能,哪里可以找到?php5.1以上在扩展里,php5在pecl里,php4?你别想了,没有。
联系作者fcicq: fcicqbbs at gmail dot com.
如果有问题,或者错误,均可联系。呵呵。
版权声明:非代码部分(含部分注释)原创,所有代码的均摘自手册
最后一句:喜悦首发,严禁转帖
php6 2007-06-13

06/ 曾经的魔岩三杰---张楚、何勇、窦唯

+0
 1994年10月魔岩文化同时出版发行三位中国歌手的个人专辑,
分别为窦唯的《黑梦》、张楚的《孤独的人是可耻的》以及何勇的《垃圾场》。
作为制作人和发行者 — 魔岩文化的张培仁将此三张专辑的同时推出标以“中国新音乐的春天”的口号。  
 当年12月17日晚上8点,窦唯、张楚、何勇以及作为嘉宾演出的唐朝乐队所参加的“摇滚中国乐势力”演唱会在香港红磡体育馆正式开演,这一演唱会被认为是中国摇滚乐黄金时代的旗帜,也是时至今日中国摇滚史上最具影响力的演唱会之一。从此,窦唯、何勇与张楚被并称以“魔岩三杰”,而这一套专辑也创造出百万销售奇迹(含盗版)。但此后不久,由于唱片公司的经济,乐手的商业运营,以及乐手的个人问题等种种原因,“魔岩三杰”先后脱离魔岩唱片。曾以“中国火”树起中国摇滚大旗的魔岩文化也从此销声匿迹。

 2004年12月17日,“摇滚中国乐势力”演唱会十周年之日,何勇单人在三里屯的九霄俱乐部举行了一场纪念演唱会,而此前受邀的窦唯、张楚和唐朝乐队并未出席。
多年未能同台献唱的“魔岩三杰”张楚、何勇以及窦唯将再现香港红磡体育场演出的经典,他们将联手许巍、谢天笑、汪峰、唐朝、零点、姜昕、罗琦、二手玫瑰、瘦人、面孔以及伍佰、黄贯中等摇滚中坚,在7月20日至22日举行的“鄂尔多斯首届草原摇滚音乐节”上为歌迷带来摇滚盛宴。

06/ 12条优化PHP的小提示

+0
1、If a method can be static, declare it static. Speed improvement is by a factor of 4.
1、如果一个函数可以声明为静态的,那么就用静态的,速度是改进的一个因素4.

2、# Avoid magic like __get, __set, __autoload
2、避免使用__get, __set, __autoload等魔术函数

3、require_once() is expensive
3、require_once()是相当昂贵的。

4、Use full paths in includes and requires, less time spent on resolving the OS paths.
4、用include和require时,尽量用全路径,可以减少花在解决OS路径的时间
php 2007-06-10

06/ PHP常用正则表达式收集

+0
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。文章转载自:http://www.phpchina.com/31423/viewspace_9417.html

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了