<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jerryhoff</id>
		<title>OWASP - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jerryhoff"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Jerryhoff"/>
		<updated>2026-05-09T13:55:29Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36153</id>
		<title>Project Information:template AntiSamy Project - Final Review - Self Evaluation - B</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36153"/>
				<updated>2008-08-14T19:37:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Project Information:template AntiSamy Project|Clik here to return to the previous page]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''FINAL REVIEW''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART I''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Project Deliveries &amp;amp; Objectives  &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET| OWASP AntiSamy .NET Project's Deliveries &amp;amp; Objectives]]&lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please exemplify writing down those of them that haven't been realised.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
The project objectives and deliveries have been accomplished.  All the goals of the project have been realized.  Code can be downloaded from [http://code.google.com/p/owaspantisamy/source/browse/#svn/trunk/dotNet/current/source/%20owaspantisamy Google Code]&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please quantify in terms of percentage.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
The stated goals have been 100% completed.  &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
3. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
A live test site will be put up at antisamy.net.  We would appreciate testing and fuzzing by the community to find any holes in the validation.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Assessment Criteria&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[:Category:OWASP Project Assessment|OWASP Project Assessment Criteria]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Alpha Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Alpha Quality status have been fulfilled. &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Beta Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Beta Quality status have been fulfilled.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
3. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Release Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
Some of the documentation in the code needs to be fleshed out.  &lt;br /&gt;
 |-  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
4. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
Any advice on how to make the code more efficient would be greatly appreciated.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36152</id>
		<title>Project Information:template AntiSamy Project - Final Review - Self Evaluation - B</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36152"/>
				<updated>2008-08-14T19:36:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Project Information:template AntiSamy Project|Clik here to return to the previous page]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''FINAL REVIEW''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART I''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Project Deliveries &amp;amp; Objectives  &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET| OWASP AntiSamy .NET Project's Deliveries &amp;amp; Objectives]]&lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please exemplify writing down those of them that haven't been realised.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
The project objectives and deliveries have been accomplished.  All the goals of the project have been realized.  Code can be downloaded from [http://code.google.com/p/owaspantisamy/source/browse/#svn/trunk/dotNet/current/source/%20owaspantisamy]&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please quantify in terms of percentage.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
The stated goals have been 100% completed.  &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
3. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
A live test site will be put up at antisamy.net.  We would appreciate testing and fuzzing by the community to find any holes in the validation.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Assessment Criteria&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[:Category:OWASP Project Assessment|OWASP Project Assessment Criteria]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Alpha Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Alpha Quality status have been fulfilled. &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Beta Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Beta Quality status have been fulfilled.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
3. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Release Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
Some of the documentation in the code needs to be fleshed out.  &lt;br /&gt;
 |-  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
4. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
Any advice on how to make the code more efficient would be greatly appreciated.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36151</id>
		<title>Project Information:template AntiSamy Project - Final Review - Self Evaluation - B</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36151"/>
				<updated>2008-08-14T19:32:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Project Information:template AntiSamy Project|Clik here to return to the previous page]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''FINAL REVIEW''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART I''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Project Deliveries &amp;amp; Objectives  &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET| OWASP AntiSamy .NET Project's Deliveries &amp;amp; Objectives]]&lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please exemplify writing down those of them that haven't been realised.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
The project objectives and deliveries have been accomplished.  All the goals of the project have been realized.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please quantify in terms of percentage.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
The stated goals have been 100% completed.  &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
3. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
A live test site will be put up at antisamy.net.  We would appreciate testing and fuzzing by the community to find any holes in the validation.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Assessment Criteria&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[:Category:OWASP Project Assessment|OWASP Project Assessment Criteria]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Alpha Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Alpha Quality status have been fulfilled. &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Beta Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Beta Quality status have been fulfilled.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
3. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Release Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
Some of the documentation in the code needs to be fleshed out.  &lt;br /&gt;
 |-  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
4. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
Any advice on how to make the code more efficient would be greatly appreciated.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36150</id>
		<title>Project Information:template AntiSamy Project - Final Review - Self Evaluation - B</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36150"/>
				<updated>2008-08-14T19:31:20Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Project Information:template AntiSamy Project|Clik here to return to the previous page]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''FINAL REVIEW''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART I''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Project Deliveries &amp;amp; Objectives  &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET| OWASP AntiSamy .NET Project's Deliveries &amp;amp; Objectives]]&lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please exemplify writing down those of them that haven't been realised.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
