您的位置:首页 > 编程语言 > PHP开发

关于php的你未必知道的事情 2 3 4

2012-04-11 14:54 190 查看
=== 2 ===

一个很有用的函数。

大家经常会这么写

$var = isset($src)? $src : '';
这里要把$src写两遍,不够简单。(虽然可读性挺强的)

有个函数可以轻松解决这个问题

function isset_or(&$_var, $or = '') {
return (isset($_var)) ? $_var : $or;
}


注意参数$_var之前的引用符号&

=== 3 ===

数组装载自身

$GLOBAL 数组就装载了自身,$GLOBAL['GLOBAL']就是自己.

你用print_r()函数打印一下它就知道了.

=== 4 ===

过滤

大家都知道php的字符串需要过滤,以防止sql注入,跨站脚本攻击等等,于是就想不通为什么php不给自动过滤掉呢?

自动过滤是没有意义的. 因为大部分变量都不需要过滤.

什么时候需要过滤呢?其实这件事情很简单.你只需要记住只有满足以下两点的字符串才需要过滤:

1. 字符串来自用户(或者被用户污染过)

2. 需要嵌入外部代码中(比如1. SQL语句 2. HTML代码 3. 命令行)

第一种情况需要给变量套上mysql_real_escape_string()函数,第二种情况需要给变量套上htmlspecialchars()函数(也就是说每个echo都需要这么做).第三种情况需要套上escapeshellcmd() 和 escapeshellarg() 函数.

就是这么简单.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: