<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Three of Coins &#187; markup</title>
	<atom:link href="http://www.3ofcoins.net/tag/markup/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.3ofcoins.net</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 21 Jan 2010 14:01:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Lisp HTML sanitizer</title>
		<link>http://www.3ofcoins.net/2008/10/24/lisp-html-sanitizer/</link>
		<comments>http://www.3ofcoins.net/2008/10/24/lisp-html-sanitizer/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 22:46:44 +0000</pubDate>
		<dc:creator>Maciej</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[common lisp]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[lisp]]></category>
		<category><![CDATA[markup]]></category>

		<guid isPermaLink="false">http://www.3ofcoins.net/?p=38</guid>
		<description><![CDATA[Lately, I was thinking a lot about enabling webapp users to edit rich text easily while staying secure and injection-free.  Until recently, I would just use trane-bb module of CL-Trane, and make users type BBCode inside a textarea, since many users are familiar with it, and I&#8217;d be able to easily convert their BB to [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, I was thinking a lot about enabling webapp users to edit rich text easily while staying secure and injection-free.  Until recently, I would just use <a href="http://repo.or.cz/w/cl-trane.git?a=blob;f=src/bb.lisp;hb=HEAD">trane-bb</a> module of <a href="http://common-lisp.net/project/cl-trane/">CL-Trane</a>, and make users type BBCode inside a textarea, since many users are familiar with it, and I&#8217;d be able to easily convert their BB to safe HTML.  However, all JavaScript WYSIWYG editors provide HTML code, which is not that surprising.  I googled around and read a bit on all the issues related with <a href="http://www.bbcode.org/">BBCode</a>, <a href="http://textism.com/tools/textile/">Textile</a> and <a href="http://en.wikipedia.org/wiki/Lightweight_markup_language">other markup languages</a>, and came to agree with John Atwood (<a class="title-link" href="http://www.codinghorror.com/blog/archives/001116.html">Is HTML a Humane Markup Language?</a>) on HTML being the actually friendly, single markup language.  I was pleasantly surprised to see <a href="http://common-lisp.net/project/bese/">Bese</a>&#8217;s fork of <a href="http://franz.com/">Franz</a>&#8217;s <a href="http://www.franz.com/support/documentation/current/doc/phtml.htm">phtml</a> actually <a href="http://common-lisp.net/project/bese/repos/parse-html/sanitize.lisp">support HTML sanitizing</a>, and (having contributed quite a bit to Bese a few years ago) not surprised at all that this feature is not actually described or documented anywhere.  So, if you&#8217;re worried about accepting HTML (and if you&#8217;ve decided to accept HTML from users, you should be worried!), check this out:</p>
<p><kbd><a href="http://darcs.net/">darcs</a> get <a href="http://common-lisp.net/project/bese/repos/parse-html/">http://common-lisp.net/project/bese/repos/parse-html/</a></kbd></p>
]]></content:encoded>
			<wfw:commentRss>http://www.3ofcoins.net/2008/10/24/lisp-html-sanitizer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
