我們在使用CI框架進行Web開發(fā)時,常常需要從用戶輸入的表單獲取數(shù)據(jù)并加以處理。但是由于各種原因,有些不良用戶會在表單中注入一些HTML代碼,以達到一些不良目的。為了避免這種情況的發(fā)生,CI提供了一些過濾函數(shù),其中最常用的就是過濾HTML標簽的函數(shù)。
// 在加載helper時,必須指定"html"才能調(diào)用函數(shù) $this->load->helper('html'); // 過濾HTML標簽 $str = 'HelloWorld
'; echo strip_tags($str); // Hello World
上面的代碼中,我們首先加載了CI的HTML helper,然后調(diào)用了strip_tags函數(shù)來過濾HTML標簽,最后輸出了過濾后的字符串。可以看到,strip_tags函數(shù)將所有的HTML標簽都過濾掉了,只保留了純文本。
當然,有些時候我們需要保留一些指定的HTML標簽,比如標簽、 標簽等。這時,我們可以使用允許指定標簽的strip_tags函數(shù)。 在上面的代碼中,我們使用了類似于HTML中標簽屬性的語法來指定哪些標簽需要保留。在這個例子中,我們保留了和標簽。 經(jīng)過這些過濾處理,我們就可以避免用戶輸入不良HTML代碼的情況了。但是,由于CI框架不是專門針對安全問題設(shè)計的,因此我們還需要其他的安全保障措施,比如輸入長度限制、防止SQL注入等。只有多重保障,才能讓我們的Web應(yīng)用更加安全可靠。// 過濾HTML標簽,保留指定的標簽
$str = '
HelloWorld
'); //Hello Worldexample