導航:首頁 > 凈水問答 > thinkphp富文本過濾

thinkphp富文本過濾

發布時間:2022-05-29 18:18:40

㈠ thinkphp怎麼做才是安全的sql防注入

  1. 注入的產生一般都是對用戶輸入的參數未做任何處理直接對條件和語句進行拼裝.


    代碼舉例:

    //不安全的寫法舉例1

$_GET['id']=8;//希望得到的是正整數

$data=M('Member')->where('id='.$_GET['id'])->find();

$_GET['id']='8 or status=1';//隱患:構造畸形查詢條件進行注入;

//安全的替換寫法

$data=M('Member')->where(array('id'=>$_GET['id']))->find();//使用數組方式將自動使用框架自帶的欄位類型檢測防止注入

$data=M('Member')->where(array('id'=>(int)$_GET['id']))->find();//類型約束

$data=M('Member')->where('id='.intval($_GET['id']))->find();//類型轉換

$data=M('Member')->where(array('id'=>I('get.id','','intval')))->find();//本人習慣寫法

$data=M('Member')->where(array('id'=>':id'))->bind(':id',I('get.id'))->select();//PDO驅動可以使用參數綁定

$data=M('Member')->where("id=%d",array($_GET['id']))->find();//預處理機制

//不安全的寫法舉例2

$_GET['id']=8;//希望得到的是正整數

$data=M()->query('SELECT * FROM `member` WHERE id='.$_GET['id']);//執行的SQL語句

$_GET['id']='8 UNION SELECT * FROM `member`';;//隱患:構造畸形語句進行注入;

2.防止注入的總的原則是<<根據具體業務邏輯,對來源於用戶的值的范圍,類型和正負等進行限制和判斷>>,同時<<盡量使用THINKPHP自帶的SQL函數和寫法>>.

3.在THINKPHP3.2版本中的操作步驟是:
一:在項目配置文件中添加配置: 'DEFAULT_FILTER' => 'htmlspecialchars', //默認過濾函數
二: 使用框架帶的I方法獲取來自用戶提交的數據;
例子:M('Member')->save(array('content'=>I('post.content')));這樣添加的content內容是經過htmlspecialchars處理過的.

4.為COOKIE添加httponly配置


5.最新版本的thinkphp已經支持此參數。

9.富文本過濾

富文本過濾是,XSS攻擊最令人頭疼的話題,不僅是小網站,就連BAT這樣的巨頭也是三天兩頭的被其困擾.

㈡ php 關於thinkphp的防sql注入跟過濾問題

防止注入
opensns
對於WEB應用來說,SQL注入攻擊無疑是首要防範的安全問題,系統底層對於數據安全方面本身進行了很多的處理和相應的防範機制,例如:
$User = M("User"); // 實例化User對象
$User->find($_GET["id"]);
即便用戶輸入了一些惡意的id參數,系統也會強制轉換成整型,避免惡意注入。這是因為,系統會對數據進行強制的數據類型檢測,並且對數據來源進行數據格式轉換。而且,對於字元串類型的數據,ThinkPHP都會進行escape_string處理(real_escape_string,mysql_escape_string)。
通常的安全隱患在於你的查詢條件使用了字元串參數,然後其中一些變數又依賴由客戶端的用戶輸入,要有效的防止SQL注入問題,我們建議:
查詢條件盡量使用數組方式,這是更為安全的方式;
如果不得已必須使用字元串查詢條件,使用預處理機制(3.1版本新增特性);
開啟數據欄位類型驗證,可以對數值數據類型做強制轉換;(3.1版本開始已經強制進行欄位類型驗證了)
使用自動驗證和自動完成機制進行針對應用的自定義過濾;
欄位類型檢查、自動驗證和自動完成機制我們在相關部分已經有詳細的描述。
查詢條件預處理
where方法使用字元串條件的時候,支持預處理(安全過濾),並支持兩種方式傳入預處理參數,例如:
$Model->where("id=%d and username='%s' and xx='%f'",array($id,$username,$xx))->select();
或者
$Model->where("id=%d and username='%s' and xx='%f'",$id,$username,$xx)->select();
模型的query和execute方法 同樣支持預處理機制,例如:
$model->query('select * from user where id=%d and status=%d',$id,$status);
或者
$model->query('select * from user where id=%d and status=%d',array($id,$status));
execute方法用法同query方法。

㈢ ThinkPHP中I(),U(),$this->post()等函數用法

