Wie kann der von SetEnv festgelegte Wert durch Ändern von Headern im Browser geändert werden?

Wie kann der von SetEnv festgelegte Wert durch Ändern von Headern im Browser geändert werden?

Ich arbeite mit einem Apache-Server-Setup, bei dem wir SetEnv im virtuellen Host verwenden möchten, um zu definieren, ob der Code in der Entwicklung, Beta oder Produktion ausgeführt wird. Die eigentliche Webanwendung läuft aufColdfusion 8/JRun. Ich habe den Wert im virtuellen Host mit dem folgenden Code festgelegt:

<VirtualHost *:80>
...
SetEnv COLDFUSION_ENVIRONMENT development 
...
</VirtualHost>

Die App liest diesen Wert problemlos. Wenn ich jedoch das Plugin „Modify Headers“ in Firefox verwende, um einen Header namens COLDFUSION_ENVIRONMENT mit einem anderen Wert, z. B. foobar, zu senden, wird in der Anwendung der vom Browser kommende Wert verwendet und nicht der im virtuellen Host definierte Wert. Die Frage ist natürlich, warum und wie ich das verhindern kann. Die Verwendung einer Umgebungsvariable scheint recht üblich zu sein, um zu bestimmen, auf welchem ​​Server eine App ausgeführt wird. Wenn dies also tatsächlich die Vorgehensweise ist, sieht das für mich nach einer ziemlich großen Sicherheitslücke aus, da es die Möglichkeit eröffnen würde, auf dem Produktionsserver in den Entwicklungsmodus zu wechseln ... Gibt es eine andere bewährte Methode, dies in Coldfusion zu tun?

Aktualisieren:

Ich konnte das ursprüngliche Problem umgehen, indem ich anstelle von SetEnv Folgendes verwendet habe:

<VirtualHost *:80>
...
RequestHeader set COLDFUSION_ENVIRONMENT development
...
</VirtualHost>

Es fühlt sich jedoch immer noch wie ein Hack an und ich würde immer noch gerne wissen, warum Coldfusion SetEnv-Werte grundsätzlich ignoriert, wenn Sie sie als Header senden, und auch, ob es eine bewährte Methode gibt oder nicht.

Antwort1

Wenn Sie einfach den CGI-Bereich mit CFDUMP prüfen, werden keine benutzerdefinierten Umgebungsvariablen ausgegeben. Es wird nur eine vordefinierte Liste von CGI-Variablen ausgegeben.

verwandte Informationen