最近寫個系統,沒有安全過濾輸入的,想採用CI的輸入類,分析了下,有三個檔案是需要的system/core下的
utf8.php,security.php,input.php
可以整合成一個文件,但是比較麻煩,還是用三個文件吧,這樣省事點。
使用的時候就像這樣:
//實例化安全輸入類別
$UNI = new utf8();
$SEC = new security();
$input = new input();
但是還有個關鍵的配置,$this->_enable_csrf= FALSE; 這個對應變數
= FALSE;預設是false的,如果你設定成了TRUE,這樣會在url後面加上_csrf_token_name的鍵值對,因為會在下面的程式碼中檢查這個
在CI 2.0中有一個csrf(Cross Site Request Forgery) protection的功能
如果打開這個功能的話
post給server 會吐error 500or 500 月requested is not allowed.
會無法執行
這個時候要在表單傳送的數值中加入一個token的值
才能正常使用表單功能
1234 |
' 'csrf_test_name' 'csrf_cookie_name' 'csrf_expire' |
2
3
4
1011
131415161718 $('#btn'). click(function(){ $.ajax({ 'POST' |
,url:
,dataType:
var
getCookie()是用js取出cookie的值 而csrf_test_name就是在config.php中可以設定的參數 有任何指教歡迎留言~ referer : http://ericlbarnes.com/blog/post/codeigniter_csrf_protection_with_ajax 以上就介紹了使用codeigniter的輸入類別,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。
|