本文實例講述了ThinkPHP中I(),U(),$this->post()等函數的用法。分享給大家供大家參考。具體方法如下:
在ThinkPHP中在控制器中接受表單的數據可以使用如下方法:
1、$_POST[]/$_GET[],但是這個接受的表單內容不會通過htmlspecialchars();函數進行過濾。如果想使用這個接收數據,需要手動處理表單數據
2、可以用接收表單函數復制代碼
代碼如下:$this->_post();$this->_get();,這個函數默認就會使用htmlspecialchars()進行過濾,不用手動過濾。
3、在thinkphp3.1.3中有一個新的函數I();直接接收表單數據,並默認為htmlspecailchars();過濾這個函數有這些欄位
I('需要接收的表單名','如果數據為空默認值','使用的函數處理表單數據');
U();函數是輸出地址
U('操作名','array()參數','偽靜態後綴名',是否跳轉,域名)
希望本文所述對大家的ThinkPHP框架程序設計有所幫助。

㈣ thinkphp I函數 怎麼過濾提交的富文本編輯HTML

你的辦法完全可行,底層裡面實際上就是把過濾函數作為一個函數而執行的,參數就是你的數據,所以你自建的函數完全可以運行,但是要放到公共函數庫中。例如:放到Application/Common/Common/function.php中

㈤ thinkphp如何過濾名字重復的記錄

example.對欄位進行去重回

$index = $select->distinct ( true )->where ( 'parent_id=0' )->field ( 'index' )->select ();

SELECT TOP 3
degree ,
COUNT(1) AS 人數答
FROM
Student
GROUP BY
degree
ORDER BY
degree DESC

㈥ thinkphp3.2 資料庫添加內容怎樣用field過濾

在thinkphp中,$User->...->select()/add()/save()這個連貫操作里的'...'部分是不分順序的.
你換個寫法: $User->field('name')->save($data);或者$User->field('name')->add($data)
這個才是手冊里提到的欄位過濾

㈦ thinkphp5.0 使用Db類,欄位不存在,有欄位過濾的方法嗎

有的,可以使用strict來過濾非數據表欄位。案例如下:

Db::name('user')->strict(true)->insert($data);

只需要在鏈式調用中使用strict方法並將其參數設置為true即可。

如果開啟欄位嚴格檢查的話,在更新和寫入資料庫的時候,一旦存在非數據表欄位的值,則會拋出異常。

㈧ thinkphp用Ueditor富文本框寫入資料庫數據怎麼變了

1,框架本身提供了過濾危險字元的方法,這是正確的。你如果不想這樣可直接使用$_POST或者$_GET去接受數據,進行保存就不會出現這樣的問題。

2,或者當在頁面進行展示的時候,把這些已經轉義的字元使用html_entity_decode()給解析回來即可。

㈨ thinkphp里I方法過濾方法都有什麼有看到過intval和htmlspecialchars,手冊沒見過,想知道所有過濾方法

你好,我所知道的:
1 strip_tags:從字元串中去除 HTML 和 PHP 標記

2 mysql_escape_string:轉義一個字元串用於 mysql_query

這些函數在防注入方內面起到很大容的作用.

㈩ 富文本編輯器怎麼在thinkphp中使用

富文本編輯器在前端調用,然後表單獲取值就可以了啊,不通的編輯器使用方法也不同,看手冊~目前國內用的比較多的有kindeditor和ueditor

閱讀全文

與thinkphp富文本過濾相關的資料

熱點內容
液相用溶劑過濾器 瀏覽:674
納濾水導電率 瀏覽:128
反滲透每小時2噸 瀏覽:162
做一個純凈水工廠需要多少錢 瀏覽:381
最終幻想4回憶技能有什麼用 瀏覽:487
污水提升器采通 瀏覽:397
反滲透和不發滲透凈水器有什麼區別 瀏覽:757
提升泵的揚程 瀏覽:294
澤德提升泵合肥經銷商 瀏覽:929
飲水機後蓋漏水了怎麼辦 瀏覽:953
小型電動提升器 瀏覽:246
半透膜和細胞膜區別 瀏覽:187
廢水拖把池 瀏覽:859
十四五期間城鎮污水處理如何提質增效 瀏覽:915
怎麼測試空氣凈化器的好壞 瀏覽:519
提升泵是幹嘛的 瀏覽:744
布油做蒸餾起沫咋辦 瀏覽:252
廣州工業油煙凈化器一般多少錢 瀏覽:204
喜哆哆空氣凈化器效果怎麼樣 瀏覽:424
油煙凈化器油盒在什麼位置 瀏覽:582