最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ThinkPHP3.1新特性之字段合法性檢測詳解

 更新時間:2014年06月19日 14:46:53   投稿:shichen2014  
表單提交的字段合法性檢測,可以更好的保護數(shù)據(jù)的安全性。這一特性是3.1安全特性中的一個重要部分。這篇文章主要介紹了ThinkPHP3.1的字段合法性檢測,需要的朋友可以參考下

ThinkPHP3.1版增加了表單提交的字段合法性檢測,可以更好的保護數(shù)據(jù)的安全性。這一特性是3.1安全特性中的一個重要部分。

表單字段合法性檢測需要使用create方法創(chuàng)建數(shù)據(jù)對象的時候才能生效,具體有兩種方式:

一、屬性定義

可以給模型配置insertFields 和 updateFields屬性用于新增和編輯表單設置,使用create方法創(chuàng)建數(shù)據(jù)對象的時候,不在定義范圍內(nèi)的屬性將直接丟棄,避免表單提交非法數(shù)據(jù)。

insertFields 和 updateFields屬性的設置采用字符串(逗號分割多個字段)或者數(shù)組的方式,例如:

class UserModel extends Model{
  protected $insertFields = array('account','password','nickname','email');
  protected $updateFields = array('nickname','email');
 }

設置的字段應該是實際的數(shù)據(jù)表字段,而不受字段映射的影響。

在使用的時候,我們調(diào)用create方法的時候,會根據(jù)提交類型自動識別insertFields和updateFields屬性:

D('User')->create();

使用create方法創(chuàng)建數(shù)據(jù)對象的時候,新增用戶數(shù)據(jù)的時候,就會屏蔽'account','password','nickname','email' 之外的字段,編輯的時候就會屏蔽'nickname','email'之外的字段。

下面是采用字符串定義的方式,同樣有效:

class UserModel extends Model{
  protected $insertFields = 'account,password,nickname,email';
  protected $updateFields = 'nickname,email';
 }

二、方法調(diào)用

如果不想定義insertFields和updateFields屬性,或者希望可以動態(tài)調(diào)用,可以在調(diào)用create方法之前直接調(diào)用field方法,例如,實現(xiàn)和上面的例子同樣的作用:

在新增用戶數(shù)據(jù)的時候,使用:

$User = M('User');
$User->field('account,password,nickname,email')->create();
$User->add();

而在更新用戶數(shù)據(jù)的時候,使用:

$User = M('User');
$User->field('nickname,email')->create();
$User->where($map)->save();

這里的字段也是實際的數(shù)據(jù)表字段。field方法也可以使用數(shù)組方式。

使用字段合法性檢測后,你不再需要擔心用戶在提交表單的時候注入非法字段數(shù)據(jù)了。顯然第二種方式更加靈活一些,根據(jù)需要選擇吧!

相關(guān)文章

  • Laravel實現(xiàn)通過blade模板引擎渲染視圖

    Laravel實現(xiàn)通過blade模板引擎渲染視圖

    今天小編就為大家分享一篇Laravel實現(xiàn)通過blade模板引擎渲染視圖,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • Yii2.0中的COOKIE和SESSION用法

    Yii2.0中的COOKIE和SESSION用法

    Yii2的Cookie主要是通過yii/web/Request和yii/web/Response進行操作的,Yii2的Session比較簡單 ,直接通過/Yii::$app->session進行操作就好了。本文給大家介紹COOKIE和SESSION用法,需要的朋友參考下
    2016-08-08
  • PHP中比較時間大小實例

    PHP中比較時間大小實例

    這篇文章主要介紹了PHP中比較時間大小實例,可能是最基礎的寫法了,直接用運算符比較,需要的朋友可以參考下
    2014-08-08
  • 淺談laravel框架sql中g(shù)roupBy之后排序的問題

    淺談laravel框架sql中g(shù)roupBy之后排序的問題

    今天小編就為大家分享一篇淺談laravel框架sql中g(shù)roupBy之后排序的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • swoole_process實現(xiàn)進程池的方法示例

    swoole_process實現(xiàn)進程池的方法示例

    這篇文章主要介紹了swoole_process實現(xiàn)進程池的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • PHP實現(xiàn)微信申請退款功能

    PHP實現(xiàn)微信申請退款功能

    這篇文章主要為大家詳細介紹了PHP實現(xiàn)微信申請退款功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下方法
    2018-10-10
  • php中存儲用戶ID和密碼到mysql數(shù)據(jù)庫的方法

    php中存儲用戶ID和密碼到mysql數(shù)據(jù)庫的方法

    對用戶身份驗證,最常用的方法就是將用戶id與密碼保存進數(shù)據(jù)庫中了,然后再寫一些登錄檢測代碼,就可以使用了
    2013-02-02
  • PHP 中 var_export、print_r、var_dump 調(diào)試中的區(qū)別

    PHP 中 var_export、print_r、var_dump 調(diào)試中的區(qū)別

    這篇文章主要介紹了PHP 中 var_export、print_r、var_dump 調(diào)試中的區(qū)別,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • YII框架關(guān)聯(lián)查詢操作示例

    YII框架關(guān)聯(lián)查詢操作示例

    這篇文章主要介紹了YII框架關(guān)聯(lián)查詢操作,結(jié)合實例形式分析了Yii框架關(guān)聯(lián)查詢的實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-04-04
  • Zend Framework開發(fā)入門經(jīng)典教程

    Zend Framework開發(fā)入門經(jīng)典教程

    這篇文章主要介紹了Zend Framework開發(fā)入門知識點,詳細介紹了Zend Framework開發(fā)的zend源碼下載,環(huán)境配置,基本組件使用與相關(guān)注意事項等,需要的朋友可以參考下
    2016-03-03

最新評論

广昌县| 曲沃县| 都匀市| 丁青县| 屏东市| 秦皇岛市| 黄大仙区| 龙州县| 屏东市| 夏河县| 界首市| 浮山县| 南投市| 乐陵市| 靖州| 合水县| 伊宁县| 密山市| 太湖县| 吴忠市| 阿克陶县| 新龙县| 侯马市| 武陟县| 都江堰市| 大埔区| 昭苏县| 洱源县| 江孜县| 昌平区| 营口市| 北川| 阿巴嘎旗| 乳山市| 卢龙县| 武威市| 衡东县| 增城市| 昌宁县| 比如县| 胶州市|