沿線的某處我必須啓用一些什麼是轉義命令。我已經通過配置,似乎沒有什麼突出。我目前有$config['global_xss_filtering'] = FALSE;
,並且看不到還有其他的轉義完成。CodeIgniter與wordpress自動轉義發佈數據
我創建了一個空白的控制器
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Test extends CI_Controller {
public function index() {
var_dump($_POST);
$this->load->view('tinymce');
}
}
和一個非常基本的表格數據頁
<form method="post" action="<?php echo site_url() . uri_string()?>">
<textarea name="response"></textarea>
<input type="submit" value="submit">
</form>
對於一些奇怪的原因,當過我嘗試使用<a href="#"></a>
標籤中,寫了一個超鏈接網址總是被轉義,導致數據被破壞。
例子:在我寫test <a href="http://test.com">test url</a>
textarea的,POST數據轉儲出array (size=1) 'response' => string 'test <a href=\"http://test.com\">test url</a>' (length=45)
其中在收益高達爲http://example.com/http://test.com
我已經刪除了所有自動加載磁帶機,但仍然得到同樣的錯誤結束。我也嘗試過在全新的CI上安裝,但無法重現。如果我啓用$config['global_xss_filtering']
href結束被刪除,導致'test <a >test url</a>'
我注意到你的視圖叫做tinymce,你確定它不是配置問題嗎? – Zarathuztra
在我的測試腳本中,我甚至沒有使用tinymce,所以問題來自某個核心文件 – Bankzilla
我長期使用CI,並且從未遇到過像您所描述的問題。從內存中只有兩個地方可以讓你過濾。首先檢查global_xss_filtering是否設置爲false,然後使用'$ this-> input-> post(「postVar1」,false)來發布每個post var;'默認情況下,帖子的第二個參數應該已經爲false。 http://ellislab.com/codeigniter/user-guide/libraries/input.html瞭解更多關於輸入類的信息。此外,它可能值得測試JS/HTML前端,因爲您正在傾銷$ _POST,這不受CI的影響。祝你好運! – mic