You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							1.1 KiB
						
					
					
				| /**
 | |
|  * xss
 | |
|  *
 | |
|  * @author Zongmin Lei<leizongmin@gmail.com>
 | |
|  */
 | |
| 
 | |
| var DEFAULT = require("./default");
 | |
| var parser = require("./parser");
 | |
| var FilterXSS = require("./xss");
 | |
| 
 | |
| /**
 | |
|  * filter xss function
 | |
|  *
 | |
|  * @param {String} html
 | |
|  * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }
 | |
|  * @return {String}
 | |
|  */
 | |
| function filterXSS(html, options) {
 | |
|   var xss = new FilterXSS(options);
 | |
|   return xss.process(html);
 | |
| }
 | |
| 
 | |
| exports = module.exports = filterXSS;
 | |
| exports.filterXSS = filterXSS;
 | |
| exports.FilterXSS = FilterXSS;
 | |
| 
 | |
| (function () {
 | |
|   for (var i in DEFAULT) {
 | |
|     exports[i] = DEFAULT[i];
 | |
|   }
 | |
|   for (var j in parser) {
 | |
|     exports[j] = parser[j];
 | |
|   }
 | |
| })();
 | |
| 
 | |
| // using `xss` on the browser, output `filterXSS` to the globals
 | |
| if (typeof window !== "undefined") {
 | |
|   window.filterXSS = module.exports;
 | |
| }
 | |
| 
 | |
| // using `xss` on the WebWorker, output `filterXSS` to the globals
 | |
| function isWorkerEnv() {
 | |
|   return (
 | |
|     typeof self !== "undefined" &&
 | |
|     typeof DedicatedWorkerGlobalScope !== "undefined" &&
 | |
|     self instanceof DedicatedWorkerGlobalScope
 | |
|   );
 | |
| }
 | |
| if (isWorkerEnv()) {
 | |
|   self.filterXSS = module.exports;
 | |
| }
 |