Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:63057 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 6141 invoked from network); 18 Sep 2012 12:27:38 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Sep 2012 12:27:38 -0000 Authentication-Results: pb1.pair.com header.from=padraic.brady@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=padraic.brady@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.160.42 as permitted sender) X-PHP-List-Original-Sender: padraic.brady@gmail.com X-Host-Fingerprint: 209.85.160.42 mail-pb0-f42.google.com Received: from [209.85.160.42] ([209.85.160.42:59548] helo=mail-pb0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 76/56-07072-8B868505 for ; Tue, 18 Sep 2012 08:27:37 -0400 Received: by pbbrp8 with SMTP id rp8so11211240pbb.29 for ; Tue, 18 Sep 2012 05:27:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=GyJFI1mALxTgVCeu5gghjMwqmWwh0gea1asDJPSeirA=; b=de0RhyINsRxxCVHBeTdmrjsCmZxko4hpMEJQH+Op96yb+G3V+/orD6FLLLjTN8QAZ7 S4yFQ0kx7IEF7NEXiEuuk0uQZH59Ut7FUnR0s0XtYBICcKSZUX7+aXh1j6Yw5GNoeFx0 iMZtLkemo/Ru2m6DXqfeaLta22QFnCfAjZQGwsdmzn1Eq7VyqfEY56qlHHcJ/vuBxoCV +iZb/xQlTBi4g+HXcBI9qClsAb0Bk/CxuLpq9gtVcGWdCgD4Kt8Mdz7z6uKpzOr89uJL jHUtJ0L6FQS3eRtXDUjCMCGEsiw6bsimV59goLb2+ZLeOQtmbVvN131YsY8xndK/Aqt/ KVMA== MIME-Version: 1.0 Received: by 10.68.189.161 with SMTP id gj1mr1108040pbc.21.1347971253292; Tue, 18 Sep 2012 05:27:33 -0700 (PDT) Received: by 10.66.73.42 with HTTP; Tue, 18 Sep 2012 05:27:33 -0700 (PDT) In-Reply-To: References: Date: Tue, 18 Sep 2012 13:27:33 +0100 Message-ID: To: internals@lists.php.net Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] RFC: Implementing a core anti-XSS escaping class From: padraic.brady@gmail.com (=?ISO-8859-1?Q?P=E1draic_Brady?=) Hi Derick, This is already available over composer. The RFC contains links to the two frameworks which have implemented Escapers in line with the RFC. The point of the RFC is to ensure a consistent API for escaping is available to all PHP programmers without resorting to userland solutions. Existing functions are widely misused, misconfigured or have builtin security issues yet are popularly advanced as "escaping" for XSS. XSS is also...XSS. It's either the first or second most common vulnerability in web applications (depending on whose data you use). I think it warrants PHP distributing a proper solution out of the box. Paddy On Tue, Sep 18, 2012 at 1:11 PM, Derick Rethans wrote: > On Tue, 18 Sep 2012, P=E1draic Brady wrote: > >> I've written an RFC for PHP over at: https://wiki.php.net/rfc/escaper. >> The RFC is a proposal to implement a standardised means of escaping >> data which is being output into XML/HTML. >> >> Cross-Site Scripting remains one of the most common vulnerabilities in >> web applications and there is a continued lack of understanding >> surrounding how to properly escape data. To try and offset this, I've >> written articles, attempted to raise awareness and wrote the >> Zend\Escaper class for Zend Framework. Symfony 2's Twig has since >> adopted similar measures in line with its own focus on security. >> >> That's all. The RFC should be self-explanatory and feel free to pepper >> me with questions. As the RFC notes, I'm obviously not a C programmer >> so I'm reliant on finding a volunteer who's willing to take this one >> under their wing (or into their basement - whichever works). >> >> https://wiki.php.net/rfc/escaper > > I understand that this is really beneficial to have, but, I wonder, why > can't this be a composer-installable class, implemented in PHP? It > solves the issue that you need to find a volunteer, as well as that > updating it is a lot easier, and, you don't have to rely on shared > hosters having it enabled. > > I realize that you want to have this > generally available, but for that we have ext/filter - which is not > really used too much I *think*. Why would this be different? IMO, we > should make a composer installable package for this, and then litter all > our escaping related document pages with links to this new package. > > cheers, > Derick > > -- > http://derickrethans.nl | http://xdebug.org > Like Xdebug? Consider a donation: http://xdebug.org/donate.php > twitter: @derickr and @xdebug > Posted with an email client that doesn't mangle email: alpine -- P=E1draic Brady http://blog.astrumfutura.com http://www.survivethedeepend.com Zend Framework Community Review Team --=20 P=E1draic Brady http://blog.astrumfutura.com http://www.survivethedeepend.com Zend Framework Community Review Team