1. 程式人生 > >FuelPHP 系列(五) ------ Security 防禦

FuelPHP 系列(五) ------ Security 防禦

func 所有 提交 odi scrip tac html option rip

項目中難免會有 form 提交,對用戶輸入的所有信息進行過濾,可以避免 XSS 攻擊,防止 SQL 註入。

一、設置配置信息

首先在 config.php 文件中,對 security 相關信息進行設置,

二、常用方法

1、clean($value, $filters = null)

//將 $text 通過過濾器 filters 進行過濾
$text = "<script>alert(111);</script>";
$filters = array(‘strip_tags‘, ‘htmlentities‘, ‘\\cleaners\\soap::clean‘);
$text
= Security::clean($text, $filters); //輸出結果如下: string(7) "t(111);"

2、strip_tags($value) 去除 HTML、PHP 標簽

//去除 $text 字符串中的 p 標簽
$text = ‘<p>Test paragraph.</p>‘;
$text = Security::strip_tags($text);

//輸出結果如下:
string(15) "Test paragraph." 

3、xss_clean($value, array $options = array())

//去除 $text 中的標簽,保留 <br/>
$text = ‘<script>alert("XSS attack!")<br/></script>‘; $text = Security::xss_clean($text, array(‘br‘)); //輸出結果為: string(39) "alert("XSS attack!") "

4、htmlentities($value, $flags = null, $encoding = null, $double_encode = null)

 //和 php 同名函數效果相同
$text = ‘<p>Test paragraph.</p>‘;
$text = Security::htmlentities($text);

5、e($string)

  e 函數是 Security::htmlentities. 函數的別名,效果相同

三、在模板中的用法

FuelPHP 系列(五) ------ Security 防禦