tp5框架原理詳解_TP5框架安全機制實例分析

本文實例講述了TP5框架安全機制。分享給大家供大家參考,具體如下:

防止sql注入

1、查詢條件盡量使用數組方式,具體如下:

$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方式(綁定參數),因為這里未使用PDO,所以不羅列,感興趣的可自行查找相關資料。

表單合法性檢測

1、配置insertFields和updateFields屬性

class UserInfoModelextends Model {

// 數據表名字

protected $tureTableName ='user';

// 配置插入和修改的字段匹配設置(針對表單)

protected $insertFields =array('name','sex','age');

protected $updateFields =array('nickname','mobile');

}

上面的定義之后,當我們使用了create方法創建數據對象后,再使用add方法插入數據時,只會插入上面配置的幾個字段的值(更新類同),具體如下:

// 用戶注冊(示意性接口:插入)

public function register() {

// ...

// 使用Model的create函數更安全

$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框架的PHP程序設計有所幫助。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/397257.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/397257.shtml
英文地址,請注明出處:http://en.pswp.cn/news/397257.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

碧藍航線8.20服務器維護,碧藍航線半人馬來襲 8.20更新公告

半人馬來襲!碧藍航線將于8月20日9:00~11:00對安卓、iOS全港區進行為期2小時的改造建設,維護后將開啟限時活動「盛夏的半人馬座」,一起來看看吧。一、內容新增1.開啟限時活動「盛夏的半人馬座」,活動時間8月20日維護后~8月30日&…

MySQL安裝與設置

下載zip,配置 1,系統變量添加:...\mysql-5.7.10-winx64,環境變量添加:%MYSQL_HOME%\bin 2,修改MySQL.ini basedir(同系統變量路徑) datadir(系統變量路徑\data) port 33…

后端把Long類型的數據傳給前端,前端可能會出現精度丟失的情況,以及解決方案...

后端把Long類型的數據傳給前端,前端可能會出現精度丟失的情況。例如:201511200001725439這樣一個Long類型的整數,傳給前端后會變成201511200001725440。 解決方法: 方法一:在后臺將這個Long類型的字段轉換成String類型…

傳奇服務端各文件用途說明

MirServer(服務器目錄)├DBServer(數據庫服務端)│ ├Connection│ ├FDB(人物數據庫,數據庫格式為傳奇自定義格式)│ ├Log(角色選擇服務端日志)│ ├!AddrTable.txt(IP地址配置)│ ├!IdList.txt(交費賬號列表,!Setup.exe中ServiceModeTRUE時起作用)│…

認證服務器協議,基于口令的客戶端/服務器認證協議

摘要:Identity authentication is the precondition for secure communication between the client and the server. Kim and Chung presented a mutual authentication scheme for client/server scene. The authors realized the mutual authentication with the …

印章仿制工具_仿制圖章工具怎么用

在日常生活中,有時候我們需要帳單表格上的文字,用PS的防制圖章工具,可以十分方便快捷的處理出來。我想最恨學霸的就是學渣了吧,因為他們每次考試成績都是科科滿分。是家長嘴里別人家的孩子。那么今天就教學渣一個神技能&#xff0…

java日期的運用(DateUtils工具類)

public static void main(String[] args) { Date now new Date(); SimpleDateFormat sd new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("------當前時間--------:" sd.format(now)); //年: 加、減操作 System.out.…

1、rbac權限組件-初識, 中間件校驗1

1、權限組件rbac 1、什么是權限 1 項目與應用 2 什么是權限? 一個包含正則表達式url就是一個權限 who what how ---------->True or Flase 2、版本1:用戶表與權限url表 對應關系 # 版本1UserInforname pwdpermissionmodels.manytomany(Permissi…

html中視頻播放完后可以跳到另一個html

2:jquery 的例子如下$(document).ready(function(){$("#audioId").bind(ended, function(){location.href"other.html";});});轉載于:https://www.cnblogs.com/mailan/p/4972123.html

實現打印異常日志_老生常談SpringAop日志收集與處理做的工具包

場景 :使用Spring Aop攔截參數日志目前大部分做法都基本上大同小異,不想日后每個項目工程都寫一份這樣的Aop攔截處理日志的代碼,甚至代碼侵入。我想知道一些相對重要的請求方法的請求參數,響應參數,請求頭,以及內部耗時,方法是成功還是失敗等等信息。發生錯誤時我也不知道執行到…

服務器128g內存顯示64g,64g內存服務器

64g內存服務器 內容精選換一換華為云幫助中心,為用戶提供產品簡介、價格說明、購買指南、用戶指南、API參考、最佳實踐、常見問題、視頻幫助等技術文檔,幫助您快速上手使用華為云服務。接口名稱GetCloudPhoneServerModelsGetCloudPhoneServerModels功能描…

[LeetCode]--71. Simplify Path

Given an absolute path for a file (Unix-style), simplify it. For example, path “/home/”, > “/home” path “/a/./b/../../c/”, > “/c” click to show corner cases. Corner Cases: Did you consider the case where path “/../”? In this case, …

IOPLL動態重配

連接 Avalon -MM接口 mgmt_waitrequest:當 PLL 重配置進程開始后,此端口變高并在 PLL 重配置期間保持高電平。 PLL 重配置進程完成后,此端口變低。 I/O PLL重配寫操作步驟: 1、 為mgmt_address和mgmt_writedata設置有效值,并且…

android 的屬性動畫

public void zyluoti(View v){ValueAnimator animator ValueAnimator.ofFloat(0,screenHeight - mImageView.getHeight());//設置屬性動畫的值,值的類型為floatanimator.setDuration(1000);//動畫的作用時間animator.setTarget(mImageView);//設置動畫的作用目標an…

qt中如何模擬按鈕點擊_如何快速在 Shopify 中加入按鈕

假如你會 CSS , HTML , JS 三件套,那么修改 Shopify 代碼將不會太難(畢竟一個模板中的代碼量還是挺多的,除非深入研究了代碼,不然改起來還是會比較麻煩的)。但挺多玩家是不會這三件套的,修改代碼來達到添加…

clear ,refresh,free

itab 即是內表也是工作區的情況下,即with header line. clear itab,僅清空HEADER LINE,對內表數據存儲空間不影響,保留內存區。 refresh itab,不清空HEADER LINE,清除內表數據存儲空間,但保存內…

淺談關于java中的深淺拷貝

一.淺拷貝(shallow copy) 1.如何實現淺拷貝? Object類 是所有類的直接或間接父類,Object中存在clone方法,如下 protected native Object clone() throws CloneNotSupportedException; 如果想要使一個類的對象能夠調用clone方法 ,則需要實現Cloneable接口, 并重寫 clone方法: p…

iOS開發-Protocol協議及委托代理(Delegate)傳值

前言:因為Object-C是不支持多繼承的,所以很多時候都是用Protocol(協議)來代替。Protocol(協議)只能定義公用的一套接口,但不能提供具體的實現方法。也就是說,它只告訴你要…

git 查看分支編碼_12個常用的Git命令,趕緊記一波!

今天齊姐簡單講下 Git 的實現原理,知其所以然才能知其然;并且梳理了日常最常用的 12 個命令,分為三大類分享給你。本文的結構如下:作者和開發原由Git 的數據模型常用命令資源推薦作者和開發原由Talk is cheap. Show me the code.這…

在域環境下搭建samba服務器

環境:samba:smbserver: 192.168.0.18AD:rise.com:192.168.0.37組:zixun xingzheng teacher class admin共享目錄:zixun xingzheng xueshu other一.安裝Samba服務器yum install -y samba二.把linux加入到ad中1.先…