Ticket #313 (closed defect: fixed)

Opened 8 months ago

Last modified 6 months ago

SES URL parsing not working on all web servers

Reported by: derekhed Owned by: scorfield
Type: defect Priority: Normal
Milestone: Fusebox 5.5.1 Component: Miscellaneous
Version: 5.5 Severity: normal
Keywords: SES Cc:

Description

Fusebox 5.5 release notes suggest that SES URLs should now be processed by the core framework. The framework does not properly distinguish between the attributes and the script name in the URL in all cases (IIS 5.0/CF MX fail).

Attachments

Change History

Changed 8 months ago by derekhed

Some servers give different values for CGI.PATH_INFO. It appears that IIS 5 includes the entire URL from root to the last attribute, thus everything before CGI.SCRIPT_NAME would need to be pulled off before the attributes could be harvested. I have posted some code to replace the appropriate block in the myFusebox.cfc on the forums at:
http://www.fusebox.org/forums/messageview.cfm?catid=31&threadid=6294

This still needs more testing with other web servers.

Changed 8 months ago by scorfield

  • status changed from new to accepted
  • milestone set to Fusebox 5.5.1

It looks like I need to update the code to test left(CGI.PATH_INFO,len(CGI.SCRIPT_NAME)) is CGI.SCRIPT_NAME and if so ignore that prefix... since IIS puts the entire path into PATH_INFO :(

Changed 8 months ago by scorfield

  • status changed from accepted to closed
  • resolution set to fixed

(In [682]) Fixes #313 (I think) by stripping leading CGI.SCRIPT_NAME from front of CGI.PATH_INFO if present.

Changed 7 months ago by derekhed

  • status changed from closed to reopened
  • resolution deleted

Line 133 of myFusebox.cfc in the core files needs to read:
<cfif len(pathInfo) gt len(CGI.SCRIPT_NAME) and left(pathInfo,len(CGI.SCRIPT_NAME)) is CGI.SCRIPT_NAME>

The only change here is the GTE needs to become a GT. This is because if the two values being compared are the same, then the right() function on line 134 has a zero as its second parameter, which is illegal.

Thanks!
Derek Hedstrom

Changed 6 months ago by scorfield

  • status changed from reopened to closed
  • resolution set to fixed

(In [699]) Fixes #313 by correcting off-by-one error on file path test. Thanx Derek!

Note: See TracTickets for help on using tickets.