我有一个巨大的codeigniter应用程序,有很多表单和字段。我需要避免用户在任何输入中输入HTML代码。我知道我可以逃脱像strip_tags
这样的功能,或者使用htmlentites
来逃避它。
但我想知道是否有任何方法可以全局执行,删除或转义插入整个应用程序的任何输入中的html代码。
答案 0 :(得分:1)
我修改了检索结果的函数,过滤了html打开和关闭标记。这就是我想要的东西。拒绝显示保存在数据库中的html或javascript。
public function array_htmlentities(&$row){
//return $row;
foreach($row as &$value){
if( is_array($value) || is_array($value) ){
$value = $this->array_htmlentities($value);
}elseif(is_string($value)){
$json = json_decode($value);
if( is_array($json) || is_array($json) ){
$value = json_encode($this->array_htmlentities($json));
}else
$value = str_replace(array('<','>'), array('<','>'), $value);
//$value = $value;
}else
$value = $value;
}
return $row;
}