Search code examples
coldfusionesapicoldfusion-10

encodeForHtml() vs htmlEditFormat()


encodeForHtml() (new in CF10) vs htmlEditFormat(), how are they different?


Solution

  • I think it is same as encodeForHTML function in java's OWASP ESAPI. More secure to avoid XSS attack to use content in HTML.

    <cfsavecontent variable="htmlcontent">
    <html>
        <head>
            <script>function hello() {alert('hello')}</script>
        </head>
        <body>
            <a href="#bookmark">Book Mark &amp; Anchor</a><br/>
            <div class="xyz">Div contains & here.</div>
            <IMG     SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#    x27&#x58&#x53&#x53&#x27&#x29>
        <IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>
    </body>
    </html></cfsavecontent>
    
    <cfoutput>#htmleditformat(htmlcontent)#</cfoutput>
    <br />
    <cfoutput>#encodeforhtml(htmlcontent)#</cfoutput>