mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	Enforce sanity before returning from database
This commit is contained in:
		@@ -23,7 +23,7 @@ else {
 | 
			
		||||
foreach ($segments as $pos => $segment) {
 | 
			
		||||
    $segment = urldecode($segment);
 | 
			
		||||
    if ($pos == '0') {
 | 
			
		||||
        $vars['page'] =htmlentities( $segment);
 | 
			
		||||
        $vars['page'] = htmlentities($segment);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        list($name, $value) = explode('=', $segment);
 | 
			
		||||
 
 | 
			
		||||
@@ -1255,3 +1255,13 @@ function get_port_id ($ports_mapped, $port, $port_association_mode) {
 | 
			
		||||
 | 
			
		||||
    return $port_id;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Sanitize
 | 
			
		||||
 * @param mixed $item Reference to Item
 | 
			
		||||
 * @param mixed $key Key
 | 
			
		||||
 * @return void
 | 
			
		||||
 */
 | 
			
		||||
function sanitize_array(&$item, $key) {
 | 
			
		||||
    $item = htmlentities($item);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -266,6 +266,7 @@ function dbFetchRows($sql, $parameters=array(), $nocache=false) {
 | 
			
		||||
        if ($config['memcached']['enable'] && $nocache === false) {
 | 
			
		||||
            $config['memcached']['resource']->set(hash('sha512',$sql.'|'.serialize($parameters)),$rows,$config['memcached']['ttl']);
 | 
			
		||||
        }
 | 
			
		||||
        array_walk_recursive($rows,'sanitize_array');
 | 
			
		||||
        return $rows;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -333,6 +334,7 @@ function dbFetchRow($sql=null, $parameters=array(), $nocache=false) {
 | 
			
		||||
        if ($config['memcached']['enable'] && $nocache === false) {
 | 
			
		||||
            $config['memcached']['resource']->set(hash('sha512',$sql.'|'.serialize($parameters)),$row,$config['memcached']['ttl']);
 | 
			
		||||
        }
 | 
			
		||||
        array_walk_recursive($row,'sanitize_array');
 | 
			
		||||
        return $row;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
 
 | 
			
		||||
@@ -267,6 +267,7 @@ function dbFetchRows($sql, $parameters=array(), $nocache=false) {
 | 
			
		||||
        if ($config['memcached']['enable'] && $nocache === false) {
 | 
			
		||||
            $config['memcached']['resource']->set(hash('sha512',$sql.'|'.serialize($parameters)),$rows,$config['memcached']['ttl']);
 | 
			
		||||
        }
 | 
			
		||||
        array_walk_recursive($rows,'sanitize_array');
 | 
			
		||||
        return $rows;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -334,6 +335,7 @@ function dbFetchRow($sql=null, $parameters=array(), $nocache=false) {
 | 
			
		||||
        if ($config['memcached']['enable'] && $nocache === false) {
 | 
			
		||||
            $config['memcached']['resource']->set(hash('sha512',$sql.'|'.serialize($parameters)),$row,$config['memcached']['ttl']);
 | 
			
		||||
        }
 | 
			
		||||
        array_walk_recursive($row,'sanitize_array');
 | 
			
		||||
        return $row;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user