從輸入中剝離html標籤的最佳方法是什麼?Codeigniter從輸入中剝離HTML標籤
如何刪除HTML標記,同時驗證輸入
$this->form_validation->set_rules('description', 'Description', 'trim|xss_clean');
我是否需要添加自定義的回調方法來驗證規則?
從輸入中剝離html標籤的最佳方法是什麼?Codeigniter從輸入中剝離HTML標籤
如何刪除HTML標記,同時驗證輸入
$this->form_validation->set_rules('description', 'Description', 'trim|xss_clean');
我是否需要添加自定義的回調方法來驗證規則?
據this,你可以直接添加用strip_tags到set_rules()
:
接受一個參數的任何本地的PHP函數可以用作規則,如htmlspecialchars,trim,MD5等。
所以它可能看起來像這樣:
$this->form_validation->set_rules('description', 'Description',
'trim|xss_clean|strip_tags');
我是否需要將自定義回調方法 添加到驗證規則中?
我想是的,你也可以這樣做:
$stripped = strip_tags($content);
通過應用程序輸入的毯式過濾完全是假的。它將破壞潛在有效的輸入,並且不能可靠地防止XSS。從XSS安全的唯一方法是在輸出階段處正確地轉義每個插入HTML 的文本字符串,例如。使用htmlspecialchars
。
CodeIgniter的xss_clean
做了一個非常令人驚訝的鈍和愚蠢的字符串集合甚至由非常低的標準的「XSS保護」工具;你不應該在任何情況下使用它。
請使用此代碼
$this->form_validation->set_rules('description', 'Description',
'trim|strip_tags|xss_clean');