<div dir="ltr">Aaron,<div><br></div><div>Please provide a more specific example of what you want to do. Encoding for content into links can be complicated; especially if you are allowing the javascript protocol. My recommendation would be to completely avoid inline script (i.e. the javascript protocol and all of the onclick, onerror, etc. attributes). Instead utilize external JavaScript and hook the necessary events. But I completely understand that not everyone gets to start green field and build an application that can fully utilize CSP.</div>
<div><br></div><div>Consider looking at the DOM Based XSS cheatsheet's complex contexts: <a href="https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_Sheet#Complex_Contexts">https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_Sheet#Complex_Contexts</a></div>
<div><br></div><div>If you are actually putting dynamic data into an href using the javascript protocol you have to understand that the browser will first HTML Attribute decode the entire URL, determine that it is using the javascript protocol, then URL decode the data after the colon, and pass this data to the JavaScript interpreter. So depending on your encoding library you may want to follow the guidance from Romain Goucher @ Coverity and utilize nested/layered encoding (<a href="https://communities.coverity.com/blogs/security/2012/11/05/using-the-coverity-security-library-with-guidance-from-security-advisor">https://communities.coverity.com/blogs/security/2012/11/05/using-the-coverity-security-library-with-guidance-from-security-advisor</a>). Or if you are using a robust encoder, which I believe the Java Encoder Project is, you could just use the JavaScript encoding (depending of course on the fact that the dynamic data is wrapped in quotes).</div>
<div><br></div><div>Hopefully that helps, if not please provide a more specific example (including the location of the dynamic data you want to write out).</div><div><br></div><div>--Jeremy</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Mon, Oct 21, 2013 at 4:43 PM, Weaver, Aaron <span dir="ltr"><<a href="mailto:aaron.weaver@pearson.com" target="_blank">aaron.weaver@pearson.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Quick question: What method do you recommend to encode for link injection? For example:<div><br></div><div><a href="javascript:alert(1)">click here</a></div><div><br></div><div>Thanks</div>

</div>
<br>_______________________________________________<br>
Owasp-java-encoder-project mailing list<br>
<a href="mailto:Owasp-java-encoder-project@lists.owasp.org">Owasp-java-encoder-project@lists.owasp.org</a><br>
<a href="https://lists.owasp.org/mailman/listinfo/owasp-java-encoder-project" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp-java-encoder-project</a><br>
<br></blockquote></div><br></div>