TP5框架安全機制實例分析
本文實例講述了TP5框架安全機制。分享給大家供大家參考,具體如下:
防止sql注入
1、查詢條件盡量使用數(shù)組方式,具體如下:
$wheres = array(); $wheres['account'] = $account; $wheres['password'] = $password; $User->where($wheres)->find();
2、如果必須使用字符串,建議使用預處理機制,具體如下:
$User = D('UserInfo'); $User->where('account="%s" andpassword="%s"',array($account,$password))->find();
3、可以使用PDO方式(綁定參數(shù)),因為這里未使用PDO,所以不羅列,感興趣的可自行查找相關資料。
表單合法性檢測
1、配置insertFields和updateFields屬性
class UserInfoModelextends Model { // 數(shù)據(jù)表名字 protected $tureTableName ='user'; // 配置插入和修改的字段匹配設置(針對表單) protected $insertFields =array('name','sex','age'); protected $updateFields =array('nickname','mobile'); }
上面的定義之后,當我們使用了create方法創(chuàng)建數(shù)據(jù)對象后,再使用add方法插入數(shù)據(jù)時,只會插入上面配置的幾個字段的值(更新類同),具體如下:
// 用戶注冊(示意性接口:插入) public function register() { // ... // 使用Model的create函數(shù)更安全 $User= D('UserInfo'); $User->create(); $ID= $User->add(); if($ID) { $result= $User->where('id=%d',array($ID))->find(); echo json_encode($result); } // ... }
2、使用field方法直接處理
// 插入 M('User')->field('name,sex,age')->create(); // 更新 M('User')->field('nickname,mobile')->create();
更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。
相關文章
PHP SPL標準庫之文件操作(SplFileInfo和SplFileObject)實例
這篇文章主要介紹了PHP SPL標準庫之文件操作(SplFileInfo和SplFileObject)實例,本文講解SplFileInfo用來獲取文件詳細信息、SplFileObject遍歷、查找指定行、寫入csv文件等內容,需要的朋友可以參考下2015-05-05利用PHP繪圖函數(shù)實現(xiàn)簡單驗證碼功能的方法
下面小編就為大家?guī)硪黄肞HP繪圖函數(shù)實現(xiàn)簡單驗證碼功能的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10php使用mb_check_encoding檢查字符串在指定的編碼里是否有效
本文說的是PHP使用mb_check_encoding檢查字符串在指定的編碼里是否有效的實例2013-11-11PHP設計模式(八)裝飾器模式Decorator實例詳解【結構型】
這篇文章主要介紹了PHP設計模式:裝飾器模式Decorator,結合實例形式分析了PHP裝飾器模式Decorator相關概念、功能、原理、用法及操作注意事項,需要的朋友可以參考下2020-05-05PHP實現(xiàn)RSA加解密算法示例(生成密鑰位數(shù)為1024位的方法)
下面小編就為大家分享一篇PHP實現(xiàn)RSA加解密算法示例(生成密鑰位數(shù)為1024位的方法),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03CodeIgniter針對數(shù)據(jù)庫的連接、配置及使用方法
這篇文章主要介紹了CodeIgniter針對數(shù)據(jù)庫的連接、配置及使用方法,結合實例形式分析了CodeIgniter針對數(shù)據(jù)庫的連接配置及常用操作技巧,需要的朋友可以參考下2016-03-03PHP加Nginx實現(xiàn)動態(tài)裁剪圖片方案
這篇文章主要介紹了PHP加Nginx實現(xiàn)動態(tài)裁剪圖片的方案,使用Imagick組件實現(xiàn),需要的朋友可以參考下2014-03-03