0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2025-03-17 11:57:05 +00:00
Edward Z. Yang e76f4b45d0 Dramatically rewrite null host URI handling.
Basically, browsers don't parse what should be valid URIs correctly, so
we have to go through some backbends to accomodate them.  Specifically,
for browseable URIs, the following URIs have unintended behavior:

    - ///example.com
    - http:/example.com
    - http:///example.com

Furthermore, if the path begins with //, modifying these URLs must
be done with care, as if you remove the host-name component, the
parse tree changes.

I've modified the engine to follow correct URI semantics as much
as possible while outputting browser compatible code, and invalidate
the URI in cases where we can't deal.  There has been a refactoring
of URIScheme so that this important check is always performed,
introducing a new member variable allow_empty_host which is true
on data, file, mailto and news schemes.

This also fixes bypass bugs on URI.Munge.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
2011-01-25 18:56:46 +00:00
2008-12-06 04:24:59 -05:00
2010-11-21 14:00:20 +00:00
2009-07-09 21:12:35 -04:00
2010-06-30 06:00:45 -07:00
2008-12-06 04:24:59 -05:00
2010-09-15 02:52:57 -04:00
2010-09-15 02:52:57 -04:00
2008-12-06 04:24:59 -05:00
2008-12-06 04:24:59 -05:00
2008-12-06 04:24:59 -05:00
2010-09-14 23:38:51 -04:00
2010-09-15 02:52:57 -04:00
2010-09-15 02:52:57 -04:00
2008-12-06 04:24:59 -05:00

README
    All about HTML Purifier

HTML Purifier is an HTML filtering solution that uses a unique combination
of robust whitelists and agressive parsing to ensure that not only are
XSS attacks thwarted, but the resulting HTML is standards compliant.

HTML Purifier is oriented towards richly formatted documents from
untrusted sources that require CSS and a full tag-set.  This library can
be configured to accept a more restrictive set of tags, but it won't be
as efficient as more bare-bones parsers. It will, however, do the job
right, which may be more important.

Places to go:

* See INSTALL for a quick installation guide
* See docs/ for developer-oriented documentation, code examples and
  an in-depth installation guide.
* See WYSIWYG for information on editors like TinyMCE and FCKeditor

HTML Purifier can be found on the web at: http://htmlpurifier.org/

    vim: et sw=4 sts=4
Description
Standards compliant HTML filter written in PHP.
http://htmlpurifier.org
Readme LGPL-2.1 9.9 MiB
Languages
PHP 94.5%
HTML 4.6%
XSLT 0.5%
CSS 0.3%
JavaScript 0.1%