The project objectives and deliveries have been accomplished.  All the goals of the project have been realized.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please quantify in terms of percentage.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
The stated goals have been 100% completed.  &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
3. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
A live test site will be put up at antisamy.net.  We would appreciate testing and fuzzing by the community to find any holes in the validation.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Assessment Criteria&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[:Category:OWASP Project Assessment|OWASP Project Assessment Criteria]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Alpha Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Alpha Quality status have been fulfilled. &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Beta Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Beta Quality status have been fulfilled.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
3. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Release Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
Some of the documentation in the code needs to be fleshed out.  &lt;br /&gt;
 |-  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
4. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36149</id>
		<title>Project Information:template AntiSamy Project - Final Review - Self Evaluation - B</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36149"/>
				<updated>2008-08-14T19:29:11Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Project Information:template AntiSamy Project|Clik here to return to the previous page]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''FINAL REVIEW''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART I''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
The project objectives and deliveries have been accomplished.  All the goals of the project have been realized.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Project Deliveries &amp;amp; Objectives  &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET| OWASP AntiSamy .NET Project's Deliveries &amp;amp; Objectives]]&lt;br /&gt;
The stated goals have been 100% completed.&lt;br /&gt;
A live test site will be put up at antisamy.net.  We would appreciate testing and fuzzing by the community to find any holes in the validation.&lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please exemplify writing down those of them that haven't been realised.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- The project objectives and deliveries have been accomplished.  All the goals of the project have been realized.&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please quantify in terms of percentage.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- The stated goals have been 100% completed.  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
3. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- A live test site will be put up at antisamy.net.  We would appreciate testing and fuzzing by the community to find any holes in the validation.&lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Assessment Criteria&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[:Category:OWASP Project Assessment|OWASP Project Assessment Criteria]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Alpha Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Alpha Quality status have been fulfilled. &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Beta Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Beta Quality status have been fulfilled.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
3. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Release Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
Some of the documentation in the code needs to be fleshed out.  &lt;br /&gt;
 |-  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
4. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36148</id>
		<title>Project Information:template AntiSamy Project - Final Review - Self Evaluation - B</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36148"/>
				<updated>2008-08-14T19:27:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Project Information:template AntiSamy Project|Clik here to return to the previous page]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''FINAL REVIEW''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART I''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Project Deliveries &amp;amp; Objectives  &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET| OWASP AntiSamy .NET Project's Deliveries &amp;amp; Objectives]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please exemplify writing down those of them that haven't been realised.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- The project objectives and deliveries have been accomplished.  All the goals of the project have been realized.&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please quantify in terms of percentage.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- The stated goals have been 100% completed.  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
3. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- A live test site will be put up at antisamy.net.  We would appreciate testing and fuzzing by the community to find any holes in the validation.&lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Assessment Criteria&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[:Category:OWASP Project Assessment|OWASP Project Assessment Criteria]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Alpha Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Alpha Quality status have been fulfilled. &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Beta Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
All terms of Beta Quality status have been fulfilled.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
3. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Release Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
Some of the documentation in the code needs to be fleshed out.  &lt;br /&gt;
 |-  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
4. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36147</id>
		<title>Project Information:template AntiSamy Project - Final Review - Self Evaluation - B</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36147"/>
				<updated>2008-08-14T19:26:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Project Information:template AntiSamy Project|Clik here to return to the previous page]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''FINAL REVIEW''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART I''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Project Deliveries &amp;amp; Objectives  &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET| OWASP AntiSamy .NET Project's Deliveries &amp;amp; Objectives]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please exemplify writing down those of them that haven't been realised.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
The project objectives and deliveries have been accomplished.  All the goals of the project have been realized.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please quantify in terms of percentage.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- The stated goals have been 100% completed.  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
3. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- A live test site will be put up at antisamy.net.  We would appreciate testing and fuzzing by the community to find any holes in the validation.&lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Assessment Criteria&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[:Category:OWASP Project Assessment|OWASP Project Assessment Criteria]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Alpha Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- All terms of Alpha Quality status have been fulfilled. &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Beta Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- All terms of Beta Quality status have been fulfilled.&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
3. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Release Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |-  Some of the documentation in the code needs to be fleshed out.  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
4. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36146</id>
		<title>Project Information:template AntiSamy Project - Final Review - Self Evaluation - B</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_AntiSamy_Project_-_Final_Review_-_Self_Evaluation_-_B&amp;diff=36146"/>
				<updated>2008-08-14T19:24:19Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Project Information:template AntiSamy Project|Clik here to return to the previous page]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''FINAL REVIEW''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART I''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Project Deliveries &amp;amp; Objectives  &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET| OWASP AntiSamy .NET Project's Deliveries &amp;amp; Objectives]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please exemplify writing down those of them that haven't been realised.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- The project objectives and deliveries have been accomplished.  All the goals of the project have been realized.&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP AntiSamy .NET|'''the assumed ones''']], please quantify in terms of percentage.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- The stated goals have been 100% completed.  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
3. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- A live test site will be put up at antisamy.net.  We would appreciate testing and fuzzing by the community to find any holes in the validation.&lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Assessment Criteria&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[:Category:OWASP Project Assessment|OWASP Project Assessment Criteria]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Alpha Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- All terms of Alpha Quality status have been fulfilled. &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Beta Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- All terms of Beta Quality status have been fulfilled.&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
3. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Release Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |-  Some of the documentation in the code needs to be fleshed out.  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
4. What kind of help is required either from the Reviewers or from the OWASP Community?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=35164</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=35164"/>
				<updated>2008-08-01T21:54:06Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Emailing the project lead */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
# Download AntiSamy from its home on Google Code&lt;br /&gt;
# Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
#* antisamy-slashdot.xml&lt;br /&gt;
#* (more to come in the near future)&lt;br /&gt;
# Tailor the policy file according to your site's rules&lt;br /&gt;
# Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
Currently, you can download the code using SVN from [http://code.google.com/p/owaspantisamy/source/browse/#svn/trunk/dotNet AntiSamy .NET Google Code SVN]&lt;br /&gt;
&lt;br /&gt;
In the future the source code and the compiled .dll can be found at [http://code.google.com/p/owaspantisamy/downloads/list Google Code]&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
There is no installation needed to get AntiSamy .NET to run.  Simply reference the .dll in your code, make sure the dependencies are present, and you are good to go.&lt;br /&gt;
&lt;br /&gt;
Currently, there is only one dependency, HtmlAgilityPack.dll.  To run the unit tests, you will also need:&lt;br /&gt;
#nunit.core.dll&lt;br /&gt;
#nunit.core.interfaces.dll&lt;br /&gt;
#nunit.framework.dll&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
Smaller organizations may want to deploy AntiSamy in a default configuration, but it's equally likely that a site may want to have strict, business-driven rules for what users can allow. The discussion that decides the tailoring should also consider attack surface - which grows in relative proportion to the policy file.&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        string filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        Policy policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
&lt;br /&gt;
And here is an example of using both the clean HTML and the error messages:&lt;br /&gt;
&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
No CSS support has been included yet in AntiSamy .NET.  It will be added hopefully within the next few months.  With the default stylesheet, style tags are not allowed and are stripped out, as is the style attribute.&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
There are two ways of getting information on AntiSamy. The mailing list, and contacting the project lead directly.&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
The first is the mailing list which is located at https://lists.owasp.org/mailman/listinfo/owasp-antisamy. The list was previously private and the archives have been cleared with the release of version 1.0. We encourage all prospective and current users and bored attackers to join in the conversation. We're happy to brainstorm attack scenarios, discuss regular expressions and help with integration.&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
For content which is not appropriate for the public mailing list, you can alternatively contact Jerry Hoff, at [jerry.hoff] at the [aspectsecurity.com] (s/ at the /@/).&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;br /&gt;
&lt;br /&gt;
Visit the [http://code.google.com/p/owaspantisamy/issues/list Google Code issue tracker]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visit the Google Code issue tracker&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=35033</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=35033"/>
				<updated>2008-07-31T14:54:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
# Download AntiSamy from its home on Google Code&lt;br /&gt;
# Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
#* antisamy-slashdot.xml&lt;br /&gt;
#* (more to come in the near future)&lt;br /&gt;
# Tailor the policy file according to your site's rules&lt;br /&gt;
# Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
Currently, you can download the code using SVN from [http://code.google.com/p/owaspantisamy/source/browse/#svn/trunk/dotNet AntiSamy .NET Google Code SVN]&lt;br /&gt;
&lt;br /&gt;
In the future the source code and the compiled .dll can be found at [http://code.google.com/p/owaspantisamy/downloads/list Google Code]&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
There is no installation needed to get AntiSamy .NET to run.  Simply reference the .dll in your code, make sure the dependencies are present, and you are good to go.&lt;br /&gt;
&lt;br /&gt;
Currently, there is only one dependency, HtmlAgilityPack.dll.  To run the unit tests, you will also need:&lt;br /&gt;
#nunit.core.dll&lt;br /&gt;
#nunit.core.interfaces.dll&lt;br /&gt;
#nunit.framework.dll&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
Smaller organizations may want to deploy AntiSamy in a default configuration, but it's equally likely that a site may want to have strict, business-driven rules for what users can allow. The discussion that decides the tailoring should also consider attack surface - which grows in relative proportion to the policy file.&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        string filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        Policy policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
&lt;br /&gt;
And here is an example of using both the clean HTML and the error messages:&lt;br /&gt;
&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
No CSS support has been included yet in AntiSamy .NET.  It will be added hopefully within the next few months.  With the default stylesheet, style tags are not allowed and are stripped out, as is the style attribute.&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
There are two ways of getting information on AntiSamy. The mailing list, and contacting the project lead directly.&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
The first is the mailing list which is located at https://lists.owasp.org/mailman/listinfo/owasp-antisamy. The list was previously private and the archives have been cleared with the release of version 1.0. We encourage all prospective and current users and bored attackers to join in the conversation. We're happy to brainstorm attack scenarios, discuss regular expressions and help with integration.&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
For content which is not appropriate for the public mailing list, you can alternatively contact the project lead, Arshan Dabirsiaghi, at [arshan.dabirsiaghi] at the [aspectsecurity.com] (s/ at the /@/).&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;br /&gt;
&lt;br /&gt;
Visit the [http://code.google.com/p/owaspantisamy/issues/list Google Code issue tracker]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visit the Google Code issue tracker&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=35032</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=35032"/>
				<updated>2008-07-31T14:54:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Contacting us */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
Currently, you can download the code using SVN from [http://code.google.com/p/owaspantisamy/source/browse/#svn/trunk/dotNet AntiSamy .NET Google Code SVN]&lt;br /&gt;
&lt;br /&gt;
In the future the source code and the compiled .dll can be found at [http://code.google.com/p/owaspantisamy/downloads/list Google Code]&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
There is no installation needed to get AntiSamy .NET to run.  Simply reference the .dll in your code, make sure the dependencies are present, and you are good to go.&lt;br /&gt;
&lt;br /&gt;
Currently, there is only one dependency, HtmlAgilityPack.dll.  To run the unit tests, you will also need:&lt;br /&gt;
#nunit.core.dll&lt;br /&gt;
#nunit.core.interfaces.dll&lt;br /&gt;
#nunit.framework.dll&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
Smaller organizations may want to deploy AntiSamy in a default configuration, but it's equally likely that a site may want to have strict, business-driven rules for what users can allow. The discussion that decides the tailoring should also consider attack surface - which grows in relative proportion to the policy file.&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        string filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        Policy policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
&lt;br /&gt;
And here is an example of using both the clean HTML and the error messages:&lt;br /&gt;
&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
No CSS support has been included yet in AntiSamy .NET.  It will be added hopefully within the next few months.  With the default stylesheet, style tags are not allowed and are stripped out, as is the style attribute.&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
There are two ways of getting information on AntiSamy. The mailing list, and contacting the project lead directly.&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
The first is the mailing list which is located at https://lists.owasp.org/mailman/listinfo/owasp-antisamy. The list was previously private and the archives have been cleared with the release of version 1.0. We encourage all prospective and current users and bored attackers to join in the conversation. We're happy to brainstorm attack scenarios, discuss regular expressions and help with integration.&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
For content which is not appropriate for the public mailing list, you can alternatively contact the project lead, Arshan Dabirsiaghi, at [arshan.dabirsiaghi] at the [aspectsecurity.com] (s/ at the /@/).&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;br /&gt;
&lt;br /&gt;
Visit the [http://code.google.com/p/owaspantisamy/issues/list Google Code issue tracker]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visit the Google Code issue tracker&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34987</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34987"/>
				<updated>2008-07-30T06:20:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
Currently, you can download the code using SVN from [http://code.google.com/p/owaspantisamy/source/browse/#svn/trunk/dotNet AntiSamy .NET Google Code SVN]&lt;br /&gt;
&lt;br /&gt;
In the future the source code and the compiled .dll can be found at [http://code.google.com/p/owaspantisamy/downloads/list Google Code]&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
There is no installation needed to get AntiSamy .NET to run.  Simply reference the .dll in your code, make sure the dependencies are present, and you are good to go.&lt;br /&gt;
&lt;br /&gt;
Currently, there is only one dependency, HtmlAgilityPack.dll.  To run the unit tests, you will also need:&lt;br /&gt;
#nunit.core.dll&lt;br /&gt;
#nunit.core.interfaces.dll&lt;br /&gt;
#nunit.framework.dll&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
Smaller organizations may want to deploy AntiSamy in a default configuration, but it's equally likely that a site may want to have strict, business-driven rules for what users can allow. The discussion that decides the tailoring should also consider attack surface - which grows in relative proportion to the policy file.&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        string filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        Policy policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
&lt;br /&gt;
And here is an example of using both the clean HTML and the error messages:&lt;br /&gt;
&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
No CSS support has been included yet in AntiSamy .NET.  It will be added hopefully within the next few months.  With the default stylesheet, style tags are not allowed and are stripped out, as is the style attribute.&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34986</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34986"/>
				<updated>2008-07-30T06:17:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Installing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
Currently, you can download the code using SVN from [http://code.google.com/p/owaspantisamy/source/browse/#svn/trunk/dotNet AntiSamy .NET Google Code SVN]&lt;br /&gt;
&lt;br /&gt;
In the future the source code and the compiled .dll can be found at [http://code.google.com/p/owaspantisamy/downloads/list Google Code]&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
There is no installation needed to get AntiSamy .NET to run.  Simply reference the .dll in your code, make sure the dependencies are present, and you are good to go.&lt;br /&gt;
&lt;br /&gt;
Currently, there is only one dependency, HtmlAgilityPack.dll.  To run the unit tests, you will also need:&lt;br /&gt;
#nunit.core.dll&lt;br /&gt;
#nunit.core.interfaces.dll&lt;br /&gt;
#nunit.framework.dll&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
Smaller organizations may want to deploy AntiSamy in a default configuration, but it's equally likely that a site may want to have strict, business-driven rules for what users can allow. The discussion that decides the tailoring should also consider attack surface - which grows in relative proportion to the policy file.&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        string filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        Policy policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
&lt;br /&gt;
And here is an example of using both the clean HTML and the error messages:&lt;br /&gt;
&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34985</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34985"/>
				<updated>2008-07-30T06:15:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Downloading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
Currently, you can download the code using SVN from [http://code.google.com/p/owaspantisamy/source/browse/#svn/trunk/dotNet AntiSamy .NET Google Code SVN]&lt;br /&gt;
&lt;br /&gt;
In the future the source code and the compiled .dll can be found at [http://code.google.com/p/owaspantisamy/downloads/list Google Code]&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
There is no installation needed to get AntiSamy .NET to run.  Simply reference the .dll in your code, make sure the dependencies are present, and you are good to go.&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
Smaller organizations may want to deploy AntiSamy in a default configuration, but it's equally likely that a site may want to have strict, business-driven rules for what users can allow. The discussion that decides the tailoring should also consider attack surface - which grows in relative proportion to the policy file.&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        string filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        Policy policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
&lt;br /&gt;
And here is an example of using both the clean HTML and the error messages:&lt;br /&gt;
&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34984</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34984"/>
				<updated>2008-07-30T06:14:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Tailoring the policy file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
The source code and the compiled .dll can be found at [http://code.google.com/p/owaspantisamy/downloads/list Google Code]&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
There is no installation needed to get AntiSamy .NET to run.  Simply reference the .dll in your code, make sure the dependencies are present, and you are good to go.&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
Smaller organizations may want to deploy AntiSamy in a default configuration, but it's equally likely that a site may want to have strict, business-driven rules for what users can allow. The discussion that decides the tailoring should also consider attack surface - which grows in relative proportion to the policy file.&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        string filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        Policy policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
&lt;br /&gt;
And here is an example of using both the clean HTML and the error messages:&lt;br /&gt;
&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34983</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34983"/>
				<updated>2008-07-30T06:13:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Installing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
The source code and the compiled .dll can be found at [http://code.google.com/p/owaspantisamy/downloads/list Google Code]&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
There is no installation needed to get AntiSamy .NET to run.  Simply reference the .dll in your code, make sure the dependencies are present, and you are good to go.&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        string filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        Policy policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
&lt;br /&gt;
And here is an example of using both the clean HTML and the error messages:&lt;br /&gt;
&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34982</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34982"/>
				<updated>2008-07-30T06:12:22Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Downloading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
The source code and the compiled .dll can be found at [http://code.google.com/p/owaspantisamy/downloads/list Google Code]&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        string filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        Policy policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
&lt;br /&gt;
And here is an example of using both the clean HTML and the error messages:&lt;br /&gt;
&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34981</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34981"/>
				<updated>2008-07-30T06:10:35Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Running */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        string filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        Policy policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
&lt;br /&gt;
And here is an example of using both the clean HTML and the error messages:&lt;br /&gt;
&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34980</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34980"/>
				<updated>2008-07-30T06:09:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Running */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        Policy policy;&lt;br /&gt;
        string filename = null;&lt;br /&gt;
        filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34979</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34979"/>
				<updated>2008-07-30T06:09:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Running */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        Policy policy;&lt;br /&gt;
        string filename = null;&lt;br /&gt;
        filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34978</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34978"/>
				<updated>2008-07-30T06:08:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Running */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Using AntiSamy is abnormally easy. Here is an example of invoking AntiSamy with a policy file: &lt;br /&gt;
&lt;br /&gt;
        AntiSamy _as = new AntiSamy();&lt;br /&gt;
        Policy policy;&lt;br /&gt;
        string filename = null;&lt;br /&gt;
        &lt;br /&gt;
        filename = Server.MapPath(&amp;quot;./properties/antisamy-slashdot.xml&amp;quot;);&lt;br /&gt;
        policy = Policy.getInstance(filename);&lt;br /&gt;
        CleanResults results = _as.scan(txtInput.Text, policy);&lt;br /&gt;
        lblOutput.Text = results.getCleanHTML();&lt;br /&gt;
&lt;br /&gt;
        string s = &amp;quot;&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; results.getErrorMessages().Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            s += results.getErrorMessages()[i].ToString() + &amp;quot;&amp;lt;p/&amp;gt;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        lblErrors.Text = s;&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34977</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34977"/>
				<updated>2008-07-30T05:49:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
*. antisamy-slashdot.xml&lt;br /&gt;
*. (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34976</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34976"/>
				<updated>2008-07-30T05:49:16Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
 * antisamy-slashdot.xml&lt;br /&gt;
 (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34975</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34975"/>
				<updated>2008-07-30T05:49:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
     * antisamy-slashdot.xml&lt;br /&gt;
     (more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34974</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34974"/>
				<updated>2008-07-30T05:48:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
;* antisamy-slashdot.xml&lt;br /&gt;
;(more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34973</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34973"/>
				<updated>2008-07-30T05:48:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
#. Download AntiSamy from its home on Google Code&lt;br /&gt;
#. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
* antisamy-slashdot.xml&lt;br /&gt;
(more to come in the near future)&lt;br /&gt;
#. Tailor the policy file according to your site's rules&lt;br /&gt;
#. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34972</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34972"/>
				<updated>2008-07-30T05:47:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
   #. Download AntiSamy from its home on Google Code&lt;br /&gt;
   #. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
          * antisamy-slashdot.xml&lt;br /&gt;
          (more to come in the near future)&lt;br /&gt;
   #. Tailor the policy file according to your site's rules&lt;br /&gt;
   #. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34971</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34971"/>
				<updated>2008-07-30T05:45:18Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
   [ol]. Download AntiSamy from its home on Google Code&lt;br /&gt;
   [ol]. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
          * antisamy-slashdot.xml&lt;br /&gt;
          (more to come in the near future)&lt;br /&gt;
   3. Tailor the policy file according to your site's rules&lt;br /&gt;
   4. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34970</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34970"/>
				<updated>2008-07-30T05:44:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
There's 4 steps in the process of integrating AntiSamy. Each step is detailed in the next section, but the high level overview follows:&lt;br /&gt;
&lt;br /&gt;
   1. Download AntiSamy from its home on Google Code&lt;br /&gt;
   2. Choose one of the standard policy files that matches as close to the functionality you need:&lt;br /&gt;
          * antisamy-slashdot.xml&lt;br /&gt;
          (more to come in the near future)&lt;br /&gt;
   3. Tailor the policy file according to your site's rules&lt;br /&gt;
   4. Call the API from the code &lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34969</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34969"/>
				<updated>2008-07-30T05:42:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* Capabilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34968</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34968"/>
				<updated>2008-07-30T05:41:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* What is AntiSamy .NET? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy .NET is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The [http://www.owasp.org/index.php/OWASP_Licenses OWASP licensing policy] (further explained in the [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any [http://www.opensource.org/licenses/alphabetical approved open source license]. Under these guidelines, AntiSamy .NET is distributed under a [http://www.opensource.org/licenses/bsd-license.php BSD license].&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34967</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34967"/>
				<updated>2008-07-30T05:40:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* What is AntiSamy .NET? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The OWASP licensing policy [http://www.owasp.org/index.php/OWASP_Licenses] (further explained in the membership FAQ [http://www.owasp.org/index.php/Membership membership FAQ]) allows OWASP projects to be released under any approved open source license. Under these guidelines, AntiSamy is distributed under a BSD license.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34966</id>
		<title>Category:OWASP AntiSamy Project .NET</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_AntiSamy_Project_.NET&amp;diff=34966"/>
				<updated>2008-07-30T05:39:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jerryhoff: /* What is AntiSamy .NET? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OWASP Project|Click here to return to OWASP Projects page.]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Project Information:template AntiSamy Project|Click here to see (&amp;amp; edit, if wanted) the template.]] &lt;br /&gt;
{{:Project Information:template AntiSamy Project}}&lt;br /&gt;
[[Category:OWASP Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AntiSamy_Project]]&lt;br /&gt;
&lt;br /&gt;
== What is AntiSamy .NET? ==&lt;br /&gt;
&lt;br /&gt;
The OWASP AntiSamy .NET project is a few things. Technically, it is an API for ensuring user-supplied HTML/CSS is in compliance within an application's rules. Another way of saying that could be: It's an API that helps you make sure that clients don't supply malicious cargo code in the HTML they supply for their profile, comments, etc. that gets persisted on the server. The term malicious code in terms of web applications is usually regarded only as JavaScript. Cascading Stylesheets are only considered malicious when they invoke the JavaScript engine. However, there are many situations where &amp;quot;normal&amp;quot; HTML and CSS can be used in a malicious manner.&lt;br /&gt;
&lt;br /&gt;
Philosophically, AntiSamy .NET is a departure from all contemporary security mechanisms. Generally, the security mechanism and user have a communication that is virtually one way, for good reason. Letting the potential attacker know details about the validation is considered unwise as it allows the attacker to &amp;quot;learn&amp;quot; and &amp;quot;recon&amp;quot; the mechanism for weaknesses. These types of information leaks can also hurt in ways you don't expect. A login mechanism that tells the user, &amp;quot;Username invalid&amp;quot; leaks the fact that a user by that name does not exist. A user could use a dictionary or phone book or both to remotely come up with a list of valid usernames. Using this information, an attacker could launch a brute force attack or massive account lock denial-of-service. So, we get that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, that's just not very usable in this situation. Typical Internet users are largely ineffective when it comes to writing HTML/CSS, so where do they get their HTML from? Usually they copy it from somewhere out on the web. Simply rejecting their input without any clue as to why is jolting and annoying. Annoyed users go somewhere else to do their social networking.&lt;br /&gt;
&lt;br /&gt;
Socioeconomically, AntiSamy is a have-not enabler. Private companies like Google, MySpace, eBay, etc. have come up with proprietary solutions for solving this problem. This introduces two problems. One is that proprietary solutions are not usually all that good, and even if they are, well - naturally they're reluctant to share this hard-earned IP for free. Fortunately, we just don't care. We don't see any reason why only these private companies should have this functionality, so we are releasing this for free. &lt;br /&gt;
&lt;br /&gt;
The OWASP licensing policy [http://www.owasp.org/index.php/OWASP_Licenses] (further explained in the membership FAQ) allows OWASP projects to be released under any approved open source license. Under these guidelines, AntiSamy is distributed under a BSD license.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
=== Downloading ===&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
=== Tailoring the policy file ===&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
== Contacting us ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP AntiSamy mailing list ===&lt;br /&gt;
&lt;br /&gt;
=== Emailing the project lead ===&lt;br /&gt;
&lt;br /&gt;
=== Issue tracking ===&lt;/div&gt;</summary>
		<author><name>Jerryhoff</name></author>	</entry>

	</feed>