45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * Validates file as defined by RFC 1630 and RFC 1738.
 | |
|  */
 | |
| class HTMLPurifier_URIScheme_file extends HTMLPurifier_URIScheme
 | |
| {
 | |
|     /**
 | |
|      * Generally file:// URLs are not accessible from most
 | |
|      * machines, so placing them as an img src is incorrect.
 | |
|      * @type bool
 | |
|      */
 | |
|     public $browsable = false;
 | |
| 
 | |
|     /**
 | |
|      * Basically the *only* URI scheme for which this is true, since
 | |
|      * accessing files on the local machine is very common.  In fact,
 | |
|      * browsers on some operating systems don't understand the
 | |
|      * authority, though I hear it is used on Windows to refer to
 | |
|      * network shares.
 | |
|      * @type bool
 | |
|      */
 | |
|     public $may_omit_host = true;
 | |
| 
 | |
|     /**
 | |
|      * @param HTMLPurifier_URI $uri
 | |
|      * @param HTMLPurifier_Config $config
 | |
|      * @param HTMLPurifier_Context $context
 | |
|      * @return bool
 | |
|      */
 | |
|     public function doValidate(&$uri, $config, $context)
 | |
|     {
 | |
|         // Authentication method is not supported
 | |
|         $uri->userinfo = null;
 | |
|         // file:// makes no provisions for accessing the resource
 | |
|         $uri->port = null;
 | |
|         // While it seems to work on Firefox, the querystring has
 | |
|         // no possible effect and is thus stripped.
 | |
|         $uri->query = null;
 | |
|         return true;
 | |
|     }
 | |
| }
 | |
| 
 | |
| // vim: et sw=4 sts=4
 |