[analog-help] IE not running Perl

Aengus analog07 at eircom.net
Wed Oct 24 17:05:24 PDT 2007


On Wednesday, October 24, 2007 7:18 PM [EDT],
Jeremy Wadsack <jeremy at 7simplemachines.com> wrote:

> You can't make this change in anlgform.pl - it's encoded into analog
> under the 'CGI' behavior. In fact, all anlgform.pl does is put a
> protective wrapper around Analog (as well as the form parsing) for CGI
> use.
>
> Also, to clarify Aengus's statement, I don't believe that adding a
> Content-type header output in anlgform.pl will help as Analog will
> still output it's own and I'm pretty certain that if more than one of
> the same header is read, browsers generally take the last one.
>
> You'll have to hack to source code to change this, or get into the web
> server and override it. I can't recall for certain, but IIS may have
> some ability to override headers from CGI's.

The Content-type: header is generated by outxhtml.c (or outhtml.c or 
outplain.c, etc) , and it only generates it if Analog is called with CGI ON. 
If you modify anlgform.pl so that it doesn't set CGI ON, then analog will 
generate the output without the header. You can then generate the header in 
anlgform.pl. CGI ON mode also does some other important stuff though - it 
assumes that parameters entered through a web form are untrusted, and 
escapes some characters before using them, so this is an unsafe way to 
tackle the problem.

Overriding the header at the server level isn't really a satisfactory 
solution either - unless you have a module that is smart enough to only 
over-ride it for IE browsers. IIS definitely provides support for filters 
that can do that sort of thing, but it's beyond my abilities, though it's a 
generic enough problem that someone might have written such a filter 
already.

Aengus 



More information about the analog-help mailing list