亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜尋
Array Array Helper Benchmarking Benchmarking Class Caching Caching Driver Calendaring Calendaring Class CAPTCHA CAPTCHA Helper Config Config Class Cookie Cookie Helper Database Connecting to your Database Custom Function Calls Database Caching Class Database Configuration Database Forge Class Database Metadata Database Quick Start: Example Code Database Reference Database Utility Class DB Driver Reference Generating Query Results Queries Query Builder Class Query Helper Methods Transactions Date Date Helper Directory Directory Helper Download Download Helper Email Email Class Email Helper Encrypt Encrypt Class Encryption Encryption Library File File Helper File Uploading File Uploading Class Form Form Helper Form Validation Form Validation FTP FTP Class Functions compatibility_functions common_functions HTML HTML Helper HTML Table HTML Table Class Image Manipulation Image Manipulation Class Inflector Inflector Helper Input Input Class Javascript Javascript Class Language Language Class Language Helper Loader Loader Class Migrations Migrations Class Number Number Helper Output Output Class Pagination Pagination Class Path Path Helper Security Security Class Security Helper Session Session Library Shopping Cart Shopping Cart Class Smiley Smiley Helper String String Helper Template Parser Template Parser Class Text Text Helper Trackback Trackback Class Typography Typography Class Typography Helper Unit Testing Unit Testing Class URI URL User Agent XML XML-RPC and XML-RPC Server Zip Encoding Zip Encoding Class XML-RPC and XML-RPC Server Classes XML Helper User Agent Class URL Helper URI Class
文字

SecurityClass包含幫助您創(chuàng)建安全應(yīng)用程序的方法,用于處理安全輸入數(shù)據(jù)。

  • XSS濾波

  • 跨站點請求偽造%28CSRF%29

  • 類引用

XSS濾波

CodeIgniter附帶了一個跨站點腳本預(yù)防過濾器,它尋找常用的技術(shù)來觸發(fā)JavaScript或其他類型的代碼,這些代碼試圖劫持cookie或做其他惡意的事情。如果遇到任何不允許的情況,則通過將數(shù)據(jù)轉(zhuǎn)換為字符實體來安全地呈現(xiàn)。

若要通過XSS篩選器篩選數(shù)據(jù),請使用xss_clean()方法:

$data = $this->security->xss_clean($data);

可選的第二個參數(shù),是[醫(yī)]圖像,允許使用此函數(shù)測試圖像是否可能受到XSS攻擊,這對于文件上傳安全性非常有用。如果第二個參數(shù)設(shè)置為true,而不是返回修改過的字符串,則如果圖像安全,則返回true;如果圖像包含瀏覽器可能試圖執(zhí)行的惡意信息,則返回false。

if ($this->security->xss_clean($file, TRUE) === FALSE){        // file failed the XSS test}

重要

如果您想過濾HTML屬性值,請html_escape()改為使用!

跨站請求偽造(CSRF)

您可以通過更改application/config/config.php以下列方式存檔:

$config['csrf_protection'] = TRUE;

如果您使用表單助手,然后form_open()將自動在窗體中插入隱藏的CSRF字段。如果沒有,那么您可以使用get_csrf_token_name()get_csrf_hash()

$csrf = array(        'name' => $this->security->get_csrf_token_name(),        'hash' => $this->security->get_csrf_hash());...<input type="hidden" name="<?=$csrf['name'];?>" value="<?=$csrf['hash'];?>" />

令牌可以在每次提交時重新生成(默認(rèn)),也可以在CSRF Cookie的整個生命周期內(nèi)保持不變。默認(rèn)的令牌重新生成提供了更嚴(yán)格的安全性,但可能會導(dǎo)致其他令牌無效(后退/前進導(dǎo)航,多個選項卡/窗口,異步操作等)的可用性問題。您可以通過編輯以下配置參數(shù)來改變此行為

$config['csrf_regenerate'] = TRUE;

選擇URI可以通過csrf保護列入白名單(例如期望外部發(fā)布內(nèi)容的API端點)。您可以通過編輯'csrf_exclude_uris'配置參數(shù)來添加這些URI:

$config['csrf_exclude_uris'] = array('api/person/add');

正則表達式也被支持(不區(qū)分大小寫):

$config['csrf_exclude_uris'] = array(        'api/record/[0-9]+',        'api/title/[a-z]+');

類引用

class CI_Securityxss_clean($str[, $is_image = FALSE])

參數(shù):

$ str(mixed) - 輸入字符串或字符串?dāng)?shù)組

返回:

XSS清理數(shù)據(jù)

返回類型:

  • $ strmixed) - 輸入字符串或字符串?dāng)?shù)組返回:XSS干凈數(shù)據(jù)返回類型:混合嘗試從輸入數(shù)據(jù)中除去XSS漏洞并返回已清理的字符串。如果可選的第二個參數(shù)設(shè)置為true,如果圖像可以安全使用,它將返回布爾值TRUE;如果檢測到惡意數(shù)據(jù),則返回FALSE。重要此方法不適用于過濾HTML屬性值!html_escape()改為使用。sanitize_filename($str[, $relative_path = FALSE])參數(shù):$ str(string) - 文件名/路徑$ relative_path(bool) - 是否保留文件中的任何目錄pathReturns:清理文件名/路徑返回類型:字符串

  • $ strstring) - 文件名/路徑

  • $ relative_pathbool) - 是否保留文件路徑中的任何目錄

Returns:  Sanitized file name/path
Return type:  string
Tries to sanitize filenames in order to prevent directory traversal attempts and other security threats, which is particularly useful for files that were supplied via user input.

$ filename = $ this-> security-> sanitize_filename($ this-> input-> post('filename'));

如果用戶輸入可以接受相對路徑,例如file / in / some / approved / folder.txt,則可以將第二個可選參數(shù)設(shè)置$relative_path為TRUE。

$ filename = $ this-> security-> sanitize_filename($ this-> input-> post('filename'),TRUE);

get_csrf_token_name()

返回:

CSRF令牌名稱

返回類型:

get_csrf_hash()

返回:

CSRF哈希

返回類型:

entity_decode($str[, $charset = NULL])

參數(shù):

$ str(string) - 輸入字符串$ charset(string) - 輸入字符串的字符集

返回:

實體解碼的字符串

返回類型:

  • $ strstring) - 輸入字符串

  • $ charset字符串) - 輸入字符串的字符集

Returns:  Entity-decoded string
Return type:  string
This method acts a lot like PHP’s own native `html_entity_decode()` function in ENT\_COMPAT mode, only it tries to detect HTML entities that don’t end in a semicolon because some browsers allow that.

如果$charset參數(shù)為空,則配置$config['charset']價值將被使用。

get_random_bytes($length)

參數(shù):

$ length(int) - 輸出長度

返回:

隨機字節(jié)的二進制流或失敗時為FALSE

返回類型:

  • $ lengthint) - 輸出長度

Returns:  A binary stream of random bytes or FALSE on failure
Return type:  string
A convenience method for getting proper random bytes via `mcrypt_create_iv()`, `/dev/urandom` or `openssl_random_pseudo_bytes()` (in that order), if one of them is available.

用于生成CSRF和XSS令牌。

輸出不一定是加密安全的,這是最好的嘗試。

上一篇: 下一篇: