PHPerKaigi 2021

Caso 2: usando cgi.force_redirect

A configuração da diretiva cgi.force_redirect previne qualquer um chamar diretamente o PHP com uma URL do tipo http://my.host/cgi-bin/php/secretdir/script.php. Ao invés disso, PHP só irá executar dessa forma se tiver passado por um servidor web com essa diretiva. Versões do PHP anteriores a 4.2.0 utilizavam a opção de compilação --enable-force-cgi-redirect para isso.

Normalmente o redirecionamento na configuração do Apache é feita com as seguintes diretivas:

Action php-script /cgi-bin/php
AddHandler php-script .php

Essa opção só foi testada com o servidor Apache, e confia no Apache para configura a variável de ambiente não-padrão do CGI REDIRECT_STATUS em requisições redirecionadas. Se seu servidor web não suporta nenhuma maneira de dizer se a requisição é direta ou rediracionada, você não pode usar essa opção e você deve usar uma das outras maneira de executar a versão do CGI documentada aqui.

add a note add a note

User Contributed Notes 1 note

up
9
celtic at sairyx dot org
14 years ago
Note that force-redirect doesn't work with IIS at all; it'll tell you to go away, as IIS doesn't supply the right variables to PHP.

php.ini tells you to turn it off, so make sure you do.
To Top