PHP -. Komut satırından Arama php dosyası herhangi bir çıktı üretir

0 Cevap php

Ben shell_exec () kullanarak girmek ve çıkış gösteriyor komutları çalıştırmak için basit bir cmd.php sayfa var.

  • PHP, CGI gibi is koşu
  • "Php-v" girme ve çoğu sadece göstermek buyurur: sonra "Content-type text / html" ve geçerli sayfanın HTML kaynak.
  • Ancak, geçersiz bir parametre ile PHP çağırarak (/usr/bin/php -z) PHPs kullanımı gösterir:

    Usage: php [-q] [-h] [-s] [-v] [-i] [-f ] php [args...]

    etc...

Ben ne demek istediğimi göstermek için görüntülerin bir çift bağlı.

PHP -v beklenen çıktıyı üretmek değil

PHP -v doesnt title= üretmek -v

PHP -z PHP'nin kullanımını gösterir

PHP -z PHP's usage gösterir

Herhangi bir fikir?

Edit

cmd.php

<?php

    if ( isset ( $_POST['submit'] ) ) :

        $response = shell_exec ( escapeshellcmd ( stripslashes ( $_POST['cmd'] ) ) );

    endif;

?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <style type="text/css">
            pre#response { border: 1px solid #e0e0e0; padding: .5em; }
        </style>
        <title>Command</title>
    </head>
    <body>
        <form action="cmd.php" method="post">
            <p><input type="text" name="cmd" id="cmd" value="<?php echo @htmlspecialchars ( stripslashes ( $_POST['cmd'] ) ); ?>" size="50" />
            <button type="submit" name="submit" id="submit" value="Submit">Submit</button>
            </p>
        </form>


        <?php
        if ( isset ( $response ) ) :
        ?>

            <pre id="response"><?php

                if ( empty ( $response ) ) :
                    echo 'No response.';
                else :
                    echo htmlspecialchars ( $response );
                endif;
            ?></pre>

        <?php
        endif;
        ?>

    </body>
</html>

0 Cevap