PHP: The Good Parts - PHP语言精粹 - 读书笔记

花了三个晚上看完了《PHP: The Good Parts - PHP语言精粹》这本书,感觉还不错,书读起来很流畅,而且解决了几个我以往模糊不清的概念,特作笔记在此。

1、PHP函数参数的按引用传递

在函数定义的时候,定义参数为按引用传递即可,范例如下:
function diplayit(&$text){
    $text .= ', you know you want to";
}
$message = 'say hello to the web world";
displayit($message);
echo $message;

2、几个有用的PHP函数

将一个数组中的元素按照各自的对应关系转换成变量,用键名作为变量名,用值作为变量的值。
int extract ( array $var_array [, int $extract_type [, string $prefix ]] )
从数组中将变量导入到当前的符号表。接受结合数组 var_array 作为参数并将键名当作变量名,值作为变量的值。对每个键/值对都会在当前的符号表中建立变量,并受到 extract_type 和 prefix 参数的影响。 如果没有指定 extract_type ,则被假定为 EXTR_OVERWRITE。 这个函数一般在框架的控制层加载视图层的实现中都有用到,作用很大,使用很广。
EXTR_OVERWRITE
如果有冲突,覆盖已有的变量。
EXTR_SKIP
如果有冲突,不覆盖已有的变量。
EXTR_PREFIX_ALL
给所有变量名加上前缀 prefix 。

去掉字符串中的所有HTML标签
string strip_tags ( string $str [, string $allowable_tags ] )
生成文章摘要的时候很有用。

对字符串进行防注入过滤[输入时使用]
string addslashes ( string $str )
默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

对字符串进行防XSS过滤[输出时使用]
string htmlentities ( string $string [, int $quote_style = ENT_COMPAT [, string $charset [, bool $double_encode = true ]]] )
将字符串中的html标记转换到原生格式。


你可能感兴趣的:(PHP,注入,xss,按引用传递)