Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:54540 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 45430 invoked from network); 12 Aug 2011 14:12:14 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Aug 2011 14:12:14 -0000 Authentication-Results: pb1.pair.com header.from=laruence@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=laruence@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.170 as permitted sender) X-PHP-List-Original-Sender: laruence@gmail.com X-Host-Fingerprint: 209.85.220.170 mail-vx0-f170.google.com Received: from [209.85.220.170] ([209.85.220.170:56226] helo=mail-vx0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 8B/C1-40016-CB4354E4 for ; Fri, 12 Aug 2011 10:12:13 -0400 Received: by vxh24 with SMTP id 24so2723713vxh.29 for ; Fri, 12 Aug 2011 07:12:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=JTsyzeM9tBx6PROb5I1pYc+cZsrZMYMZSs+7n+vHKtA=; b=jVIHrm18rZAdkH7EyQhokFuOHjTBP+2jUToDz+jvTU6QA1CoP7kbapACOeILNVDz9e 3Cb0vnALfIFfTxR6DJqWcTZjVM4npfuSog9O37q7Kb87GAUYe8LDYOu3BU/Rp2EK8U1x gdbqLgRKH4+B2Pi37NYSj06ejwrPGCivKLbjk= MIME-Version: 1.0 Received: by 10.220.152.147 with SMTP id g19mr226713vcw.260.1313158329626; Fri, 12 Aug 2011 07:12:09 -0700 (PDT) Sender: laruence@gmail.com Received: by 10.220.184.76 with HTTP; Fri, 12 Aug 2011 07:12:09 -0700 (PDT) In-Reply-To: References: Date: Fri, 12 Aug 2011 22:12:09 +0800 X-Google-Sender-Auth: YbC_1_3QDr_WzMN6OCCka4rsf7o Message-ID: To: Ferenc Kovacs Cc: Derick Rethans , PHP Internals Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] behavior of translating dot in the query variable name into underscore character From: laruence@php.net (Laruence) Hi: I am goot at debate as my poor english, I try to make my point clearly, that is , I think there is one reason to do this change, that is "what you saw should be what you get", this behavior confused any pepole who meet this issue first, and need explained by document, I agree with Tyral:"it would be really awkward keeping this workaround much longer for a design problem which isn't there anymore." thanks 2011/8/12 Ferenc Kovacs : > On Fri, Aug 12, 2011 at 3:20 PM, Derick Rethans wrote: >> On Fri, 12 Aug 2011, Laruence wrote: >> >>> =C2=A0 =C2=A0 =C2=A0a request uri : http://***/a.b=3D2 =C2=A0will resul= t $_GET["a_b"] =3D 2 ( >>> the dot was translated into underscore char); >>> >>> =C2=A0 =C2=A0 =C2=A0my point is , since register_globals has be removed= already( in >>> my opinion this behavior only make sence when register_globals on), >>> should we remove this translating behavior too? >> >> No. No reason to change anything that isn't broken. Chanhing this will >> mean a BC break, even for people that don't use register_globals. >> > > it is broken, we just sucked it up. > if we would both provide the foo_bar and foo.bar: > > - if your code expects foo.bar to be foo_bar, it's there. > - if you expect foo.bar, it's also fine. > - if you did a workaround in the past (parse the query string > manually), that would also work, in the worst case, you would > overwrite the foo.bar with the same value. > > so it's not much userland BC (not until we remove the foo_bar syntax), > except maybe if you do some really strict input validation (abort if > there is an request variable not specified in the whitelist). > I don't mind if this only ships with the next minor or major version, > but it would be really awkward keeping this workaround much longer for > a design problem which isn't there anymore. > > -- > Ferenc Kov=C3=A1cs > @Tyr43l - http://tyrael.hu > --=20 Laruence =C2=A0Xinchen Hui http://www.laruence.com/