#41783 [NEW]: some bad urls produce a mangled page
| From: | gs06897 at yahoo dot com | Date: | Fri, 22 Jun 2007 23:05:53 +0000 |
| Subject: | #41783 [NEW]: some bad urls produce a mangled page | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-114095@lists.php.net to get a copy of this message | ||
From: gs06897 at yahoo dot com
Operating system: linux and windows
PHP version: 4.4.7
PHP Bug Type: URL related
Bug description: some bad urls produce a mangled page
Description:
------------
URLs like: http://www.mywebsite/mypage.php/mypage.php
produce a mangled
version of the 'mypage.php' page where 'mypage.php' is not a directory
containing a page called 'mypage.php', but where 'mypage.php' is a real and
accessible php script on the web site.
Please don't hit the following URL frequently as the mangled pages are
destroying us in bandwith usage:
http://www[dot]seaoftranquility[dot]org/reviews.php/reviews.php
Sorry about the [dot] edit.
Actually, it doesn't really matter what you type after the last slash.
Somehow PHP is realising that there is a page called 'reviews.php', or
whatever--as long as the page is valid--and trying to return the page, but
not being terribly successful about it. It's like the 'directory'
cyclically resolves the script, but them PHP gets throroughly confused
about what to serve.
The header returned is 200 (Ok), and this is what becoming a problem with
search engines linking to the bad URLs.
I've been able to produce this on three different versions of PHP, and on
servers running two different versions of Apache and PHP on Linux, as well
as a Microsoft IIS server with PHP. All using different web sites and
different PHP code.
Truly non-existent pages are correctly rejected with 404 Not Found.
Expected result:
----------------
404 Not Found should be sent in the header, instead of PHP sending a
partial page.
Actual result:
--------------
Web server returns status 200 (Ok) along with PHP decoding and producing
only a partial, mangled version of the actual PHP-generated page.
--
Edit bug report at http://bugs.php.net/?id=41783&edit=1
--
Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=41783&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=41783&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=41783&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=41783&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=41783&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=41783&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=41783&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=41783&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=41783&r=support
Expected behavior: http://bugs.php.net/fix.php?id=41783&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=41783&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=41783&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=41783&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=41783&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=41783&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=41783&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=41783&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=41783&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=41783&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=41783&r=mysqlcfg