[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