Citat:
Ursprungligen postat av hnn
Kod:
<?php
$vars = array();
//gör lite checks
if($_GET['request_param1'] == x)
{
$vars['param1'] = $_GET['request_param1'];
// lägg till en tredje parameter
// $_GET['request_param3'] = z;
$vars['request_param3'] = z;
}
//Kolla något helt annat , till exempel ingående ip:
if($_SERVER['REMOTE_ADDR'] == '1.2.3.4'){
//gör något
}
$param = '';
foreach($vars as $k => $v)
{
$param .= ' --' . $k . '='. $v;
}
// kalla på mitt ursprungliga cgi och returnera resultatet till browsern:
// Här vet jag inte riktigt hur jag ska göra... kanske så här:
echo shell_exec('/usr/lib/cgi-bin/mincgi ' . $param);
Något sånt här?
|
Tack!
Nu var det inte så enkelt för just detta CGI, som inte gillar att initieras annat än från en httpd-server.
Som tur tar cgi:t emot miljövariabler så jag får skriva ett litet bashscript som sätter miljövariabler så att det fungerar.
Först ett phpscript som kallar ett wrapper bashscript som körs som cgi.
Vet inte om jag krånglat till det men det fungerar i alla fall och jag slipper visa upp onödigt mycket variabler i den ursprungliga requesten.